0

0

Linux云服务器的查找命令有哪些及怎么使用

PHPz

PHPz

发布时间:2023-05-15 08:43:05

|

1677人浏览过

|

来源于亿速云

转载

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/ls
whereis 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

结果如下:

Kubit.ai
Kubit.ai

一个AI驱动的产品分析平台,为产品和数据团队构建

下载
alias ll='ls -l --color=auto'
/bin/ls

如果我们要显示全部结果,加上-a指令即可。

which -a your_command

type

type命令用来显示某个命令的类型,比如别名、关键词、函数、内置命令、文件等。和whereis命令一样,type命令也仅在常用的几个安装目录的范围内查找。

显示cd命令的类型:

type cd

cd is a shell builtin

显示某个二进制文件的类型:

type sudo

sudo is /usr/bin/sudo

显示别名:

type ls

ls 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 {} \;

相关专题

更多
Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

63

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

31

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

73

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

20

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

24

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

7

2026.01.13

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

4

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

49

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

11

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.1万人学习

Git 教程
Git 教程

共21课时 | 2.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号