查找:數據庫
locate 關鍵字spa
注意: 此命令須要預先創建數據庫,數據庫默認一天更新一次。因此若是剛剛創建的新文件,通常是不會被locate到的。.net
若是須要用locate查找剛剛創建的新文件,須要更新數據庫——更新數據庫須要用命令updatedb索引
另外,locate命令搜索的是整個系統下的關鍵字。
get
find 查找位置 查找參數date
查找位置:目錄名稱搜索
若是是整個目錄文件,則用/遍歷
若是是當前目錄文件,則用.權限
查找參數:
下載
find . -name *關鍵字*
find / -name *.後綴名
find / -perm 777 注意:777實際上是16禁止數,二進制爲011101110111,表明文件權限。
find / -type d
d 目錄
l 連接
find . -name "*a" -exec ls -l {} \;
顯示全部以a開頭的文件的詳細信息。紅色部分爲固定格式。
[neil@localhost ~]$ find -name "kd"
[neil@localhost ~]$ find -name "kd*"
./下載/kd05.ppt.gz
[neil@localhost ~]$ ^C
[neil@localhost ~]$ find . -name "kd*"
./下載/kd05.ppt.gz
[neil@localhost ~]$
find命令搜索的是名字參數是通配符,而不是關鍵字,因此之輸入「kd」沒法獲得含有「kd」串的文件。
在不輸入查找位置的狀況下,應該是查找了整個系統目錄,第二次輸入的命令在獲得了一條記錄以後一直在運行爲中止。
在Ctrl+C結束以後,加入當前位置符號「.」,迅速獲得結果並完成結束。
[neil@localhost ~]$ find . -name "kd*" -exec ls -l {} \;
-rw-rw-r--. 1 neil neil 2537229 10月 19 16:54 ./下載/kd05.ppt.gz
[neil@localhost ~]$ find . -name "kd*" -exec touch {} \;
[neil@localhost ~]$ find . -name "kd*" -exec ls -l {} \;
-rw-rw-r--. 1 neil neil 2537229 1月 18 14:20 ./下載/kd05.ppt.gz
上面分別實驗了find與ls -l、touch兩條命令分別結合。
後先將kd開頭的文件顯示詳細信息,注意其文件創建更新時間。
以後將kd開頭的文件進行更新。
最後再次將kd開頭的文件顯示詳細信息,注意其文件創建更新時間。發現先後時間已經不一樣了,說明第二個命令也是有效的。以此類推,咱們之後還能夠將find與rm等命令結合使用。
find
-name
-perm
-user 查找某用戶的文件
-group
-ctime
-type
-size
——————————————————————————————————————————————
find命令比locate命令速度要慢。緣由就死locate是遍歷的數據庫,至關於遍歷文件索引,因此快速;可是updatedb是須要一些時間的。
find命令就是通常的遍歷文件系統,因此稍慢些。