老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

Linux系统下如何快速查询到对应文件?老男孩Linux运维培训班

老男孩IT教育

常见问题

2022年3月21日 13:48

Linux和Windows同为操作系统,但两者却完全不同,Windows为图形界面化系统,而Linux则是命令行界面,即需要通过执行命令才能完成所需任务,你知道在Linux系统下都有哪些命令可以快速查询到对应文件吗?请看下文:

       Linux和Windows同为操作系统,但两者却完全不同,Windows为图形界面化系统,而Linux则是命令行界面,即需要通过执行命令才能完成所需任务,你知道在Linux系统下都有哪些命令可以快速查询到对应文件吗?请看下文:

Linux运维培训班

       查命令绝对路径:which用于查找并显示给定命令的绝对路径,也可以查出环境变量中的PATH参数

[root@localhost ~]# which bash
/usr/bin/bash

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

       寻找特定文件:whereis用来定位指令的二进制程序、源代码文件和man手册页等相关文件的路径,注意:该命令只能用于程序名的搜索

[root@localhost ~]# whereis --help

语法格式:[ whereis [选项] 文件名 ]

        -b              #只找二进制文件
        -m              #只找man文档
        -s              #只找源代码

       使用 whereis -b 命令找二进制文件,与帮助手册。

[root@localhost ~]# whereis -b ifconfig
ifconfig: /usr/sbin/ifconfig

[root@localhost ~]# whereis -m ifconfig
ifconfig: /usr/share/man/man8/ifconfig.8.gz

       缓存查找文件

       locate搜索一个数据库/var/lib/mlocatedb,这个数据库中含有本地所有文件信息,Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。

       为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库,updatedb命令会根据/etc/updatedb.conf来更新文件。

[root@localhost ~]# yum install -y mlocate
[root@localhost ~]# locate --help

语法格式:[ locate [选项] 文件名 ]

        -d 目录        #指定数据库所在的目录
        -i             #忽略大小写差异
        -r             #后面接正则表达式

       使用locate命令查询一个文件。

[root@localhost ~]# updatedb 
[root@localhost ~]# locate /etc/passwd
/etc/passwd
/etc/passwd-

       遍历文件查找:find命令可以说是最重要的查找命令了,该命令参数较多。

[root@localhost ~]# find --help

语法格式:[ find [目录] [属性] 文件名 ]

        -name         #按文件名查找
        -size         #根据大小查找
        -user         #根据属主查找
        -perm         #根据权限查找
        -type         #根据类型查找
        -time         #按时间查找
        -inum         #根据i节点查询
        -exec         #查找后执行命令

       -name 按文件名查找:常用查询通配符

\*     #匹配任意一个或多个字符
?     #匹配任意一个字符
[]     #指定范围,外侧加引号

       查找/var/目录下,以.log结尾的文件

[root@localhost ~]# find /var/ -name "*.log"
/var/log/tuned/tuned.log
/var/log/audit/audit.log
/var/log/anaconda/X.log
/var/log/anaconda/program.log
....省略....

       查找/etc/目录下,大于1M的文件

[root@localhost ~]# find /etc/ -size +1M   #查询大于1M的文件
/etc/udev/hwdb.bin
/etc/selinux/targeted/active/policy.kern
/etc/selinux/targeted/contexts/files/file_contexts.bin
/etc/selinux/targeted/policy/policy.31
....省略....

#注意:+-号如果没有,是精确到这么大,通常都会带上+或-号表示一个范围.

       关于"Linux系统下如何快速查询到对应文件?"的话题到这里就结束了,更多Linux学习内容,欢迎关注老男孩教育Linux运维培训课程。老男孩教育Linux培训班,从Linux基础、云计算运维、Docker容器、集群与存储、数据库管理、安全技术、自动化运维、Python开发等方面进行教学,帮助学生高效学习Linux技术,奠定坚实的理论基础和优秀的实践能力。帮助更多的Linux爱好者成为优秀的Linux运维工程师。

  推荐阅读:

       什么是内网、外网?两者有什么区别?老男孩Linux运维培训机构

       Linux系统的软链接与硬链接是什么?老男孩Linux运维培训班

       CDN是什么?为什么需要它?老男孩Linux运维云计算培训

本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。