面試官都在問 | 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]
指令
find [path] -name [filename]
[Ann@localhost findtest]$ find ~ -name Linux
/home/Ann/work/findtest/Linux
find
:find指令使用之起手式:
-
:在目前使用者的家目錄下進行搜尋,也可以傳入不同的目錄~
-
:find指令之-name指令行參數-name
-
:帶查找的檔案名稱Linux
-
:查找到在目前Ann使用者家目錄下存在的Linux檔案/home/Ann/work/findtest/Linux
1.4 find [path] -iname [filename]
指令
find [path] -iname [filename]
[Ann@localhost findtest]$ find ~ -iname linux
/home/Ann/work/findtest/Linux
/home/Ann/work/findtest/linux
-
:find指令之-iname
指令行參數,-iname
在使用的時候,對大小寫不敏感,是以我們使用find指令的時候就搜出出來一下兩個檔案iname
-
:‘L’字元大寫的Linux檔案/home/Ann/work/findtest/Linux
-
:‘l’字元小寫的linux檔案/home/Ann/work/findtest/linux
1.5 find [path] -empty
指令
find [path] -empty
查找目前目錄下的空檔案
[Ann@localhost findtest]$ find . -empty
./linux
-
:目前目錄.
-
:find指令之-empty
指令行參數,使用該指令會羅列出指定目錄以及子目錄下的所有的空檔案-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--
代表檔案權限,該檔案權限為對于目前Ann使用者而言可讀可寫不可執行,對于Ann使用者組而言可讀可寫不可執行,對于其他使用者而言可讀不可寫不可執行“rw-rw-r--”
-
:檔案連結數1
-
:檔案所屬使用者Ann
-
:檔案所屬使用者組Ann
-
:檔案大小,機關位元組0或者21
-
:檔案建立時間Apr 10 23:11
-
:檔案名稱linux或者Linux
1.6 find [path] -size [filesize]
指令
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 總結
-
:在path目錄下查找檔案名成為filename的檔案,大小寫敏感find [path] -name [filename]
-
:在path目錄下查找檔案名成為filename的檔案,大小寫不敏感find [path] -iname [filename]
-
:在path目錄下查找檔案大小為空的檔案find [path] -empty
-
: 查找定長的檔案find [path] -size [fileszie]
-
:查找大于filesize的檔案find [path] -size +[filesize]
-
:查找小于filesize的檔案find [path] -size -[filesize]
-
:查找大于filesize1的檔案并且小于filesize2的檔案find [path] -size +[filesize1] -size -[filesize2]