
如何尋找 Linux 檔案
記住特定檔案所在的 Linux 安裝程序可能困難重重而手動搜尋龐大的目錄是很麻煩程序。因此,如何做您不要搜尋 Linux 嗎?但幸運的是,Linux 提供一些非常易於使用的工具,尋找您的整個發佈整個檔案。
遇到問題 | 入門版-1|媒體-2 |進階-3 |
所需時間 | 15 分鐘 |
相關的產品 | Linux 型 VPS 或專屬的伺服器 Linux 型共享主機與啟用 SSH |
如何在 Linux 中尋找檔案
尋找命令是用來尋找您的電腦上任何檔案的主要工具。 最基本,尋找執行使用下列語法:
path
和flags
都選用,因此預設尋找會遞迴傳回的所有檔案中您目前的目錄和子目錄路徑:
./.ssh
./.ssh/authorized_keys
./.monit.state
./.aptitude
./.aptitude/cache
./.aptitude/config
./.profile
./.psql_history
./.gem
...
尋找名稱
若要尋找特定的名稱使用的檔案-name
搜尋文字後面國旗一般。 例如:
./misc/foo
完全名稱 foo 目前目錄中尋找所有的檔案。 在此情況下它我其他目錄中找到只有一個檔案。 使用-iname
旗標改為使用區分大小寫的搜尋:
./misc/foo
使用星號 (*) 可讓您使用萬用字元搜尋:
./misc/foobar.txt
./misc/foobar.sh
./misc/foo
./misc/foobar
尋找位置
您目前的目錄工作搜尋通常是強制,可以輕鬆使用來完成後立即尋找命令路徑選項。
例如,整個系統尋找檔案,使用/ path
選項:
/root/misc/foobar.txt
/root/misc/foobar.sh
/root/misc/foo
/root/misc/foobar
/usr/lib/node_modules/npm/node_modules/semver/foot.js
/usr/share/automake-1.14/am/footer.am
/usr/share/doc/xml-core/examples/foo.postrm
...
您可以縮小搜尋路徑停止運作必要時,在此情況下問根/其他目錄內的相同檔案:
/root/misc/foobar.txt
/root/misc/foobar.sh
/root/misc/foo
/root/misc/foobar
您甚至可以使用多個paths
在您要在兩項或更多的特定位置搜尋的命令。 我們在此搜尋根/其他和 /usr/share/doc 目錄中:
/root/misc/foobar.txt
/root/misc/foobar.sh
/root/misc/foo
/root/misc/foobar
/usr/share/doc/xml-core/examples/foo.postrm
/usr/share/doc/xml-core/examples/foo.xmlcatalogs
/usr/share/doc/xml-core/examples/foo.postinst
/usr/share/doc/xml-core/examples/foo.prerm
/usr/share/doc/m4/examples/foo
尋找依類型
縮小搜尋您的另一個常見旗標-type
可讓您尋找根據 unix 識別所有檔案與相關的檔案。
例如,您可以使用-type d
要搜尋的符合條件的目錄旗標:
/root/misc/foobar
完整的使用追蹤識別碼清單-type
您可以在發現旗標男人頁面但最常見的一些:
-type d
目錄-type f
檔案-type l
為符號連結
正在尋找的時間
搜尋檔案根據他們建立或修改的時間可以非常有用的工具來分析記錄檔或變更特定的目錄中。
有三個類別中的時間型搜尋命令: 存取、 變更和修改。 所有三個時間類別也有兩個子類別中來決定您要搜尋 timespan: 分鐘的時間來搜尋和時間來搜尋天內最少。
負值、 正面,或中性可能時間型旗標的數字引數 (n):
n
搜尋完全符合 n 的時間範圍內。+n
時段大於 n 搜尋。-n
搜尋時段少於 n。
例如,使用-atime
旗標可讓您搜尋的檔案根據上次讀取或寫入檔案的時間。 若要尋找所有 foo 命名所存取不到 1 天前檔案都輸入:
/root/misc/foobar.txt
/root/misc/foobar.sh
/root/misc/foo
/root/misc/foobar
若要尋找所有 foo 命名檔案內的最後 45 數分鐘內使用的存取權-amin
旗標:
/root/misc/foo
您也可以使用-cmin
和-ctime
旗標相同的方式來尋找檔案根據檔案 inode 資料已變更 (通常時檔案已移動到新的位置系統內) 上一次。
移動 foobar.txt 檔案之後就立即之間的所有 foo 命名檔案已變更 last10 分鐘內的搜尋結果:
find / -cmin -10 -name foo*
/root/other/foobar.txt
最後一次旗標-mmin
和-mtime
讓您找到根據檔案上次修改的內容的檔案.
使用貓後 > 命令 foobar.txt 檔案中新增一些新文字,現在是位於搜尋已修改在過去 5 分鐘內的檔案時:
This is a new line.
ctrl+c
find / -mmin -5 -name foo*
/root/other/foobar.txt
尋找由檔案內容
如果您想要搜尋的檔案根據檔案中的實際文字內容可能會將結合使用其他 unix 指令尋找命令-exec
國旗一般。
例如,由組合-exec
使用功能非常強大grep 工具您可以找到所有 foo 命名檔案之前也包含特定文字:
/root/misc/foobar.sh:My favorite foods are:
/root/misc/foo:My favorite foods are:
/root/other/foobar.txt:My favorite foods are:
完整的命令的項目鉅但真正的兩種基本區塊只包含:
這就是如此目前已在此教學課程,因此在此處我們要搜尋的 typefile 所有檔案名稱開頭 foo 涵蓋尋找命令的基本功能。
使用新的命令後者半-exec
旗標,後面 unix 指令您想要在 thefind 結果上執行。 在此情況下的元件是:
這將會搜尋您的檔案的內容 (忽略退回大小寫-i
旗標) 文字 「 我最愛的美食是。 」
立即執行相同的命令,但 「 apple 」 改為搜尋我們看看有 apple 列為其中一項最愛的美食只有兩個檔案:
/root/misc/foobar.sh:apple
/root/other/foobar.txt:apple
這是只需使用的簡介-exec
在您尋找內 grep 旗標搜尋,它能讓您提供極高一層多樣性和您搜尋的力量。
現在請辦理,尋找這些檔案 !