文件搜索命令:find
find [搜索范围] [匹配条件]
举例:在/etc目录下找
精确匹配 名称为init
[root@localhost ~]# find /etc -name init
/etc/sysconfig/init
/etc/selinux/targeted/active/modules/100/init
以init结尾:
[root@localhost ~]# find /etc -name *init
/etc/sysconfig/init
/etc/security/namespace.init
/etc/selinux/targeted/active/modules/100/init
以init开头
[root@localhost ~]# find /etc -name init*
/etc/init.d
/etc/rc.d/init.d
/etc/inittab
/etc/sysconfig/init
/etc/sysconfig/network-scripts/init.ipv6-global
/etc/selinux/targeted/active/modules/100/init
/etc/selinux/targeted/contexts/initrc_context
名称中包含init
[root@localhost ~]# find /etc -name *init*
/etc/init.d
/etc/rc.d/init.d
/etc/systemd/system/sysinit.target.wants
/etc/inittab
/etc/sysconfig/init
/etc/sysconfig/network-scripts/init.ipv6-global
/etc/security/namespace.init
/etc/selinux/targeted/active/modules/100/init
/etc/selinux/targeted/contexts/initrc_context
以init开头,并且后面跟着3个字母
[root@localhost ~]# find /etc -name init???
/etc/inittab
查询时不区分大小写 -iname
[root@localhost ~]# find /tmp -iname init???
/tmp/INITabs
根据文件大小查询 -size
查找跟目录下大于100MB的文件(大于+,小于-,等于直接写数字)
find / -size +204800(1个数据块=512b=0.5kb , 100MB=100*1024kb=102400kb,1kb=2个数据块,102400kb=204800个数据块)
根据所有者查询:-user
查询跟目录下所有者是zhangsan的文件
find / -user zhangsan
根据所属组查询:-group
/etc下查询5分钟内被修改过属性的文件和目录(-amin:访问时间(access),-cmin:文件属性(change即ls -l查出来的),-mmin:文件内容(modify))
find /etc -cmin -5
连接符号,a 代表 and 并且, o 代表 other 或者
查询包含init的路径(-type 文件类型,d:路径,f:文件,l:连接)
find /etc -name *init* -a -type d
-exec:对结果执行的命令
在/etc下查找name是inittab的文件或路径,并且执行 ls -l 命令({} ;是固定写法)
[root@localhost ~]# find /etc -name inittab -exec ls -l {} ;
-rw-r--r--. 1 root root 511 10月 31 2018 /etc/inittab
在/etc下查询name以init开头,并且是文件,并查看详细属性
[root@localhost ~]# find /etc -name init* -a -type f -exec ls -lt {} ;
-rw-r--r--. 1 root root 511 10月 31 2018 /etc/inittab
-rw-r--r--. 1 root root 798 10月 31 2018 /etc/sysconfig/init
-rwxr-xr-x. 1 root root 5419 8月 24 2018 /etc/sysconfig/network-scripts/init.ipv6-global
-rw-r--r--. 1 root root 30 11月 3 2018 /etc/selinux/targeted/contexts/initrc_context
-ok与-exec用法一致,只是询问确认,是否执行,输入y或者n
根据节点号查找
[root@localhost tmp]# find . -inum 747434
./a
ls -i 查询文件节点号
找到并且删除节点号是17314978的文件
find . -inum 17314978 -exec rm {} ;