Linux搜索文件和文件夾的四種簡單方法
引言
Linux 管理員一天都不能離開搜索文件,因?yàn)檫@是他們的日常活動(dòng)。了解一些搜索的東西是不錯(cuò)的,因?yàn)檫@能幫助你在命令行服務(wù)器中工作。這些命令記憶起來不復(fù)雜,因?yàn)樗鼈兪褂玫氖菢?biāo)準(zhǔn)語法。
可以通過四個(gè) Linux 命令啦執(zhí)行此操作,每個(gè)命令都有自己獨(dú)特的功能。
方法 1:使用 find 命令在 Linux 中搜索文件和文件夾
find 命令被廣泛使用,并且是在 Linux 中搜索文件和文件夾的著名命令。它搜索當(dāng)前目錄中的給定文件,并根據(jù)搜索條件遞歸遍歷其子目錄。
它允許用戶根據(jù)大小、名稱、所有者、組、類型、權(quán)限、日期和其他條件執(zhí)行所有類型的文件搜索。
運(yùn)行以下命令以在系統(tǒng)中查找給定文件。
# find / -iname "sshd_config" /etc/ssh/sshd_config
運(yùn)行以下命令以查找系統(tǒng)中的給定文件夾。要在 Linux 中搜索文件夾,我們需要使用 -type 參數(shù)。
# find / -type d -iname "ssh" /usr/lib/ssh /usr/lib/go/src/cmd/vendor/golang.org/x/crypto/ssh /usr/lib/go/pkg/linux_amd64/cmd/vendor/golang.org/x/crypto/ssh /etc/ssh
使用通配符搜索系統(tǒng)上的所有文件。我們將搜索系統(tǒng)中所有以 .config 為擴(kuò)展名的文件。
# find / -name "*.config" /usr/lib/mono/gac/avahi-sharp/1.0.0.0__4d116c78973743f5/avahi-sharp.dll.config /usr/lib/mono/gac/avahi-ui-sharp/0.0.0.0__4d116c78973743f5/avahi-ui-sharp.dll.config /usr/lib/python2.7/config/Setup.config /usr/share/git/mw-to-git/t/test.config /var/lib/lightdm/.config /home/daygeek/.config /root/.config /etc/skel/.config
使用以下命令格式在系統(tǒng)中查找空文件和文件夾。
# find / -empty
使用以下命令組合查找 Linux 上包含特定文本的所有文件。
# find / -type f -exec grep "Port 22" '{}' ; -print # find / -type f -print | xargs grep "Port 22" # find / -type f | xargs grep 'Port 22' # find / -type f -exec grep -H 'Port 22' {} ;
方法 2:使用 locate 命令在 Linux 中搜索文件和文件夾
locate 命令比 find 命令運(yùn)行得更快,因?yàn)樗褂?updatedb 數(shù)據(jù)庫,而 find 命令在真實(shí)系統(tǒng)中搜索。
它使用數(shù)據(jù)庫而不是搜索單個(gè)目錄路徑來獲取給定文件。
locate 命令未在大多數(shù)發(fā)行版中預(yù)安裝,因此,請(qǐng)使用你的包管理器進(jìn)行安裝。
數(shù)據(jù)庫通過 cron 任務(wù)定期更新,但我們可以通過運(yùn)行以下命令手動(dòng)更新它。
$ sudo updatedb
只需運(yùn)行以下命令即可列出給定的文件或文件夾。在 locate 命令中不需要指定特定選項(xiàng)來打印文件或文件夾。
在系統(tǒng)中搜索 ssh 文件夾。
# locate --basename 'ssh' /etc/ssh /usr/bin/ssh /usr/lib/ssh /usr/lib/go/pkg/linux_amd64/cmd/vendor/golang.org/x/crypto/ssh /usr/lib/go/src/cmd/go/testdata/failssh/ssh /usr/lib/go/src/cmd/vendor/golang.org/x/crypto/ssh
在系統(tǒng)中搜索 ssh_config 文件。
# locate --basename 'sshd_config' /etc/ssh/sshd_config
方法 3:在 Linux 中搜索文件使用 which 命令
which 返回在終端輸入命令時(shí)執(zhí)行的可執(zhí)行文件的完整路徑。
當(dāng)你想要為可執(zhí)行文件創(chuàng)建桌面快捷方式或符號(hào)鏈接時(shí),它非常有用。
which 命令搜索當(dāng)前用戶而不是所有用戶的 $PATH 環(huán)境變量中列出的目錄。我的意思是,當(dāng)你登錄自己的帳戶時(shí),你無法搜索 root 用戶文件或目錄。
運(yùn)行以下命令以打印 vim 可執(zhí)行文件的完整路徑。
# which vi /usr/bin/vi
或者,它允許用戶一次執(zhí)行多個(gè)文件搜索。
# which -a vi sudo /usr/bin/vi /bin/vi /usr/bin/sudo /bin/sudo
方法 4:使用 whereis 命令在 Linux 中搜索文件
whereis 命令用于搜索給定命令的二進(jìn)制、源碼和手冊(cè)頁文件。
# whereis vi vi: /usr/bin/vi/usr/share/man/man1/vi.1p.gz/usr/share/man/man1/vi.1.gz
到此這篇關(guān)于Linux搜索文件和文件夾的四種簡單方法的文章就介紹到這了,更多相關(guān)Linux搜索文件和文件夾內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Linux環(huán)境下采用壓縮包方式安裝JDK 13的方法
JDK(Java Development Kit)是Sun公司(后被Oracle收購)推出的面向?qū)ο蟪绦蛟O(shè)計(jì)語言的開發(fā)工具包,擁有這個(gè)工具包之后我們就可以使用Java語言進(jìn)行程序設(shè)計(jì)和開發(fā)。這篇文章主要介紹了在Linux環(huán)境下采用壓縮包方式安裝JDK 13,需要的朋友可以參考下2019-10-10教你快速開啟Apache SkyWalking的自監(jiān)控
這篇文章主要介紹了如何開啟Apache SkyWalking的自監(jiān)控的相關(guān)資料,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04linux中install命令和cp命令的使用與區(qū)別
相信大家都知道linux中的命令I(lǐng)nstall和cp類似,都可以將文件/目錄拷貝到指定的地點(diǎn)。下面這篇文章就詳細(xì)介紹了linux中install命令和cp命令的介紹與區(qū)別。有需要的朋友們可以參考借鑒,下面來一起看看吧。2017-01-01通過yum升級(jí)CentOS/RHEL最小化安裝的方法
下面小編就為大家?guī)硪黄ㄟ^yum升級(jí)CentOS/RHEL最小化安裝的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12Linux系統(tǒng)運(yùn)行級(jí)別詳細(xì)介紹
大家好,本篇文章主要講的是Linux系統(tǒng)運(yùn)行級(jí)別詳細(xì)介紹,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12