使用find命令查找大文件


使用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命令還可以與其他命令結合使用,例如lssort對這些文件執行操作。

在下面的示例中,我們傳遞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

讓我們分解命令:

  • find . -xdev -type f -size +100M -print- 僅搜索當前工作目錄(.)中的 文件(-type f),大於100MB(-size +100M),不要查找其他文件系統上的目錄(-xdev)並在標准輸出上打印完整文件名,然后是新的一行(-print) 。
  • xargs ls -lhfind命令的輸出通過管道xargs執行,ls -lh命令將以長列表可讀格式打印輸出。
  • sort -k5,5 -h -r- 基於第5列(-k5,5)對行進行排序,以可讀格式(-h)的值並反轉結果(-r)。
  • head :僅打印管道輸出的前10行。

find命令帶有許多強大的選項。例如,您可以搜索超過多少天的大文件,具有特定擴展名的大文件或屬於特定用戶的大文件。

使用du命令查找大文件和目錄

du命令用於估計文件空間使用情況,對於查找占用大量磁盤空間的目錄和文件特別有用。

以下命令將打印最大的文件和目錄:

du -ahx . | sort -rh | head -5

第一列包含文件大小,第二列包含文件名:

55G	.
24G	./.vagrant.d/boxes
24G	./.vagrant.d
13G	./Projects
5.2G	./.minikube

命令說明:

  • du -ahx .:估算當前工作目錄(.)中的磁盤空間使用情況,包括文件和目錄(a),以比較接近人的常見可讀格式打印大小(h)並跳過不同文件系統上的目錄(x)。
  • sort -rh:通過可讀格式(-h)的值並反轉結果(-r)來對輸出行進行排序。
  • head -5 :僅打印管道輸出的前5行。

結論

當磁盤已滿並且您想要釋放它時,查找大文件非常有用。

現在您已經找到了系統中最大的文件,您可能需要閱讀有關如何使用Linux命令行刪除文件和目錄的指南。如果您有任何問題或意見,請在下面留言。如果你喜歡我們的內容可以選擇在下方二維碼中捐贈我們,或者點擊廣告予以支持,感謝你的支持

如果你喜歡我們的內容可以選擇在下方二維碼中捐贈我們,或者點擊廣告予以支持,感謝你的支持

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM