習慣了windows下的everything,然而在linux下怎樣快速查找想要的文件,一般有兩種形式,一種是通過指令實現,另一種是通過第三方軟件實現,下面就自己的摸索進行簡單的總結:
(1)指令
linux下查找的命令有如下幾個,
- find:是根據文件的屬性進行查找,如文件名,文件大小,所有者,所屬組,是否爲空,訪問時間,修改時間等。
- grep:是根據文件的內容進行查找,會對文件的每一行按照給定的模式(pattern)進行匹配查找。
- which:查看可執行文件的位置 ,只有設置了環境變量的程序纔可以用
- whereis :尋找特定文件,只能用於查找二進制文件、源代碼文件和man手冊頁
- locate:配合數據庫查看文件位置 ,詳情:locate -h查看幫助信息
其中find與grep使用較爲頻繁,find使用基本格式:find path expression,如
find / -name httpd.conf #在根目錄下查找文件httpd.conf,表示在整個硬盤查找
而grep的使用形式爲:grep "被查找的字符串" 文件名,如
grep 'test' d* #顯示所有以d開頭的文件中包含 test的行
(2)第三方軟件
這裏推薦這老哥的總結https://www.jianshu.com/p/4a62c38bec7e很詳細,結合自己的使用,如果要可視化界面,那就推薦fsearch或者Albert,如果只是在終端下使用那就fzf、ag、ack吧,速度都是槓槓的。以fzf爲例,首先根據自己的系統進行安裝,安裝方法如下,
Package Manager | Linux Distribution | Command | |
---|---|---|---|
Linux | APK | Alpine Linux | sudo apk add fzf |
APT | Debian 9+/Ubuntu 19.10+ | sudo apt-get install fzf |
|
Conda | conda install -c conda-forge fzf |
||
DNF | Fedora | sudo dnf install fzf |
|
Nix | NixOS | nix-env -iA nixpkgs.fzf |
|
Pacman | Arch Linux | sudo pacman -S fzf |
|
pkg | FreeBSD | pkg install fzf |
|
pkg_add | OpenBSD | pkg_add fzf |
|
Zypper | openSUSE | sudo zypper install fzf |
具體的使用可以參考https://www.tecmint.com/fzf-fuzzy-file-search-from-linux-terminal/,安裝成功後在terminal下輸入fzf,即搜索當前路徑下所有文件(搜索全盤的話先進入根目錄cd /)
查找迅速簡單,值得擁有!