Linux搜尋文件或目錄命令解析

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/  \;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章