Linux系統經常使用命令(四)

查找:數據庫


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命令就是通常的遍歷文件系統,因此稍慢些。

相關文章
相關標籤/搜索