习惯了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 | |
centos | git clone --depth 1 https://hub.fastgit.org/junegunn/fzf.git ~/.fzf cd ~/.fzf ./install | ||
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 /)
查找迅速简单,值得拥有!