天天看點

面試官都在問 | Linux指令之find

面試官都在問 | Linux指令之find

0. 概述

在我們面試各大公司的時候,關于Linux往往最容易問到的問題之一就是Linux指令,而其中,能夠使用指令快速的查找的檔案已經成為了使用Linux系統的必備技能了,是以,面試官往往通過對于該指令的考察,擷取應聘者對Linux環境是否熟悉。我們結合海量面經,提取出最容易被問到的Linux當中查找檔案的指令以及指令行參數,供大家參考

  • 如何在指定的目錄下查找檔案
  • find指令的常用指令行參數都有哪些

1.Linux指令之find

1.1.簡述

​find​

​​指令用來在指定目錄下查找檔案。任何位于參數之前的字元串都将被視為欲查找的目錄名。如果使用該指令時,不設定任何參數,則​

​find​

​指令将在目前目錄下查找子目錄與檔案。并且将查找到的子目錄和檔案全部進行顯示

1.2 高頻選項
-name filename : 檔案名稱符合 filename 的檔案 , 大小寫敏感
-iname filname : 檔案名稱符合 name 的檔案,忽略大小寫
-empty : 空檔案
-size:指定檔案大小      
1.3 ​

​find [path] -name [filename]​

​ 指令
[Ann@localhost findtest]$ find ~ -name Linux 
/home/Ann/work/findtest/Linux      

​find​

​:find指令使用之起手式:

  • ​~​

    ​:在目前使用者的家目錄下進行搜尋,也可以傳入不同的目錄
  • ​-name​

    ​:find指令之-name指令行參數
  • ​Linux​

    ​:帶查找的檔案名稱
  • ​/home/Ann/work/findtest/Linux​

    ​:查找到在目前Ann使用者家目錄下存在的Linux檔案
1.4 ​

​find [path] -iname [filename]​

​ 指令
[Ann@localhost findtest]$ find ~ -iname linux
/home/Ann/work/findtest/Linux
/home/Ann/work/findtest/linux      
  • ​-iname​

    ​​:find指令之​

    ​-iname​

    ​指令行參數,​

    ​iname​

    ​在使用的時候,對大小寫不敏感,是以我們使用find指令的時候就搜出出來一下兩個檔案
  • ​/home/Ann/work/findtest/Linux​

    ​:‘L’字元大寫的Linux檔案
  • ​/home/Ann/work/findtest/linux​

    ​:‘l’字元小寫的linux檔案
1.5 ​

​find [path] -empty​

​指令

查找目前目錄下的空檔案

[Ann@localhost findtest]$ find . -empty 
./linux      
  • ​.​

    ​ :目前目錄
  • ​-empty​

    ​​:find指令之​

    ​-empty​

    ​指令行參數,使用該指令會羅列出指定目錄以及子目錄下的所有的空檔案

為了更好的使用​

​find​

​​指令,我們需要在了解一下​

​ls or ll​

​指令。

​ll​

​:ls -l指令的縮寫,檢視目前目錄下檔案或者檔案夾的屬性

[Ann@localhost findtest]$ ll
total 4
-rw-rw-r--. 1 Ann Ann  0 Apr 10 23:11 linux
-rw-rw-r--. 1 Ann Ann 21 Apr 10 23:12 Linux      
  • ​-rw-rw-r--​

    ​​:第一個’-'代表普通檔案, 後面​

    ​“rw-rw-r--”​

    ​代表檔案權限,該檔案權限為對于目前Ann使用者而言可讀可寫不可執行,對于Ann使用者組而言可讀可寫不可執行,對于其他使用者而言可讀不可寫不可執行
  • ​1​

    ​ :檔案連結數
  • ​Ann​

    ​:檔案所屬使用者
  • ​Ann​

    ​:檔案所屬使用者組
  • ​0或者21​

    ​:檔案大小,機關位元組
  • ​Apr 10 23:11​

    ​:檔案建立時間
  • ​linux或者Linux​

    ​:檔案名稱
1.6 ​

​find [path] -size [filesize]​

​指令

1.6.1 find之查找指定檔案大小

​find [path] -size [fileszie]​

​ : 查找定長的檔案

[Ann@localhost testfind]$ find . -size 5k
./findtest
[Ann@localhost testfind]$ ll
-rw-rw-r--. 1 wudu wudu 5060 Apr 14 23:51 findtest      

-size 5k:查找檔案大小為5k的檔案

1.6.2 find之查找區間檔案大小

​find [path] -size +[filesize1] -[filesize2]​

​ :查找大于filesize1的檔案并且小于filesize2的檔案

[Ann@localhost testfind]$ find . -size +2k -size -6k
./findtest
[Ann@localhost testfind]$ ll
-rw-rw-r--. 1 Ann Ann 5060 Apr 14 23:51 findtest      

​-size +2k​

​​:檔案大小大于2k,​

​+​

​ 代表大于

​-size -6k​

​​:檔案大小小于6k,​

​-​

​ 代表小于

合起來就是查找大于2k而小于6k的檔案

1.7 總結
  • ​find [path] -name [filename]​

    ​:在path目錄下查找檔案名成為filename的檔案,大小寫敏感
  • ​find [path] -iname [filename]​

    ​:在path目錄下查找檔案名成為filename的檔案,大小寫不敏感
  • ​find [path] -empty​

    ​:在path目錄下查找檔案大小為空的檔案
  • ​find [path] -size [fileszie]​

    ​ : 查找定長的檔案
  • ​find [path] -size +[filesize]​

    ​:查找大于filesize的檔案
  • ​find [path] -size -[filesize]​

    ​ :查找小于filesize的檔案
  • ​find [path] -size +[filesize1] -size -[filesize2]​

    ​ :查找大于filesize1的檔案并且小于filesize2的檔案

繼續閱讀