更多python、Linux、网络安全学习内容,可移步:www.oldboyedu.com或关注\"老男孩Linux\"公众号
分类: LINUX
2022-03-22 14:38:31
Linux和Windows同为操作系统,但两者却完全不同,Windows为图形界面化系统,而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
....省略....
#注意:+-号如果没有,是精确到这么大,通常都会带上+或-号表示一个范围.