隨著時間的推移,磁碟機可能會被大量佔用大量磁碟空間的不必要檔案弄得亂七八糟,從而導致Linux裝置的磁碟空間不足。那麼如何查找這些大文件呢?以下這篇文章就來跟大家介紹在Linux中使用find和du指令來找出最大檔案和目錄的方法,希望對大家有幫助。
使用find指令找大檔案
find指令是Linux系統管理員工具庫中最強大的工具之一。它允許用戶根據不同的標準(包括檔案大小)搜尋檔案和目錄。
例如,如果要搜尋大小超過100MB的文件,則可以在目前工作目錄中使用以下命令:
sudo find . -xdev -type f -size +100M
說明:可以將「.」替換為要搜尋最大文件的目錄的路徑。
輸出將顯示沒有任何其他資訊的檔案清單。
/var/lib/libvirt/images/centos-7-desktop_default.img /var/lib/libvirt/images/bionic64_default.img /var/lib/libvirt/images/win10.qcow2 /var/lib/libvirt/images/debian-9_default.img /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img /var/lib/libvirt/images/centos-7_default.img
find指令也可以與其他工具(如ls或sort)結合使用,對這些檔案執行操作。
例如:我們將find命令的輸出傳遞給ls,ls將輸出每個找到的檔案的大小,然後透過管道將輸出傳遞給sort命令,根據第5列的檔案大小對其進行排序。
find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r
就會實現以下輸出:
-rw------- 1 root root 40967M Jan 5 14:12 /var/lib/libvirt/images/win10.qcow2 -rw------- 1 root root 3725M Jan 7 22:12 /var/lib/libvirt/images/debian-9_default.img -rw------- 1 root root 1524M Dec 30 07:46 /var/lib/libvirt/images/centos-7-desktop_default.img -rw------- 1 root root 999M Jan 5 14:43 /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img -rw------- 1 root root 562M Dec 31 07:38 /var/lib/libvirt/images/centos-7_default.img -rw------- 1 root root 378M Jan 7 22:26 /var/lib/libvirt/images/bionic64_default.img
如果輸出包含大量訊息,我們也可以使用head指令僅輸出前10行:
find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r | head
讓我們來分解、理解上述指令:
1、find . -xdev -type f -size 100M -print
:在目前工作目錄(.)中搜尋(-type f)大於100MB(-size 100M)的文件,不要降低其他文件系統(-xdev)上的目錄,在標準輸出上輸出完整的文件名,然後換行輸出(-print)。
1、xargs ls -lh
:使用xargs執行ls-lh指令,該指令將以人類可讀的長列表格式顯示輸出。
3、sort -k5,5 -h -r
:根據第5列(-k5,5)來對行進行排序,比較人類可讀格式(-h)並反轉結果(-r)。
4、head
:只顯示管道輸出的前10行。
find指令有很多強大的選項。例如,可以搜尋大於x天的大檔案、具有特定副檔名的大檔案或屬於特定使用者的大檔案。
使用du指令尋找大檔案和目錄
#du指令用於估計檔案空間使用情況,對於尋找佔用大量磁碟空間的目錄和文件特別有用。
使用下列指令將輸出最大的檔案和目錄:
du -ahx . | sort -rh | head -5
輸出:
55G. 24G./.vagrant.d/boxes 24G./.vagrant.d 13G./Projects 5.2G./.minikube
#指令說明:
##1、du -ahx .:估計目前工作目錄(.)中的檔案空間使用情況,同時計算檔案和目錄(a),以人類可讀格式(h)輸出大小,並跳過不同文件系統(x)上的目錄。
sort -rh:透過比較人類可讀格式(-h)對行進行排序,並反轉結果(-r)。
head -5 :僅輸出管道輸出的前5行。
Linux教學》
以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以追蹤php中文網相關教學欄位! ! !以上是Linux中如何查找大檔案? (程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!