Linux 管理員一天都不能離開(kāi)搜索文件,因?yàn)檫@是他們的日?;顒?dòng)。了解一些搜索的東西是不錯(cuò)的,因?yàn)檫@能幫助你在命令行服務(wù)器中工作。這些命令記憶起來(lái)不復(fù)雜,因?yàn)樗鼈兪褂玫氖菢?biāo)準(zhǔn)語(yǔ)法。
可以通過(guò)四個(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ù)庫(kù),而 find 命令在真實(shí)系統(tǒng)中搜索。
它使用數(shù)據(jù)庫(kù)而不是搜索單個(gè)目錄路徑來(lái)獲取給定文件。
locate 命令未在大多數(shù)發(fā)行版中預(yù)安裝,因此,請(qǐng)使用你的包管理器進(jìn)行安裝。
數(shù)據(jù)庫(kù)通過(guò) cron 任務(wù)定期更新,但我們可以通過(guò)運(yùn)行以下命令手動(dòng)更新它。
$ sudo updatedb
只需運(yùn)行以下命令即可列出給定的文件或文件夾。在 locate 命令中不需要指定特定選項(xiàng)來(lái)打印文件或文件夾。
在系統(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í),你無(wú)法搜索 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è)頁(yè)文件。
# whereis vi
vi: /usr/bin/vi /usr/share/man/man1/vi.1p.gz /usr/share/man/man1/vi.1.gz
-
Linux
+關(guān)注
關(guān)注
87文章
11377瀏覽量
211329
原文標(biāo)題:Linux 搜索文件和文件夾的 4 種簡(jiǎn)單方法
文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
使用MAXI接口的最簡(jiǎn)單方法是什么?
在外部存儲(chǔ)網(wǎng)頁(yè)文件的最簡(jiǎn)單方法?
一種節(jié)省能源的簡(jiǎn)單方法
對(duì)SensorTile.box進(jìn)行編程的最簡(jiǎn)單方法是什么?
一種寬范圍微弱直流信號(hào)測(cè)量的簡(jiǎn)單方法
應(yīng)用Matlab仿單相PWM整流器的一種簡(jiǎn)單方法

學(xué)習(xí)PLC的2個(gè)簡(jiǎn)單方法
簡(jiǎn)單方便lockdir_文件加密軟件
AN143-一種準(zhǔn)確預(yù)測(cè)泄漏電流引起的PLL參考雜散電平的簡(jiǎn)單方法

將LCD屏幕連接到Arduino mega的最簡(jiǎn)單方法

使用Bolt構(gòu)建鬧鐘的最簡(jiǎn)單方法

使用蜂鳴器創(chuàng)建警報(bào)的最簡(jiǎn)單方法

用Arduino控制伺服電機(jī)的超級(jí)簡(jiǎn)單方法

評(píng)論