您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Linux中如何查找工具”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Linux中如何查找工具”這篇文章吧。
find命令用來在指定目錄下查找文件。任何位于參數之前的字符串都將被視為欲查找的目錄名。如果使用該命令時,不設置任何參數,則find命令將在當前目錄下查找子目錄與文件。并且將查找到的子目錄和文件全部進行顯示。
語法
find(選項)(參數)
選項
-amin<分鐘>:查找在指定時間曾被存取過的文件或目錄,單位以分鐘計算;
-anewer<參考文件或目錄>:查找其存取時間較指定文件或目錄的存取時間更接近現在的文件或目錄;
-atime<24小時數>:查找在指定時間曾被存取過的文件或目錄,單位以24小時計算;
-cmin<分鐘>:查找在指定時間之時被更改過的文件或目錄;
-cnewer<參考文件或目錄>查找其更改時間較指定文件或目錄的更改時間更接近現在的文件或目錄;
-ctime<24小時數>:查找在指定時間之時被更改的文件或目錄,單位以24小時計算;
-daystart:從本日開始計算時間;
-depth:從指定目錄下最深層的子目錄開始查找;
-expty:尋找文件大小為0 Byte的文件,或目錄下沒有任何子目錄或文件的空目錄;
-exec<執行指令>:假設find指令的回傳值為True,就執行該指令;
-false:將find指令的回傳值皆設為False;
-fls<列表文件>:此參數的效果和指定“-ls”參數類似,但會把結果保存為指定的列表文件;
-follow:排除符號連接;
-fprint<列表文件>:此參數的效果和指定“-print”參數類似,但會把結果保存成指定的列表文件;
-fprint0<列表文件>:此參數的效果和指定“-print0”參數類似,但會把結果保存成指定的列表文件;
-fprintf<列表文件><輸出格式>:此參數的效果和指定“-printf”參數類似,但會把結果保存成指定的列表文件;
-fstype<文件系統類型>:只尋找該文件系統類型下的文件或目錄;
-gid<群組識別碼>:查找符合指定之群組識別碼的文件或目錄;
-group<群組名稱>:查找符合指定之群組名稱的文件或目錄;
-help或——help:在線幫助;
-ilname<范本樣式>:此參數的效果和指定“-lname”參數類似,但忽略字符大小寫的差別;
-iname<范本樣式>:此參數的效果和指定“-name”參數類似,但忽略字符大小寫的差別;
-inum<inode編號>:查找符合指定的inode編號的文件或目錄;
-ipath<范本樣式>:此參數的效果和指定“-path”參數類似,但忽略字符大小寫的差別;
-iregex<范本樣式>:此參數的效果和指定“-regexe”參數類似,但忽略字符大小寫的差別;
-links<連接數目>:查找符合指定的硬連接數目的文件或目錄;
-iname<范本樣式>:指定字符串作為尋找符號連接的范本樣式;
-ls:假設find指令的回傳值為Ture,就將文件或目錄名稱列出到標準輸出;
-maxdepth<目錄層級>:設置最大目錄層級;
-mindepth<目錄層級>:設置最小目錄層級;
-mmin<分鐘>:查找在指定時間曾被更改過的文件或目錄,單位以分鐘計算;
-mount:此參數的效果和指定“-xdev”相同;
-mtime<24小時數>:查找在指定時間曾被更改過的文件或目錄,單位以24小時計算;
-name<范本樣式>:指定字符串作為尋找文件或目錄的范本樣式;
-newer<參考文件或目錄>:查找其更改時間較指定文件或目錄的更改時間更接近現在的文件或目錄;
-nogroup:找出不屬于本地主機群組識別碼的文件或目錄;
-noleaf:不去考慮目錄至少需擁有兩個硬連接存在;
-nouser:找出不屬于本地主機用戶識別碼的文件或目錄;
-ok<執行指令>:此參數的效果和指定“-exec”類似,但在執行指令之前會先詢問用戶,若回答“y”或“Y”,則放棄執行命令;
-path<范本樣式>:指定字符串作為尋找目錄的范本樣式;
-perm<權限數值>:查找符合指定的權限數值的文件或目錄;
-print:假設find指令的回傳值為Ture,就將文件或目錄名稱列出到標準輸出。格式為每列一個名稱,每個名稱前皆有“./”字符串;
-print0:假設find指令的回傳值為Ture,就將文件或目錄名稱列出到標準輸出。格式為全部的名稱皆在同一行;
-printf<輸出格式>:假設find指令的回傳值為Ture,就將文件或目錄名稱列出到標準輸出。格式可以自行指定;
-prune:不尋找字符串作為尋找文件或目錄的范本樣式;
-regex<范本樣式>:指定字符串作為尋找文件或目錄的范本樣式;
-size<文件大小>:查找符合指定的文件大小的文件;
-true:將find指令的回傳值皆設為True;
-typ<文件類型>:只尋找符合指定的文件類型的文件;
-uid<用戶識別碼>:查找符合指定的用戶識別碼的文件或目錄;
-used<日數>:查找文件或目錄被更改之后在指定時間曾被存取過的文件或目錄,單位以日計算;
-user<擁有者名稱>:查找符和指定的擁有者名稱的文件或目錄;
-version或——version:顯示版本信息;
-xdev:將范圍局限在先行的文件系統中;
-xtype<文件類型>:此參數的效果和指定“-type”參數類似,差別在于它針對符號連接檢查。
參數
起始目錄:查找文件的起始目錄。
FD
fd 是一個超快的,基于 Rust 的 Unix/Linux find 命令的替代品。它不提供所有 find 的強大功能。但是,它確實提供了足夠的功能來覆蓋你可能遇到的 80% 的情況。諸如良好的規劃和方便的語法、彩色輸出、智能大小寫、正則表達式以及并行命令執行等特性使 fd 成為一個非常有能力的后繼者。
安裝
進入 fd GitHub 頁面,查看安裝部分。它涵蓋了如何在macOS、 Debian/Ubuntu Red Hat 和 Arch Linux 上安裝程序。安裝完成后,你可以通過運行幫助來獲得所有可用命令行選項的完整概述,通過 fd -h 獲取簡明幫助,或者通過 fd --help 獲取更詳細的幫助。
簡單搜索
fd 旨在幫助你輕松找到文件系統中的文件和文件夾。你可以用 fd 帶上一個參數執行最簡單的搜索,該參數就是你要搜索的任何東西。例如,假設你想要找一個 Markdown 文檔,其中包含單詞 services 作為文件名的一部分:
$ fd services downloads/services.md
如果僅帶一個參數調用,那么 fd 遞歸地搜索當前目錄以查找與莫的參數匹配的任何文件和/或目錄。使用內置的 find 命令的等效搜索如下所示:
$ find . -name 'services' downloads/services.md
如你所見,fd 要簡單得多,并需要更少的輸入。在我心中用更少的輸入做更多的事情總是對的。
文件和文件夾
您可以使用 -t 參數將搜索范圍限制為文件或目錄,后面跟著代表你要搜索的內容的字母。例如,要查找當前目錄中文件名中包含 services 的所有文件,可以使用:
$ fd -tf services downloads/services.md
以及,找到當前目錄中文件名中包含 services 的所有目錄:
$ fd -td services applications/services library/services
如何在當前文件夾中列出所有帶 .md 擴展名的文檔?
$ fd .md administration/administration.md development/elixir/elixir_install.md readme.md sidebar.md linux.md
從輸出中可以看到,fd 不僅可以找到并列出當前文件夾中的文件,還可以在子文件夾中找到文件。很簡單。
你甚至可以使用 -H 參數來搜索隱藏文件:
fd -H sessions . .bash_sessions
指定目錄
如果你想搜索一個特定的目錄,這個目錄的名字可以作為第二個參數傳給 fd:
$ fd passwd /etc /etc/default/passwd /etc/pam.d/passwd /etc/passwd
在這個例子中,我們告訴 fd 我們要在 etc 目錄中搜索 passwd 這個單詞的所有實例。
全局搜索
如果你知道文件名的一部分,但不知道文件夾怎么辦?假設你下載了一本關于 Linux 網絡管理的書,但你不知道它的保存位置。沒有問題:
fd Administration / /Users/pmullins/Documents/Books/Linux/Mastering Linux Network Administration.epub
fd 是 find 命令的極好的替代品,我相信你會和我一樣發現它很有用。要了解該命令的更多信息,只需瀏覽手冊頁。
以上是“Linux中如何查找工具”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。