溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux中查找大文件的方法

發(fā)布時(shí)間:2020-08-26 14:01:45 來(lái)源:億速云 閱讀:293 作者:小新 欄目:建站服務(wù)器

這篇文章給大家分享的是有關(guān)Linux中查找大文件的方法的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。

隨著時(shí)間的推移,磁盤(pán)驅(qū)動(dòng)器可能會(huì)被大量占用大量磁盤(pán)空間的不必要文件弄得亂七八糟,從而導(dǎo)致Linux設(shè)備的磁盤(pán)空間不足。那么如何查找這些大文件?

Linux中查找大文件的方法

使用find命令查找大文件

find命令是Linux系統(tǒng)管理員工具庫(kù)中最強(qiáng)大的工具之一。它允許用戶根據(jù)不同的標(biāo)準(zhǔn)(包括文件大小)搜索文件和目錄。

例如,如果要搜索大小超過(guò)100MB的文件,則可以在當(dāng)前工作目錄中使用以下命令:

sudo find . -xdev -type f -size +100M

說(shuō)明:可以將“.”替換為要搜索最大文件的目錄的路徑。

輸出將顯示沒(méi)有任何其他信息的文件列表。

/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)結(jié)合使用,對(duì)這些文件執(zhí)行操作。

例如:我們將find命令的輸出傳遞給ls,ls將輸出每個(gè)找到的文件的大小,然后通過(guò)管道將輸出傳遞給sort命令,根據(jù)第5列的文件大小對(duì)其進(jìn)行排序。

find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r

就會(huì)實(shí)現(xiàn)以下輸出:

-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

讓我們來(lái)分解、理解一下上述命令:

1、find . -xdev -type f -size +100M -print:在當(dāng)前工作目錄(.)中搜索(-type f)大于100MB(-size+100M)的文件,不要降低其他文件系統(tǒng)(-xdev)上的目錄,在標(biāo)準(zhǔn)輸出上輸出完整的文件名,然后換行輸出(-print)。

1、xargs ls -lh:使用xargs執(zhí)行l(wèi)s-lh命令,該命令將以人類(lèi)可讀的長(zhǎng)列表格式顯示輸出。

3、sort -k5,5 -h -r:根據(jù)第5列(-k5,5)來(lái)對(duì)行進(jìn)行排序,比較人類(lèi)可讀格式(-h)并反轉(zhuǎn)結(jié)果(-r)。

4、head :只顯示管道輸出的前10行。

find命令有很多強(qiáng)大的選項(xiàng)。例如,可以搜索大于x天的大文件、具有特定擴(kuò)展名的大文件或?qū)儆谔囟ㄓ脩舻拇笪募?/p>

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

du命令用于估計(jì)文件空間使用情況,對(duì)于查找占用大量磁盤(pán)空間的目錄和文件特別有用。

使用以下命令將輸出最大的文件和目錄:

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

輸出:

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

命令說(shuō)明:

1、du -ahx .:估計(jì)當(dāng)前工作目錄(.)中的文件空間使用情況,同時(shí)計(jì)算文件和目錄(a),以人類(lèi)可讀格式(h)輸出大小,并跳過(guò)不同文件系統(tǒng)(x)上的目錄。

2、sort -rh:通過(guò)比較人類(lèi)可讀格式(-h)對(duì)行進(jìn)行排序,并反轉(zhuǎn)結(jié)果(-r)。

3、head -5 :僅輸出管道輸出的前5行。

du命令包含其他選項(xiàng),您可以使用這些選項(xiàng)來(lái)優(yōu)化磁盤(pán)空間使用的輸出。

感謝各位的閱讀!關(guān)于Linux中查找大文件的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI