Linux基础命令--查找命令
话不多说,先上思维导图
which
which后面直接跟命令,找到这个命令的所在位置,这个命令用的较少
命令格式
which 命令|程序名
实例
which ls
which mkdir
find
查找路径:指定具体目标路径;不指定为默认当前目录
查找条件:可以对文件名、大小、类型、权限等标准进行查找;默认为找出指定路径下的所有文件
处理动作:对符合条件的文件做操作,默认输出至屏幕(print)
此命令用的最多
命令格式
find [查找路径] [查找条件] [处理动作]
实例
1.按文件名查找
find /etc -name "hosts"
#双引号可有可无
find /etc -iname HOSTS
#参数i 不区分大小写
find /etc -iname "ho*"
#忘记文件名模糊查找
2.按文件大小
find /etc -size +5M #查找文件大于5M
ll /etc/udev/hwdb.bin -h #-h 人性化显示,可以看到这个文件7.6M
dd if=/dev/zero of=/tmp/5M.txt bs=1M count=5 #创建一个5M的文件
find /etc -size 5M #查找大小5M的文件
ll /tmp/5M.txt -h #友好显示一下,确实是5M
查找小于5M的就不演示了
3.按查找目录深度
最大搜索目录深度 | 最小搜索目录深度 |
---|---|
-maxdepth level | -mindepth level |
find / -maxdepth 4 -a -name "ifcfg-en*" #(a是and)
#/一级目录
#etc 二级目录
#sysconfig三级目录
#network-scripts四级目录
#此命令是在最大深度为4的文件夹下查找
4.按文件属性、属主
find /home/ -user zhangsan #属主
find /home/ -group zhangsan #属组
5.按文件类型
find /tmp -type f #普通文件
find /dev -type d #目录
6.按文件权限
find(命令).(路径)-prem(选项)644(描述) -print(动作)
find . -perm 644 -ls #查找文件权限为644的文件
7.找到后的处理动作
1.查找后的默认动作是看(print)
find data -name 1.txt -print
2. 找到后删除(delete)
find data -name 1.txt -delete
3.找到后复制
find /etc/ -name ifcfg* -ok cp -rvf {} /tmp \;
ok连接符
{}引用符
\回车符
locate
文件查找,依赖数据库,此命令用的较少
命令格式
locate [参数] [文件]
实例
touch /etc/sysconfig/network-scripts/75487.txt #创建深层目录的一个文件
locate 75487.txt #无论多深的路径,重启过后可以找到