Linux中國

搜索 Linux 中的文件和文件夾的四種簡單方法

Linux 管理員一天都不能離開搜索文件,因為這是他們的日常活動。了解一些搜索的東西是不錯的,因為這能幫助你在命令行伺服器中工作。這些命令記憶起來不複雜,因為它們使用的是標準語法。

可以通過四個 Linux 命令啦執行此操作,每個命令都有自己獨特的功能。

方法 1:使用 find 命令在 Linux 中搜索文件和文件夾

find 命令被廣泛使用,並且是在 Linux 中搜索文件和文件夾的著名命令。它搜索當前目錄中的給定文件,並根據搜索條件遞歸遍歷其子目錄。

它允許用戶根據大小、名稱、所有者、組、類型、許可權、日期和其他條件執行所有類型的文件搜索。

運行以下命令以在系統中查找給定文件。

# find / -iname "sshd_config"
/etc/ssh/sshd_config

運行以下命令以查找系統中的給定文件夾。要在 Linux 中搜索文件夾,我們需要使用 -type 參數。

# 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

使用通配符搜索系統上的所有文件。我們將搜索系統中所有以 .config 為擴展名的文件。

# 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

使用以下命令格式在系統中查找空文件和文件夾。

# 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 命令運行得更快,因為它使用 updatedb 資料庫,而 find 命令在真實系統中搜索。

它使用資料庫而不是搜索單個目錄路徑來獲取給定文件。

locate 命令未在大多數發行版中預安裝,因此,請使用你的包管理器進行安裝。

資料庫通過 cron 任務定期更新,但我們可以通過運行以下命令手動更新它。

$ sudo updatedb

只需運行以下命令即可列出給定的文件或文件夾。在 locate 命令中不需要指定特定選項來列印文件或文件夾。

在系統中搜索 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

在系統中搜索 ssh_config 文件。

# locate --basename 'sshd_config'
/etc/ssh/sshd_config

方法 3:在 Linux 中搜索文件使用 which 命令

which 返回在終端輸入命令時執行的可執行文件的完整路徑。

當你想要為可執行文件創建桌面快捷方式或符號鏈接時,它非常有用。

which 命令搜索當前用戶而不是所有用戶的 $PATH 環境變數中列出的目錄。我的意思是,當你登錄自己的帳戶時,你無法搜索 root 用戶文件或目錄。

運行以下命令以列印 vim 可執行文件的完整路徑。

# which vi
/usr/bin/vi

或者,它允許用戶一次執行多個文件搜索。

# which -a vi sudo
/usr/bin/vi
/bin/vi
/usr/bin/sudo
/bin/sudo

方法 4:使用 whereis 命令在 Linux 中搜索文件

whereis 命令用於搜索給定命令的二進位、源碼和手冊頁文件。

# whereis vi
vi: /usr/bin/vi /usr/share/man/man1/vi.1p.gz /usr/share/man/man1/vi.1.gz

via: https://www.2daygeek.com/four-easy-ways-to-search-or-find-files-and-folders-in-linux/

作者:Prakash Subramanian 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國