whereis
whereis命令用来查找二进制文件、源代码和帮助手册。whereis仅在常用的几个安装目录的范围内查找,不会查找整个系统上的所有文件。这虽然是whereis的局限性,但也正是由于这个原因,whereis的查找速度非常快。另外值得注意的是,whereis不会查找那些shell内置的命令。
比如,我们要查找ls命令:
whereis ls
登录后复制
结果如下,其中/bin/ls是ls的路径,另外两个是帮助手册的路径。
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
登录后复制
如果我们把ls复制到home目录和/usr/bin/ls目录,再次执行whereis命令:
cp /bin/ls ~cp /bin/ls /usr/bin/lswhereis ls
登录后复制
结果如下,可以发现,whereis并没有查找home目录,因为home目录并不是常用的安装目录之一。
ls: /bin/ls /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
登录后复制
用whereis查找cd这些shell内置的命令:
whereis cd
登录后复制
结果如下,只显示了帮助手册的路径。
cd: /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz
登录后复制
locate
locate命令是基于文件数据库(/var/lib/mlocate/mlocate.db)的查找工具,文件数据库是整个文件系统的一个镜像。locate命令的查找模式默认是模糊匹配的,也就是说包含文件名的所有文件都会被查找到,因此返回结果通常比较多。值得注意的是,文件数据库通常每天更新一次,因此可能无法查找一些刚刚创建或删除的文件。我们可以执行updatedb命令手动更新这个数据库。由于是基于文件数据库而不是文件系统进行查找,locate的执行速度也是相当快的。
仍然以ls为例进行查找:
locate ls
登录后复制
我们会得到大量含有ls的结果。为了让输出结果更精确,可以用-b指令,也就是使用精确匹配模式来查找。
locate -b "\ls"
登录后复制
这样输出结果就只包含ls命令的所在的路径了。
/bin/ls
登录后复制
which
which命令的查找范围是环境变量PATH,并且默认只返回第一个结果,执行速度很快。如果我们查找的是别名,which命令也会在查找之前,映射到别名对应的真实路径。
比如我们定义了一个名为ll的别名,查找命令如下:
which ll
登录后复制
结果如下:
alias ll='ls -l --color=auto'/bin/ls
登录后复制
如果我们要显示全部结果,加上-a指令即可。
which -a your_command
登录后复制
type
type命令用来显示某个命令的类型,比如别名、关键词、函数、内置命令、文件等。和whereis命令一样,type命令也仅在常用的几个安装目录的范围内查找。
显示cd命令的类型:
type cdcd is a shell builtin
登录后复制
显示某个二进制文件的类型:
type sudosudo is /usr/bin/sudo
登录后复制
显示别名:
type lsls is aliased to `ls --color=auto'
登录后复制
find
在5种查找命令中,find命令是功能最强大的命令,也是执行速度最慢的命令。和其他4种命令不同,find命令是基于文件系统的查找,一个文件节点一个文件节点的查找。find命令甚至可以对查找的结果进行后续的操作。
find命令的基本使用方法:
find [path] [option] [action]
登录后复制
在home目录及其子目录中,查找文件名为aaa的文件:
find ~ -name 'aaa'
登录后复制
在整个文件系统中,查找修改时间24小时内的文件:
find / -mtime 0
登录后复制
在nginx的web目录及其子目录中,查找所属用户为nginx的文件:
find /usr/share/nginx/html/ -user nginx
登录后复制
在当前目录中,查找权限为744的文件:
find -perm -0744
登录后复制
在当前目录中,查找文件名为aaa的文件,并显示其详细信息:
find -name 'aaa' -exec ls -l {} \;
登录后复制
以上就是Linux云服务器的查找命令有哪些及怎么使用的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3165121.html