Linux 管理員一天都不能離開搜索文件,由於這是他們的平常活動。瞭解一些搜索的東西是不錯的,由於這能幫助你在命令行服務器中工做。這些命令記憶起來不復雜,由於它們使用的是標準語法。python
能夠經過四個 Linux 命令啦執行此操做,每一個命令都有本身獨特的功能。linux
方法 1:使用 find 命令在 Linux 中搜索文件和文件夾git
find 命令被普遍使用,而且是在 Linux 中搜索文件和文件夾的著名命令。它搜索當前目錄中的給定文件,並根據搜索條件遞歸遍歷其子目錄。golang
它容許用戶根據大小、名稱、全部者、組、類型、權限、日期和其餘條件執行全部類型的文件搜索。數據庫
運行如下命令以在系統中查找給定文件。vim
/etc/ssh/sshd_config
運行如下命令以查找系統中的給定文件夾。要在 Linux 中搜索文件夾,咱們須要使用 -type參數。服務器
/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 爲擴展名的文件。python2.7
/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
使用如下命令格式在系統中查找空文件和文件夾。ssh
使用如下命令組合查找 Linux 上包含特定文本的全部文件。ui
方法 2:使用 locate 命令在 Linux 中搜索文件和文件夾
locate 命令比 find 命令運行得更快,由於它使用 updatedb 數據庫,而 find 命令在真實系統中搜索。
它使用數據庫而不是搜索單個目錄路徑來獲取給定文件。
locate 命令未在大多數發行版中預安裝,所以,請使用你的包管理器進行安裝。
數據庫經過 cron 任務按期更新,但咱們能夠經過運行如下命令手動更新它。
$ sudo updatedb
只需運行如下命令便可列出給定的文件或文件夾。在 locate 命令中不須要指定特定選項來打印文件或文件夾。
在系統中搜索 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 文件。
/etc/ssh/sshd_config
方法 3:在 Linux 中搜索文件使用 which 命令
which 返回在終端輸入命令時執行的可執行文件的完整路徑。
當你想要爲可執行文件建立桌面快捷方式或符號連接時,它很是有用。
which 命令搜索當前用戶而不是全部用戶的 $PATH 環境變量中列出的目錄。個人意思是,當你登陸本身的賬戶時,你沒法搜索 root 用戶文件或目錄。
運行如下命令以打印 vim 可執行文件的完整路徑。
/usr/bin/vi
或者,它容許用戶一次執行多個文件搜索。
/usr/bin/vi
/bin/vi
/usr/bin/sudo
/bin/sudo
方法 4:使用 whereis 命令在 Linux 中搜索文件
whereis 命令用於搜索給定命令的二進制、源碼和手冊頁文件。
vi: /usr/bin/vi /usr/share/man/man1/vi.1p.gz /usr/share/man/man1/vi.1.gz