which 查看可執行文件的位置
whereis 查看文件位置
locate 配合數據庫查看文件位置
find 實際搜尋硬盤查詢文件名稱
下面對這些命令及參數進行具體分析
which 通過PATH環境變量到該路徑內尋找可執行文件。
whereis
-b 只找二進制文件
-m manual路徑下的文件
-s source源文件
-u 沒有說明文檔的文件
locate 是從數據庫/var/lib/slocate中查找數據,不在硬盤中直接存取數據,但是它有一定的限制性,就是數據庫的更新默認是每週執行一次,所以,在數據庫更新之前新建的文件會會找不到,必須要在更新數據庫之後。
下面重點介紹一下文件查詢工具“find”命令。
1 -name 按照文件名查找,如:
find /etc -name *.txt
find / -name “*.png”
2 -user 按照文件屬主查找,如:
find / -user Joy
3 “-o”和“-not”,如:
find / -name “.png” -o -user Joy
4 -perm 按照文件權限查找,如:
find ./ -perm +444
其中 –perm mode 表示精確查找
find /home -perm 764
-perm /mode 表示至少要有一個滿足
find ./ -perm /444
-perm -/mode 表示3個都必須滿足
find ./ -perm -/444
5 -size 按照文件大小查找,如:
find ./ -size 2M 在根目錄下查找文件大小爲2M的文件
但這裏有個特殊情況,例如:
假設在 /wang目錄下,有三個文件a,b,c,文件大小分別爲10k,0M,2M. 這時輸入命令:
find /wang -size -1M 在/wang目錄下查找大小小於1M的文件,這時的輸出結果只有b文件,因爲它這時是以M爲衡量單位的,a=10k被衡量爲10M。
6 -type 按照文件類型查找,其中
f 一般文件
d 目錄
l 鏈接文件
b 塊設備文件
c 字符設備文件
p 管道文件
s socket文件
如:
find ./ -type f 在”./”目錄下查找一般文件
7 -atinme, -mtime, -ctime 根據時間查找(默認單位爲天),如:
find /tmp -ctime +10
find ./ -newer a.txt 查找比a.txt文件訪問時間更短的文件
下面介紹一下找到這些文件後怎麼對他們操作?
這樣的命令有“-exec”和“-ok”,其中,“-exec”是直接執行,“-ok”是執行前總詢問。如:
find -size +10M -ok mv {} /tmp/largefiles/ \;