linux 下簡單的查詢檔案或查詢文字內容命令

2021-06-22 21:49:28 字數 3959 閱讀 9032

用法如下:

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

path: find命令所查詢的目錄路徑。例如用.來表示當前目錄,用/來表示系統根目錄。

-print: find命令將匹配的檔案輸出到標準輸出。

-exec: find命令對匹配的檔案執行該引數所給出的shell命令。相應命令的形式為'command' \;,注意和\;之間的空格。

-ok: 和-exec的作用相同,只不過以一種更為安全的模式來執行該引數所給出的shell命令,在執行每乙個命令之前,都會給出提示,讓使用者來確定是否執行。

option如下:

name   filename             #查詢名為filename的檔案

-perm                        #按執行許可權來查詢

-user    username             #按檔案屬主來查詢

-group groupname            #按組來查詢

-mtime   -n +n                #按檔案更改時間來查詢檔案,-n指n天以內,+n指n天以前

-atime    -n +n               #按檔案訪問時間來查gin: 0px">

-ctime    -n +n              #按檔案建立時間來查詢檔案,-n指n天以內,+n指n天以前

-nogroup                     #查無有效屬組的檔案,即檔案的屬組在/etc/groups中不存在

-nouser                     #查無有效屬主的檔案,即檔案的屬主在/etc/passwd中不存

-newer   f1 !f2              找檔案,-n指n天以內,+n指n天以前

-ctime    -n +n               #按檔案建立時間來查詢檔案,-n指n天以內,+n指n天以前

-nogroup                     #查無有效屬組的檔案,即檔案的屬組在/etc/groups中不存在

-nouser                      #查無有效屬主的檔案,即檔案的屬主在/etc/passwd中不存

-newer   f1 !f2               #查更改時間比f1新但比f2舊的檔案

-type    b/d/c/p/l/f         #查是塊裝置、目錄、字元裝置、管道、符號鏈結、普通檔案

-size      n[c]               #查長度為n塊[或n位元組]的檔案

-depth                       #使查詢在進入子目錄前先行查詢完本目錄

-fstype                     #查更改時間比f1新但比f2舊的檔案

-type    b/d/c/p/l/f         #查是塊裝置、目錄、字元裝置、管道、符號鏈結、普通檔案

-size      n[c]               #查長度為n塊[或n位元組]的檔案

-depth                       #使查詢在進入子目錄前先行查詢完本目錄

-fstype                      #查位於某一型別檔案系統中的檔案,這些檔案系統型別通常可 在/etc/fstab中找到

-mount                       #查檔案時不跨越檔案系統mount點

-follow                      #如果遇到符號鏈結檔案,就跟蹤鏈結所指的檔案

-cpio                %;      #查位於某一型別檔案系統中的檔案,這些檔案系統型別通常可 在/etc/fstab中找到

-mount                       #查檔案時不跨越檔案系統mount點

-follow                      #如果遇到符號鏈結檔案,就跟蹤鏈結所指的檔案

-cpio                        #對匹配的檔案使用cpio命令,將他們備份到磁帶裝置中

-prune                       #忽略某個目錄

例:find . -name .svn | xargs rm -rf

功能說明:查詢檔案裡符合條件的字串。

語法:grep [-abcefghhillnqrsvvwxy][-a《顯示列數》][-b《顯示列數》][-c《顯示列數》][-d《進行動作》][-e《範本樣式》][-f《範本檔案》][--help][範本樣式][檔案或目錄...]

補充說明:grep指令用於查詢內容包含指定的範本樣式的檔案,如果發現某檔案的內容符合所指定的範本樣式,預設grep指令會把含有範本樣式的那一列顯示出來。若不指定任何檔名稱,或是所給予的檔名為「-」,則grep指令會從標準輸入裝置讀取資料。

引數解釋放在最後,grep簡單例項如下:

ls *.cpp | grep -v event :篩選出檔名不含event的cpp檔案

grep event* ./*.cpp -n :篩選出當前目錄中所有cpp檔案中含有event的行,並顯示行號

grep event* ./ -rn :此時會在當前目錄下進行遞迴查詢,也就是進入所有子目錄查詢

引數解釋:

-a或--text   不要忽略二進位制的資料。

-a《顯示列數》或--after-context=《顯示列數》   除了顯示符合範本樣式的那一列之外,並顯示該列之後的內容。

-b或--byte-offset   在顯示符合範本樣式的那一列之前,標示出該列第乙個字元的位編號。

-b《顯示列數》或--before-context=《顯示列數》   除了顯示符合範本樣式的那一列之外,並顯示該列之前的內容。

-c或--count   計算符合範本樣式的列數。

-c《顯示列數》或--context=《顯示列數》或-《顯示列數》   除了顯示符合範本樣式的那一列之外,並顯示該列之前後的內容。

-d《進行動作》或--directories=《進行動作》   當指定要查詢的是目錄而非檔案時,必須使用這項引數,否則grep指令將回報資訊並停止動作。

-e《範本樣式》或--regexp=《範本樣式》   指定字串做為查詢檔案內容的範本樣式。

-e或--extended-regexp   將範本樣式為延伸的普通表示法來使用。

-f《範本檔案》或--file=《範本檔案》   指定範本檔案,其內容含有乙個或多個範本樣式,讓grep查詢符合範本條件的檔案內容,格式為每列乙個範本樣式。

-f或--fixed-regexp   將範本樣式視為固定字串的列表。

-g或--basic-regexp   將範本樣式視為普通的表示法來使用。

-h或--no-filename   在顯示符合範本樣式的那一列之前,不標示該列所屬的檔名稱。

-h或--with-filename   在顯示符合範本樣式的那一列之前,表示該列所屬的檔名稱。

-i或--ignore-case   忽略字元大小寫的差別。

-l或--file-with-matches   列出檔案內容符合指定的範本樣式的檔名稱。

-l或--files-without-match   列出檔案內容不符合指定的範本樣式的檔名稱。

-n或--line-number   在顯示符合範本樣式的那一列之前,標示出該列的列數編號。

-q或--quiet或--silent   不顯示任何資訊。

-r或--recursive   此引數的效果和指定「-d recurse」引數相同。

-s或--no-messages   不顯示錯誤資訊。

-v或--revert-match   反轉查詢。

-v或--version   顯示版本資訊。

-w或--word-regexp   只顯示全字符合的列。

-x或--line-regexp   只顯示全列符合的列。

-y   此引數的效果和指定「-i」引數相同。

--help   檢視幫助。

Linux 下查詢檔案或資料夾

有些在我看來比較實用的命令,在這裡記一下,避免每次都搜尋一輪。1 查詢檔案和資料夾 find name mongo 從當前路徑開始,向子目錄查詢名字含有 mongo 的檔案和資料夾 2 僅查詢檔案夾 find name mongo type d 3 查詢檔案內容中含有指定內容的檔案或資料夾 find...

linux查詢檔案或內容

1 查詢檔案 find name filename find name filename 2 查詢內容 find xargs grep ri content find xargs grep ri content find xargs grep ril content 只顯示檔名稱 3 查詢目錄 fi...

Linux下查詢檔案

linux下查詢檔案真是太不方便了,因為我不會這些命令,學了幾個,用著還行 find是乙個非常有效的工具,它可以遍歷當前目錄甚至於整個檔案系統來查詢某些檔案或目錄.主要選項 name 按照檔名查詢檔案 perm 按照檔案許可權來查詢檔案 prune 不在當前指定的目錄中查詢 user 按照檔案屬主來...