Linux命令学习七:find、whereis、which、locate
查找文件或目录:find
find命令将从指定的目录开始向下递归查找各个子目录,将满足条件的结果输出 到终端。
基本语法
find [指定目录] [参数]
参数说明
| 参数 | 说明 |
|---|---|
| -name | 按照指定的文件名进行查找 |
| -user | 查找属于某个用户的文件 |
| -size | 按照指定的文件大小进行查找。 |
实例
# 从根目录开始查找,列出root用户所有文件大小大于5G的文件
$ find / -user root -size +20G
# 查找当前目录下,所有文件后缀为 .cfg 的文件
$ find . -name "*.cfg"
快速定位文件路径:locate
locate命令维护了一个本地的数据库,每次进行搜索的时候,都会从locate的数据库中查找并返回匹配的结果。但是这个数据库并不会自动更新,就是说,磁盘中新添加了文件,这个数据库并不会自动加入这些新增加的文件。locate命令的数据库需要手工维护,每次进行搜索前可以手工先进行数据库的升级。
安装locate
locate在最小化安装的系统中并没有安装,可以通过yum或者dnf命令进行安装。
yum install -y locate
由于locate命令是基于数据库查询,所以在查询 前,最好都先更新一下数据库
$ updatedb
基本语法
locate 文件名/目录名
实例
查找文件名包含了passwd的文件
$ locate passwd
/usr/share/man/zh_CN/man1/gpasswd.1.gz
/usr/share/man/zh_CN/man8/chgpasswd.8.gz
/usr/share/man/zh_CN/man8/chpasswd.8.gz
/usr/share/man/zh_TW/man8/chpasswd.8.gz
/var/lib/sss/mc/passwd
文件查找命令:which
跟find命令不一样,which命令是在环境变量$PATH中进行查找符合条件的文件
基本语法
which [选项] 文件名
参数选项
| 参数 | 说明 |
|---|---|
| -a | 显示所有匹配的可执行的路径 |
实例
查找passwd的路径
$ which passwd
/usr/bin/passwd
文件查找命令:whereis
whereis用于查找命令的存放位置,该 命令只能用于查找二进制文件、源代码文件和man手册页
基本用法
whereis [参数] 文件名
参数说明
| 参数 | 说明 |
|---|---|
| -b | 只查找二进制文件 |
| -f | 不显示文件名前的路径名称 |
| -m | 只查找说明文件 |
| -s | 只查找原始代码文件 |
实例
# 查找 whereis 命令的存放位置
$ whereis whereis
whereis: /usr/bin/whereis /usr/share/man/man1/whereis.1.gz
混迹IT行业多年,技术依然渣渣,故名zaza-h
记录和分享自己的学习历程,如果有错漏,请各路大神帮忙指正。也欢迎大家多多讨论,共同成长
本文来自博客园,作者:zaza_h,转载请注明原文链接:https://www.cnblogs.com/zaza-h/p/16204587.html

浙公网安备 33010602011771号