which命令、whereis命令、 find命令 、locate命令、文件名后缀

北城以北 提交于 2019-12-01 03:25:43

which命令

which命令只能用来查找PATH环境变量中出现的路径下的可执行文件。有时我们不知道某个命令的绝对路径时可以使用which命令来查找

[root@localhost ~]# which ls
alias ls='ls --color=auto'
	/usr/bin/ls

whereis 命令

whereis命令通过预生成的一个文件列表库查找与给出的文件名相关的文件,使用格式为:whereis 参数 文件名 其参数如下

  • b:只查找二进制文件
  • m:只查找帮助文件(在man目录下的文件)
  • s:只查找源代码文件 whereis命令类似于模糊查找,只要文件中包含要查找的字符,都会显示出来。
[root@localhost ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

locate命令

locate命令类似于whereis,也是通过查找预生成的文件列表库来告诉用户要查找的文件在哪里,后面直接跟文件名。一般机器上没有安装这个软件包,使用yum install -y mlocate 安装。在安装完毕之后第一次使用会报错,因为系统上没有生成文件列表库,可以通过使用updatedb命令立即生成这个库,但是如果机器上正运行着重要业务最好不要运行这个命令,因为一旦执行,服务器的压力会增加。

[root@localhost ~]# locate more
/usr/bin/more
/usr/bin/xzmore
/usr/bin/zmore
/usr/share/bash-completion/completions/more
/usr/share/man/man1/more.1.gz
/usr/share/man/man1/xzmore.1.gz
/usr/share/man/man1/zmore.1.gz
[root@localhost ~]# 

这个命令精确度不高,往往搜索结果会很多,所以这个命令并不常用。

find命令

find命令是最常用的搜索命令,格式为find [路径] [参数]

  • -atime +n /-n:表示访问或执行时间大于(+)、或小于(-)n天的文件
  • -ctime +n /-n:表示写入、更改inode属性(所有者,权限,链接等)的时间大于(+)、或小于(-)n天的文件
  • -mtime +n/-n :表示写入时间大于或小于n天的文件

还有一种写法是-mmin -10 ,这就表示10分钟以内的文件

find命令还有一种常用的方式:

find -name filename:表示直接查找该文件名的文件,这个用法支持通配符* ,

[root@test-01 ~]# find /usr/bin/ls*
/usr/bin/ls
/usr/bin/lsattr
/usr/bin/lsblk
/usr/bin/lscpu
/usr/bin/lsinitrd
/usr/bin/lslocks

find -type_ filetype_:可以通过文件类型来查找文件

filetype 包括

  • f =文件
  • b=块设备,比如磁盘分区。
  • l=软链接,
  • c=串行端口(字符串设备),
  • d=目录,
  • s=套接字文件。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!