我在今天的采訪中遇到了這個問題。
例如,1.txt我想要的檔案位于/data/users/xxx/u/a/b/c/1.txt. 現在,我只記得我要的檔案的絕對路徑有后綴a/b/c/1.txt。我的系統中可能有很多不同1.txt。
我應該使用哪個 shell 命令來找到具有這種模式的命令。
uj5u.com熱心網友回復:
該-wholename選項find允許您指定路徑名組件以及 glob 以在檔案系統中定位檔案。您應該盡可能地嘗試定制起始目錄,但/如果您真的不知道該檔案的位置,您可以開始。
在這種情況下,您可以這樣做:
find / -type f -wholename "*a/b/c/1.txt"
您還可以使用locate(mlocate),它-wholename默認使用匹配。一個等效的搜索locate將是:
locate "*/a/b/c/1.txt"
需要注意的是,updatedb自從檔案被創建后必須運行它才能在mlocate.db. 否則,將無法使用locate. (另請注意,locate并非所有 Linux 發行版都默認安裝)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/524983.html
標籤:linux壳
