使用find 命令查找文件系統(tǒng)中的空間使用:
root:~# find / -path /proc -prune -o -path /dev -prune -o -path /sys -prune -o -path /run -prune -o -size +100M -type f -exec du -hs {} \; | sort -k1h | tail
其中 -prune 一般必須和-path 一起使用;并且-prune 后面的其他條件都需要 用邏輯 -o 進(jìn)行連接;
上述命令的意思是:
在根目錄下,查找size大于100M的文件,在查找過程中排除 /proc, /dev,/sys, /run 目錄,查找后統(tǒng)計各個文件的使用大小,然后用sort 命令進(jìn)行排序,最后取出使用較大的幾個文件;
關(guān)于-perm參數(shù)的理解:
在查看man 幫助文檔的時候,在-perm參數(shù)的說明中有“permission bits”的說法,這個說法是什么意思呢? 這個其實就是指所有的非0(可以是r,w,x中的任意一個)的權(quán)限設(shè)置,而并不是指permission的所有的bits. 理解了這個,就容易理解 -perm 的-mode 與 /mode的區(qū)別了;
關(guān)于-atime參數(shù)的理解:
atime, mtime,ctime的單位是24h, 也就是查找出的時間都是某個24小時為區(qū)間, 所以 n 就表示24*n 小時以上,但是(n+1)*24小時以內(nèi); -n 表示 n*24 小時以內(nèi)的;+n 表示 n*24小時以上的
關(guān)于-xdev, -print0 , -maxdepth參數(shù)的使用:
這個參數(shù)是 global option, 通常緊跟查找的path ,所以一般寫在最前面,表示只是查找當(dāng)前目錄所在的文件系統(tǒng),而不查找屬于其他文件系統(tǒng)的目錄,當(dāng)然了,該參數(shù)可以和 -path PATH -prune 配合使用;
-maxdepth 表示find 查找路徑的深度
-print0 主要是當(dāng)查找的文件包含 特殊符號時候的處理方式,可以和xargs -0 配合使用,非常有用;
如下表示:
查找根目錄所在的文件系統(tǒng),同時也要排除/home 目錄,查找修改時間是5*24小時以前,但是6*24小時以內(nèi)的文件, 查找深度最大為3, 最后 以print0 方式打印出來;
root:~# find / -xdev -maxdepth 3 -path /home -prune -o -mtime 5 -type f -print0