Linux文件管理知識查找文件
Linux文件管理知識:查找文件
前幾篇文章一一介紹了LINUX進程管理控制命令及網絡層面的知識體系,綜所周知,一個linux系統是由很多文件組成的,那么既然有那么多文件,那我們該如何管理這些文件呢?
(資料圖)
Linux中的所有數據都是以文件形式存在的,那么所有文件分別被歸類到不同的文件系統中。而文件系統則是一種樹型結構,通俗的理解為目錄。
在linux系統中,你所做的每一步操作及所執行的每個命令都是基于文件系統底層邏輯來呈現出來的。
說到管理linux文件,首先您得先找見它!通過本節可以了解linux的文件管理第一步:查找文件等。今天這篇文章主要介紹下兩個用來在linux系統中查找文件的工具或者命令程序。
? locate –通過名稱來查找文件
? find – 在一個目錄層次結構中搜索文件
locate - 查找文件的簡單方法
locate 命令程序會執行一次快速的路徑名數據庫搜索進程,并且輸出結果是與給定字符串相匹配的路徑名稱。locate 命令程序只能依據文件名來查找文件。
例如,找到所有名字以“zip”開頭的文件:
[root@linuxprobe ~]$ locate bin/zip
locate 命令程序執行搜索路徑名數據庫進程,并輸出任一個包含字符串“bin/zip”的路徑名:
/usr/bin/zip
/usr/bin/zipgrep
/usr/bin/zipinfo
/usr/bin/zipsplit
或者結合其它命令工具,例如grep 命令,來執行更全面的搜索:
[root@linuxprobe ~]$ locate zip | grep bin
/bin/bunzip2
/bin/bzip2
/bin/gunzip
/bin/gzip
/usr/bin/funzip
/usr/bin/gpg-zip
/usr/bin/prezip
/usr/bin/prezip-bin
/usr/bin/unzip
/usr/bin/zip
/usr/bin/zipgrep
/usr/bin/zipinfo
/usr/bin/zipsplit
擴展知識:
有時候locate命令程序不能正常工作,但是呢第二天它就正常工作了。解決方法:首先轉換為超級用戶身份,在提示符下運行updatedb 命令,可以手動運行updatedb 命令程序即可。
目前,不同版本的Linux發行版中locate 命令程序有很多演變,不過它們都會擁有一定重疊的選項集合,可通過查看locate 命令的手冊來確定安裝了哪個版本的locate 命令程序。
find - 查找文件的高階之路
find 命令程序支持基于給定的各種屬性搜索查找文件。find 命令程序的魅力所在就是它能夠找到符合特定標準屬性的文件。
最簡單的查找方式:find 命令程序支持接收多個目錄名來執行搜索查找。
例如:
[root@linuxprobe ~]$ find ~ //輸出家目錄的路徑名列表
可想而知,查找結果會產生很大的列表。那我們可以嘗試使用wc 命令程序來計算并顯示出文件的數量:
[root@linuxprobe ~]$ find ~ | wc
-l46052
find 命令程序支持的常見文件類型測試條件如下:
表: find 文件類型
文件類型 | 描述 |
b | 塊特殊設備文件 |
c | 字符特殊設備文件 |
d | 目錄 |
f | 普通文件 |
l | 符號鏈接 |
例如:
查找所有文件名匹配通配符模式“*.JPG”和文件大小大于1M 的普通文件:
[root@linuxprobe ~]$ find ~ -type f -name "*.JPG" -size +1M | wc -l
237
//引入-name 測試條件,后面跟通配符模式。
//雙引號引起來的作用就是阻止shell 展開路徑名進程。
//引入-size 測試條件,后跟字符串“+1M”。加號“+”代表正在尋找文件大小大于指定數的文件。若以減號“-”開頭,那就代表查找小于指定數的文件。若沒有符號意味著“精確匹配這個數”。字母“M”表明測量單位是兆字節。測量單位的指定如下表:
表: find 大小單位
字符 | 單位 |
b | 512 個字節塊。如果沒有指定單位,則這是默認值。 |
c | 字節 |
w | 兩個字節的字 |
k | 千字節(1024 個字節單位) |
M | 兆字節(1048576 個字節單位) |
G | 千兆字節(1073741824 個字節單位) |
以上列出的只是冰山一角,find 命令手冊有更詳細的說明。
總結:
find 命令程序搜索目錄樹以查找一個文件或一組文件。它遍歷目錄樹并報告與用戶規范匹配的文件的所有匹配項。查找程序包括非常強大的搜索功能。
locate 程序掃描一個或多個文件名數據庫,并顯示任何匹配項。如果文件在上次文件名數據庫更新期間存在,則可以將其用作非??焖俚牟檎颐睢?/p>
當然,linux文件類型是不可或缺的一部分,在Linux中,基本的文件類型有以下三種:
1) 普通文件
普通文件基本包括文本文件、源碼文件、可執行文件等。
2) 目錄
目錄可以包含普通文件和特殊文件,目錄相當于Windows系統和Mac 系統中的文件夾。
3) 設備文件
設備文件就是Linux 與外部設備(如光驅,打印機等)進行通信所必需的文件。
關于linux系統文件查找命令的運用魅力不止如此,今天的介紹僅僅一小部分,所以強烈建議大家可以參考下《GNU Findutils 4.9.0》及《linux就該這么學》這兩本書,對于linux系統文件管理層面的介紹很詳細!
關鍵詞:
相關文章
精彩推送
荷蘭銀行表示,歐洲央行將在今年剩余時間內避免提高借貸成本,并在3月開始降息,使得截至2024年底存款利率降至2%。宏觀和金融市場研究主管NickKounis在一份給客戶的報告中表示
荷蘭銀行表示,歐洲央行將在今年剩余時間內避免提高借貸成本,并在3月