which命令
which命令:显示(shell)命令的完整路径。
格式:which [options] [--] programname [...]
参数:
| 参数 | 作用 |
|---|---|
| -n | -n<文件名长度>:制定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名; |
| -p | 与-n参数相同,但此处的<文件名长度>包含了文件的路径; |
| -w | 指定输出时栏位的宽度; |
| -V | 显示版本信息。 |
例子:
[root@xxx ~]# which pwd
/usr/bin/pwd
find命令
find命令:用于按照指定条件来查找文件
格式:“find [查找路径] 寻找条件 操作”。
参数:
| 参数 | 作用 |
|---|---|
| -name | 匹配名称 |
| -perm | 匹配权限(mode为完全匹配,-mode为包含即可) |
| -user | 匹配所有者 |
| -group | 匹配所有组 |
| -mtime -n +n | 匹配修改内容的时间(-n指n天以内,+n指n天以前) |
| -atime -n +n | 匹配访问文件的时间(-n指n天以内,+n指n天以前) |
| -ctime -n +n | 匹配修改文件权限的时间(-n指n天以内,+n指n天以前) |
| -nouser | 匹配无所有者的文件 |
| -nogroup | 匹配无所有组的文件 |
| -newer f1 !f2 | 匹配比文件f1新但比f2旧的文件 |
| --type b/d/c/p/l/f | 匹配文件类型(后面的字母参数依次表示块设备、目录、字符设备、管道、链接文件、文本文件) |
| -size | 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件) |
| -prune | 忽略某个目录 |
| -exec …… {}; | 后面可跟用于进一步处理搜索结果的命令(下文会有演示) |
whereis命令
whereis命令:定位指令的二进制程序、源代码文件和man手册页等相关文件的路径。
格式:whereis [options] [-BMS directory... -f] name...
参数:
| 参数 | 作用 |
|---|---|
| -b | 只查找二进制文件; |
| -B | 只在设置的目录下查找二进制文件; |
| -f | 不显示文件名前的路径名称; |
| -m | 只查找说明文件; |
| -M | 只在设置的目录下查找说明文件; |
| -s | 只查找原始代码文件; |
| -S | 只在设置的目录下查找原始代码文件; |
| -u | 查找不包含指定类型的文件。 |
例子:
[root@xxx ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
# 查找man手册页
[root@xxx ~]# whereis ls -m
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
locate命令
locate命令:通过名字查找文件
格式:locate [OPTION]... PATTERN...
参数:
| 参数 | 作用 |
|---|---|
| -d<目录>或--database=<目录> | 指定数据库所在的目录; |
| -u | 更新slocate数据库; |
例子:
# 查找sh开头的文件
[root@xxx ~]# locate /etc/sh
/etc/shadow
/etc/shadow-
/etc/shells