檔案的搜素命令

2021-10-03 23:17:44 字數 2497 閱讀 4706

1、which 查詢可執行的檔案 搜尋命令所在路徑以及別名:

2、whereis 只能用於搜尋程式名 搜尋命令所在的路徑以及幫助文件所在位置:

-b:只查詢可執行檔案

-m:只查詢幫助檔案

3.locate:依賴於事先構建好的索引庫,定時更新索引庫 (查詢速度快,模糊查詢)

locate安裝命令:yum install mlocate -y

-b:只匹配路徑中的基名

-c:統計總共有多少符合條件個檔案

4.find命令:搜尋檔案

用法:find [options] [查詢的起始路徑] [查詢條件] [處理動作]

查詢的起始路徑:指定具體的搜尋目錄,預設為當前目錄

查詢條件:指定查詢的標準,大小,檔名,型別。預設是指定路徑下的所有檔案

處理動作:符合查詢條件的檔案做出的操作,例如cp,rm,預設為輸出到標準輸出

查詢條件

表示式:

與: -a

或: -o

非:-not !

(1)檔名查詢:

-name 「pattern」

依據檔名查詢

支援萬用字元

* ? [^]

-iname 「pattern」

不區分大小寫

基於正規表示式模式查詢

-regex 「pattern」 匹配整個路徑 而不是檔名

(2)根據檔案的從屬關係查詢:

-user

屬主-group

屬組-uid gid

屬主id

-gid gid

屬組id

-nouser

沒有屬主的檔案

-nogroup

沒有屬組的檔案

(3)根據檔案型別查詢

格式: -type type

f普通檔案d目錄

b塊裝置檔案

l鏈結檔案

c字元裝置檔案

p管道檔案

ssocket套接字檔案

(4)根據檔案的大小查詢:

(5)根據時間戳查詢:

以天為單位

-atime [+|-]# 檔案最後訪問時間

-mtime [+|-]# 檔案最後修改時間

-ctime [+|-]# 檔案最後改變時間

#:[#,#-1): 10 大於等於10天前,小於9天前

-#?#,0] -10 最後的訪問時間10天以內

+#:(oo,#-1] +10 最後的訪問時間在9天以前,包括9天

以分鐘為單位查詢:

-amin [+|-]#

-mmin [+|-]#

-cmin [+|-]#

(6)根據檔案許可權查詢:

-perm mode 777 rwx 421

許可權物件:三類 屬主 屬組 其他

許可權位: 讀 寫 執行 r w x 4 2 1

mode 精確查詢

/mode:任何乙個許可權物件中滿足其一即可

-mode:所有都需要滿足

1)查詢/var目錄下屬主為root,且屬組為mail的所有檔案或目錄:

2) 查詢/etc目錄下大於1m且型別為普通檔案的所有檔案

(3) 查詢/etc目錄下所有使用者都沒有寫許可權的檔案:

(4) 查詢/etc目錄至少有一類使用者沒有執行許可權的檔案:

檔案的搜素命令

是通過path環境變數到該路徑內查詢可執行檔案,因此基本功能是尋找可執行的檔案查詢可執行檔案 查詢命令路徑 查詢命令別名 b 只查詢二進位制檔案 m 只查詢在說明檔案manual路徑下的檔案 依賴於事先構建好的索引庫,定時更新索引庫 updatedb 查詢速度快,模糊查詢 b 只匹配路徑中的基名 c...

簡單搜素題集

不解釋 include using namespace std define ll long long define rep i a b for int i a i b i define clr a x memset a x sizeof a define re freopen 1.in r std...

深度搜素 搜尋巢狀

搜尋問題,擴充套件節點的時候會iterate乙個link集合,一般就是乙個for 迴圈,但有的時候,這個集合並不能直接得到,而是另乙個搜尋問題,比如n個數分k組問題的一種解法是 問題分成k個步驟,每個步驟確定乙個組,具體乙個組可分的方案的candidate集合就不是直接可以用for來iterate的...