1.搜尋執行檔——which which指令主要是在PATH所包含的目錄中去搜尋執行檔的檔名,若加上-a參數就可以搜尋除所有包含檔案的信息 上面列出root賬號的PATH包含的目錄,which命令會在這些目錄中去查看文件 如果文件不在這些目錄中就會提示找不到,如下 cd檔案用which找不到,因為c ...
1.搜尋執行檔——which
which指令主要是在PATH所包含的目錄中去搜尋執行檔的檔名,若加上-a參數就可以搜尋除所有包含檔案的信息
上面列出root賬號的PATH包含的目錄,which命令會在這些目錄中去查看文件
如果文件不在這些目錄中就會提示找不到,如下
cd檔案用which找不到,因為cd不在PATH所包含的目錄中,它是屬於bash內建的命令。
2.whereis
whereis和locate是在資料庫中查找檔案的,所以查找的速度很快
3.locate
選項與參數
-i:忽略大小寫的差異
-r:後面可直接更正則表達法的顯示方式
locate命令會在執行的時候去讀取/var/lib/mlocate中建立的資料庫而不會去查詢磁碟,所以搜尋速度很快
但是有時當你新建一個檔案時,用locate搜尋時提示找不到是因為資料庫還沒有更新,手動使用updatedb命令就可以更新資料庫
4.find
find命令算是功能很強大的搜尋檔案指令了,它是在整個磁碟中查找文件,它有幾種參數選項,分別介紹如下
1.與時間相關的選項— -atime, -ctime ,-mtime, 以-mtime介紹
-mtime n:在n天之前的(一天24小時內)被更改過內容的檔案
-mtime +n:在n天之前的(不含n天本身)被更改過內容的檔案
-mtime -n:在n天之內(含n天本身)被更改過內容的檔案
-newer file:列出比file還要新的檔案
這個選項主要是找出最近做出變動的檔案,非常方便
比如列出一天前24小時內容變動的檔案
列出比/home/test更新的檔案
2.與使用者和組名有關的選項:
-uid n:找出uid為n的檔案
-gid n:找出gid為n的檔案
-user name:找出使用者為name的檔案
-group name:找出群組為name的檔案
-nouser :找出不存在擁有者的檔案
-nogroup :找出不存在群組的檔案
上面找出的檔案的擁有者都是root
其他參數大家自己試試
3.與檔案許可權及名稱有關的參數:
(1) -name file:找出文件名為file的檔案
(2) -size [+-]SIZE:找出比SIZE(+)大(-)小的檔案,其中SIZE可以用c(位元組)、k(1024位元組)表示,(-size +100k,找出大於100k的檔案)
(3) -type TYPE:找出類型為TYPE的檔案,其中TYPE可以用 一般檔案(f)、裝置檔案(b,c)、目錄(d)、連接檔(l)、socket(s)、FIFO(p)表示
(4) -perm mode:找出檔案許可權剛好等於mode的檔案
(5) -perm -mode:找出檔案許可權要全部包含mode的檔案
(6) -perm +mode:找出檔案許可權包含任一mode的檔案
4.額外可進行的動作:
-exec command:-exec後面接其他指令,可以額外出來搜尋出來的結果