注意:grep、egrep、fgrep命令都文字查詢,是查詢檔案裡的內容。
檔案查詢用locate命令、find命令。
1、locate命令
是全系統內進行查詢,是根據資料庫進行的。這個資料庫是系統每天晚上自動建立的。
特點:非實時,模糊匹配,查詢是根據全系統檔案資料庫進行,速度快。
當前對檔案的操作,不會在資料庫中,所以有些檔案用locate搜尋不到,但是可用命令手動更新資料庫後,再用locate命令查詢即可實現實時查詢。
updatedb命令:手動更新資料庫。
2、find命令:
特點:實時查詢,精確,支援眾多查詢標準,通過遍歷制定中的目錄的所有檔案完成查詢,速度較慢。
find命令格式:
find 查詢路徑 查詢標準 查詢到以後的處理動作
(1)查詢路徑:可省了,預設為當前目錄;
(2)查詢標準:預設為指定路徑下的所有檔案;
(3)處理動作:預設為顯示;
匹配標準:
1、 -name 『filename':對檔名精確匹配,預設嚴格區分大小寫;
支援檔名通配;
-iname filename':檔名匹配時不區分大小寫;
2、 -regex pattern:基於正規表示式進行檔名匹配,要同--regextype type指定正則式型別;
3、 -user usernaem:根據屬主查詢檔案;
-group groupname:根據屬組查詢檔案;
4、 -uid uid:根據uid查詢檔案,刪除使用者後可使用;
-gid gid:根據gid查詢檔案;
5、 -nouser:查詢沒有屬主的檔案;
-nogroup:查詢沒有屬組的檔案;
6、 -type chart(指定檔案型別):
f:普通檔案;
d:目錄檔案;
c:字元裝置檔案;
b:塊裝置檔案;
l:符號(軟)鏈結檔案;
p:管道裝置;
s:套接字檔案;
7、 -size [+|-]#unite(指定檔案大小,單位預設為位元組)
#unit:精確大小#unit,單位可為k,m,g;
+#unit:大於#unit;
-#unit:小於#unit;
8、組合條件查詢:預設為與邏輯;
-a:與
-o:或
-not:非,例如:-not -type d為非目錄型別檔案;
注意摩根定律:
-not a -a -not b = -not(a -o b)
-not a -o -not b = -not(a -a b)
9、根據檔案時間戳查詢:
以天為單位:
-atime [+|-]#:訪問時間;
-mtime [+|-]#:修改時間;
-ctime [+|-]#:改變時間;
#:此刻時間到之前的24小時的一天之內;
+#:#天之前;
-#:#天之內;
以分鐘為單位
-amin [+|-]#:訪問時間;
-mmin [+|-]#:修改時間;
-cmin [+|-]#:改變時間;
10、 根據許可權查詢檔案
-perm [+|-]mode(mode用八進位制數字表示)
mode:表示ugo每一位許可權精確匹配;
/mode:表示ugo有一位許可權符號就匹配(或關係);
-mode:表示ugo的許可權位只有完全包含就匹配(與關係);
(3)執行動作:預設為-print:顯示;
-ls:類似ls -l的形式顯示每乙個檔案的詳細資訊;
-ok command {} \;互動執行命令,大括號為引用匹配到的檔案;
-exec command {} \;:不互動執行命令;
例如:注意語法格式 {} \;
find ./ -perm -006 -exec chomod o-w {} \;
解釋:找許可權完全包含other使用者擁有讀、寫許可權的檔案後,other設為沒有寫許可權;
find ./ -type d -ok chmod +x {} \;
解釋:找型別為目錄的檔案後,把檔案的屬主、屬組設為擁有執行許可權,執行命令前讓使用者確認;
find ./ -perm -020 -exec mv {} {}.new \;
解釋:找檔案許可權完全包含為屬組有寫許可權的檔案後,重新命名為原名後加.new;
find命令使用
find命令 find path option action 引數 1.與時間相關引數 atime ctime mtime 以mtime為例 mtime n n為數字,意義為在n天之前的 一天之內 被更改過的檔案 mtime n 列出在n天之前 不含n本身 被更改過的檔名 mtime n 列出在n天...
find 命令的使用
find 實時查詢工具,通過遍歷指定路徑下的檔案系統完成檔案查詢。特點 查詢速度慢 精確查詢 實時查詢 語法格式 find option 查詢路徑 查詢條件 處理動作 查詢路徑 指定具體目標路徑 預設為當前目錄 查詢條件 指定的查詢標準,可以檔名 大小 型別 許可權等標準進行 預設為找出指定路徑下所...
GNU使用find命令
使用find命令 1 在當前資料夾下查詢特定檔名,包含子目錄 find name file name expression 注意 號可以被省略 在當前資料夾下查詢特定檔名,包含子目錄。不區分大小寫 find iname file name expression 2 在當前檔案下列出所有資料夾,包含子...