新聞中心
作為一款開源操作系統(tǒng),Linux一直以來備受程序員、工程師等技術(shù)人員的青睞。說到Linux的優(yōu)點(diǎn),自然有太多太多的答案,比如穩(wěn)定、安全、可定制等等。而在實(shí)際使用中,大家最常使用的,往往都是Linux豐富的命令行功能。其中,快速查找文件名的操作,也是程序員們最常用的功能之一。下面,我們就來分享一下如何利用Linux快速查找文件名。

網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)專注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁面制作!給你煥然一新的設(shè)計(jì)體驗(yàn)!已為成都白烏魚等企業(yè)提供專業(yè)服務(wù)。
查找文件名的命令
在Linux中,查找文件名的命令有很多,比較常用的有以下幾種。
1. find命令
find命令能夠查找指定路徑下的所有文件,并以一定的方式展示它們的信息。下面是一個(gè)例子:
“`
$ find /dev -name ‘tty*’
“`
這個(gè)命令會在/dev目錄下查找所有以”tty”開頭的文件名。這里的”-“表示是文件名匹配,而非全文查找,匹配規(guī)則就是shell的通配符,即可以使用”*”和”?”。
2. locate命令
locate命令需要在使用前,先更新一下查找文件的索引。具體操作為:
“`
$ sudo updatedb
“`
然后,我們就可以愉快地使用locate命令了。舉個(gè)例子:
“`
$ locate myfile.txt
“`
這個(gè)命令會在系統(tǒng)的用戶文件目錄下,查找名為”myfile.txt”的文件。
3. which命令
which命令雖然看起來和前兩種命令有很大不同,但實(shí)際上它也能用來查找指定文件的位置。只不過它主要用在查找命令的時(shí)候,幫助我們確認(rèn)命令的位置,比如:
“`
$ which python3
“`
這個(gè)命令會輸出當(dāng)前系統(tǒng)中python3命令的路徑。
4. grep命令
grep命令雖然不是專門查找文件名的命令,但它可以在文件中查找指定的字符串,包括文件名和文件內(nèi)容。比如:
“`
$ grep -rni ‘hello’ /path/to/dir
“`
這個(gè)命令會在指定的目錄下查找所有帶有”hello”字符串的文件,并輸出它們的路徑、行號和內(nèi)容。
查找時(shí)忽略大小寫
有時(shí)候我們可能需要在查找文件名時(shí),忽略大小寫。針對這種需求,Linux提供了忽略大小寫的命令行選項(xiàng)。
在find命令中使用”-iname”選項(xiàng),可以實(shí)現(xiàn)文件名不區(qū)分大小寫的查找。比如:
“`
$ find /home -iname “myfile.txt”
“`
這個(gè)命令會在/home目錄下查找myfile.txt或者M(jìn)YFILE.TXT等同名的文件。
在grep命令中使用”-i”選項(xiàng),就可以實(shí)現(xiàn)文件內(nèi)容不區(qū)分大小寫的查找。比如:
“`
$ grep -rni –include=”*.txt” -i ‘hello world’ /path/to/dir
“`
這個(gè)命令會在指定目錄下查找所有txt文件中包含”hello world”字符串的文件,而且不區(qū)分大小寫。
限定查找范圍
我們在查找文件時(shí),可能會遇到查找范圍過大的問題。如果想限定查找范圍,可以使用各種命令行選項(xiàng)。
在find命令中,可以添加”-prune”選項(xiàng),忽略指定的目錄或文件,比如:
“`
$ find / \! -path “/sys/*” \! -path “/proc/*” -name “*.txt”
“`
這個(gè)命令會在Linux根目錄下,找出所有不在”/sys”和”/proc”目錄下的txt文件。我們可以根據(jù)實(shí)際情況,修改”-path”選項(xiàng)后的目錄來調(diào)整查找范圍。
在grep命令中,我們可以使用”–include”選項(xiàng),限定查找符合指定通配符的文件,比如:
“`
$ grep -rni –include=”*.txt” ‘hello world’ /path/to/dir
“`
這個(gè)命令將只在path/to/dir目錄下查找所有txt文件中包含”hello world”字符串的文件。
結(jié)語
以上就是。當(dāng)我們需要快速查找文件時(shí),這些命令一定會派上用場。當(dāng)然,如果你想更深入地理解Linux命令行,建議多多探索,學(xué)習(xí)更多的命令和選項(xiàng)。
相關(guān)問題拓展閱讀:
- linux怎樣搜索文件或文件夾
- linux如何查找以某個(gè)字母打頭的文件或文件夾 比如,/etc目錄下很多文件,我想列出所有以c開頭的文件或文件
linux怎樣搜索文件或文件夾
find命令,它使用起來功能強(qiáng)大,但是也很復(fù)雜
比如fing / 就是查找根目錄下的所有文件
它有許多可用參數(shù),-name后加文件名,-perm后加權(quán)限,-exec或罩豎嘩-ok用來在查找文件后執(zhí)行纖盯shell命令,如找到一些文件然后刪除,-newer用來尋找比某個(gè)文件新的文件,還有許多
另外就是whereis,用來查找命令所在的位置比較不錯(cuò)
還有slocate,后面物行直接加文件名就行了,但是要先用updatedb命令來更新數(shù)據(jù)庫,這樣才能找到最新的文件
linux里搜索文件或者文件夾的命咐手悶令如下:
find / -name 文件或文件夾名
/指的是根目錄,如果你能知道文件在哪個(gè)具體的目錄薯薯下面,使衡彎用具體目錄路徑替代/ 即可,這樣會更快
用命令行搜索似乎可行伏信,但是不夠人性化。
如果你用的是缺態(tài)輪suse那就很方便了,桌面就有文件搜索工具。
其他版本的好像要開起什么閉昌索引服務(wù)程序才行,具置找找看。
現(xiàn)在的桌面版都有搜索,很方便
linux如何查找以某個(gè)字母打頭的文件或文件夾 比如,/etc目錄下很多文件,我想列出所有以c開頭的文件或文件
ls -al |grep c* 這樣就可以了,運(yùn)用管道命令虧消鎮(zhèn)|,還橋改有什么問題可以再問我銷粗,多交流。。。。
ls -al |grep c* 這樣就可以了,運(yùn)用管道命令|。
如何使用
命令行
在Linux中查找文件和文件夾
使用查找命令,“find”命令允許您搜索知道近似文件名的文件。該命令的最簡單形式在當(dāng)前目錄中搜索文件,并遞歸地通過其與所提供的搜索條件匹配的子目錄。您可以按名稱,所有者,組,類型,權(quán)限,日期和其他條件搜索文件。
在提示符下鍵入以下命令將列出當(dāng)前目錄中的所有文件。
“find”后的點(diǎn)表示當(dāng)前目錄。
要查找符合特定模式的文件,請使用-name參數(shù)。您可以使用文件名元字符(例如*),但您應(yīng)該將一個(gè)
轉(zhuǎn)義字符
(\)放在每個(gè)字符之前或?qū)⑺鼈兝ㄔ谝栔小?/p>
例如,如果要在Documents目錄中找到以“pro”開頭的所有文件,我們將使用該cd Documents/命令更改為Documents目錄,然后鍵入以下命令:
find . -name pro\*
列出以“pro”開頭的當(dāng)前目錄中的所有文件。
注意:find命令默認(rèn)為區(qū)分大小寫。鎮(zhèn)差悶如果要搜索單詞或短語不區(qū)分大小寫,請使用-inamefind命令中的選項(xiàng)。這是-name命令的不區(qū)分大小寫的版本。
如果find沒有找到符合條件的任何文件,則不會產(chǎn)生任何輸出。
find命令有很多選項(xiàng)可用于完善搜索。有關(guān)find命令的更多信息,請man find 在“終端”窗口中運(yùn)行,然后按
Enter鍵
。
使用定位命令
locate命令比find命令更快,因?yàn)樗褂昧讼惹皹?gòu)建的數(shù)據(jù)庫,而find命令通過所有實(shí)際目錄和文件在實(shí)際系統(tǒng)中進(jìn)行搜索。locate命令返回包含指定字符組的所有路徑名的列表。
數(shù)據(jù)庫從cron定期更新,但您也可以隨時(shí)更新數(shù)據(jù),以便您可以獲得最新的結(jié)果。為此,請?jiān)谔崾痉骆I入以下命令:
sudo updatedb
出現(xiàn)提示時(shí)輸入密碼。
locate命令的基本形式從
文件系統(tǒng)
中找到包含搜索條件全部或部分內(nèi)容的所有文件。
locate mydata
例如,上面的命令發(fā)現(xiàn)了兩個(gè)包含“mydata”的文件和一個(gè)包含“數(shù)據(jù)”的文件
如果要查找包含完全唯一的搜索條件的所有文件或目錄,請使用-blocate命令中的選項(xiàng),如下所示。
locate-b’\ mydata’
上述命令中的反斜杠是一個(gè)globbing字符,它提供了將非特定文件名中的
通配符
擴(kuò)展成一組特定文件名的方法。通配符是
表達(dá)式
被御彎評估時(shí)可以被一個(gè)或多個(gè)字符替換的符號。最常見的通配符是問號(?),它表示單個(gè)字符,而asterisk(*)表示連續(xù)的
字符串
。在上面的例子中,反斜杠禁用“* mydata *”隱式替換“mydata”,所以最終只能包含“mydata”的結(jié)果。
mlocate命令是一個(gè)新的locate的實(shí)現(xiàn)。它索引整個(gè)文件系統(tǒng),但搜索結(jié)果只包含當(dāng)前用戶可訪問的文件。更新mlocate數(shù)據(jù)庫時(shí),它會在數(shù)據(jù)庫中保留時(shí)間戳信息。這允許mlocate知道目錄中的內(nèi)容是否更改,而不再讀取內(nèi)容,并使數(shù)據(jù)庫更新速度更快,對硬盤驅(qū)動器的要求也更低。
當(dāng)您安裝mlocate時(shí),/ usr / bin / locate
二進(jìn)制
文件更改為指向mlocate。要安裝mlocate,如果尚未包括在Linux發(fā)行版中,請?jiān)谔崾痉骆I入以下命令。
sudo apt-get install mlocate
注意:我們將在本文后面顯示一條命令,允許您確定命令的
可執(zhí)行文件
所在的位置(如果存在)。
mlocate命令不使用與標(biāo)準(zhǔn)locate命令相同的數(shù)據(jù)庫文件。因此,您可能需要在提示符下鍵入以下命令手動創(chuàng)建數(shù)據(jù)庫:
sudo /etc/cron.daily/mlocate
在數(shù)據(jù)庫手動創(chuàng)建數(shù)據(jù)庫或從cron運(yùn)行腳本之前,mlocate命令將不起作用。
有關(guān)locate或mlocate命令的詳細(xì)信息,請鍵入man locate或man mlocate 在“終端”窗口中,然后按Enter鍵。兩個(gè)命令顯示相同的幫助屏幕。
使用哪個(gè)命令
“which”命令返回發(fā)出命令時(shí)調(diào)用的可執(zhí)行文件的
絕對路徑
。這在找到用于在桌面,面板慶正或桌面管理器中的其他位置創(chuàng)建程序的
快捷方式
時(shí)可用于查找可執(zhí)行文件的位置。例如,鍵入命令將which firefox 顯示下圖中顯示的結(jié)果。
默認(rèn)情況下,哪個(gè)命令只顯示之一個(gè)匹配的可執(zhí)行文件。要顯示所有匹配的可執(zhí)行文件,請使用-a以下命令的選項(xiàng):
這是一個(gè)firefox
您可以一次搜索多個(gè)可執(zhí)行文件,如下圖所示。只顯示找到的可執(zhí)行文件的路徑。在下面的例子中,只發(fā)現(xiàn)了“ps”可執(zhí)行文件。
注意:哪個(gè)命令只搜索當(dāng)前用戶的PATH變量。如果搜索只能作為普通用戶使用的root用戶的可執(zhí)行文件,則不會顯示任何結(jié)果。
有關(guān)哪個(gè)命令的更多信息,請?jiān)诮K端窗口中的
命令提示符
下鍵入“man which”(不帶引號),然后按Enter鍵。
使用Whereis命令
whereis命令用于查找命令的二進(jìn)制文件,
源文件
和手冊頁文件所在的位置。例如,whereis firefox 在提示符下輸入將顯示如下圖所示的結(jié)果
如果您只想要顯示可執(zhí)行文件的路徑,而不是源和路徑(man(頁)),請使用該-b選項(xiàng)。例如,該命令whereis -b firefox將僅顯示/usr/bin/firefox為結(jié)果。這很方便,因?yàn)槟赡軙人阉髟摮绦虻脑错撁婧褪謨皂摳l繁地搜索程序的可執(zhí)行文件。您也可以僅搜索源文件(-s)或僅搜索手冊頁(-m)。
有關(guān)whereis命令的詳細(xì)信息,請鍵入man whereis 終端窗口,然后按Enter鍵。
了解Whereis命令與哪個(gè)命令之間的區(qū)別
whereis命令顯示命令的二進(jìn)制,源和手冊頁的位置,而哪個(gè)命令僅顯示命令的二進(jìn)制文件的位置。
whereis命令搜索二進(jìn)制,源和man文件的特定目錄列表,而哪個(gè)命令搜索當(dāng)前用戶的PATH
環(huán)境變量
中列出的目錄。對于whereis命令,可以在命令的手冊頁的FILES部分中找到具體目錄的列表。
當(dāng)涉及默認(rèn)顯示的結(jié)果時(shí),whereis命令顯示它找到的所有內(nèi)容,而哪個(gè)命令只顯示找到的之一個(gè)可執(zhí)行文件。您可以使用-a前面討論過的選項(xiàng)來更改該命令。
因?yàn)閣hereis命令只使用硬編碼到命令中的路徑,所以您可能并不總是找到您要查找的內(nèi)容。如果您正在搜索一個(gè)程序,則認(rèn)為可能安裝在whereis命令的手冊頁中未列出的目錄中,您可能希望使用該-a選項(xiàng)以查找系統(tǒng)中所有出現(xiàn)的命令,
sudo find / -iname c*
-iname是不分大小寫
-name是分大小寫
linux系統(tǒng)下,怎么設(shè)置某一用悄攜戶遠(yuǎn)程登錄只能訪問根目錄下的某個(gè)文件夾目錄或多把可啟罩伏訪問的目錄賦予對應(yīng)的權(quán)限即可悶含 如果是ftp,在/etc/ftpusers中設(shè)置,RRckiw
1. echo c*
2. ls c*
關(guān)于linux 以文件名查找的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都創(chuàng)新互聯(lián)建站主營:成都網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、網(wǎng)站改版的網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、成都網(wǎng)站推廣、成都網(wǎng)站優(yōu)化seo、響應(yīng)式移動網(wǎng)站開發(fā)制作等網(wǎng)站服務(wù)。
當(dāng)前文章:利用Linux快速查找文件名的方法(linux以文件名查找)
網(wǎng)頁地址:http://m.fisionsoft.com.cn/article/ccdppjd.html


咨詢
建站咨詢
