Linux中的find命令
程序员文章站
2022-07-13 08:18:09
...
一 语法
find [搜索范围] [搜索条件]
搜索文件
注意:
1、避免大范围搜索,会非常耗费系统资源。
2、find是在系统当中搜索符号条件的文件名。如果匹配,使用通配符匹配,通配符匹配是完全匹配。
二 Linux中的通配符
* 匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号的字符
三 举例
1、不区分大小写
find /root -iname install.log
2、按照所有者搜索
find /root -user root
3、查找没有所有者的文件(垃圾文件,/sys或/proc中的文件,外来文件如U盘)
find /root -nouser
4、根据事件查找文件
find /var/log -mtime +10
-10 10天内修改文件
10 10天当天修改的文件
+10 10天前修改的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容
5、按照大小搜索
find . -size 25k
查找文件大小是25KB的文件
-25k 小于25KB的文件
25k 等于25KB的文件
+25k 大于25KB的文件
6、根据i节点查找
find . -inum 26743
7、比较复杂的查找
四 实战
[root@localhost ~]# find ChangeLog-2.6.0
ChangeLog-2.6.0
[root@localhost ~]# find -name "Cha*"
./ChangeLog-2.6.0
[root@localhost test]# ls
abc abcdef abc.soft
[root@localhost test]# find -name "abc[d-f]"
[root@localhost test]# find -name "abc[d-f]*"
./abcdef
[root@localhost test]# find -user root
.
./abc
./abc.soft
./abcdef
[root@localhost test]# find -nouser
[root@localhost test]# find -mtime -10
.
./abc
./abc.soft
./abcdef
[root@localhost test]# find .-size -25k
.
./abc
./abc.soft
./abcdef
[root@localhost test]# find .-size +1k
[root@localhost test]# find .-size -1M
./abc
./abcdef
./1k
[root@localhost test]# find .-size -1m
find: invalid -size type `m'
[root@localhost test]# find . -size -1K
find: invalid -size type `K'
[root@localhost test]# ls -i
67170464 1k 67170460 abc 67170463 abcdef 67170462 abc.soft
[root@localhost test]#
[root@localhost test]#
[root@localhost test]#
[root@localhost test]# find . -inum 67170463
./abcdef
[root@localhost test]# find /etc -size +20k -a -size -50k
/etc/selinux/targeted/modules/active/modules/apache.pp
/etc/selinux/targeted/modules/active/modules/init.pp
/etc/selinux/targeted/modules/active/modules/staff.pp
/etc/selinux/targeted/modules/active/modules/sysadm.pp
/etc/selinux/targeted/modules/active/modules/unprivuser.pp
/etc/selinux/targeted/modules/active/modules/virt.pp
/etc/selinux/targeted/modules/active/modules/xguest.pp
/etc/selinux/targeted/modules/active/modules/xserver.pp
/etc/sysconfig/network-scripts/network-functions-ipv6
/etc/dnsmasq.conf
/etc/brltty/fr-abrege.ctb
/etc/brltty/de-kurzschrift.ctb
/etc/brltty/en-nabcc.ttb
/etc/brltty/en-us-g2.ctb
/etc/brltty.conf
/etc/postfix/access
/etc/postfix/header_checks
/etc/postfix/main.cf
[root@localhost test]# find /etc -size +20k -a -size -50k -exec ls -lh {} \;
-rw-r--r--. 1 root root 25K Nov 21 2015 /etc/selinux/targeted/modules/active/modules/apache.pp
-rw-r--r--. 1 root root 29K Nov 21 2015 /etc/selinux/targeted/modules/active/modules/init.pp
-rw-r--r--. 1 root root 34K Nov 21 2015 /etc/selinux/targeted/modules/active/modules/staff.pp
-rw-r--r--. 1 root root 45K Nov 21 2015 /etc/selinux/targeted/modules/active/modules/sysadm.pp
-rw-r--r--. 1 root root 29K Nov 21 2015 /etc/selinux/targeted/modules/active/modules/unprivuser.pp
-rw-r--r--. 1 root root 27K Nov 21 2015 /etc/selinux/targeted/modules/active/modules/virt.pp
-rw-r--r--. 1 root root 21K Nov 21 2015 /etc/selinux/targeted/modules/active/modules/xguest.pp
-rw-r--r--. 1 root root 29K Nov 21 2015 /etc/selinux/targeted/modules/active/modules/xserver.pp
-rw-r--r--. 1 root root 26K Sep 16 2015 /etc/sysconfig/network-scripts/network-functions-ipv6
-rw-r--r--. 1 root root 25K Aug 6 2015 /etc/dnsmasq.conf
-rw-r--r--. 1 root root 49K Mar 6 2015 /etc/brltty/fr-abrege.ctb
-rw-r--r--. 1 root root 37K Mar 6 2015 /etc/brltty/de-kurzschrift.ctb
-rw-r--r--. 1 root root 21K Mar 6 2015 /etc/brltty/en-nabcc.ttb
-rw-r--r--. 1 root root 39K Mar 6 2015 /etc/brltty/en-us-g2.ctb
-rw-r--r--. 1 root root 22K Mar 6 2015 /etc/brltty.conf
-rw-r--r--. 1 root root 21K Jun 10 2014 /etc/postfix/access
-rw-r--r--. 1 root root 22K Jun 10 2014 /etc/postfix/header_checks
-rw-r--r--. 1 root root 27K Jun 10 2014 /etc/postfix/main.cf
[root@localhost test]# find abc
abc
[root@localhost test]# find abc -exec rm -rf {} \;
[root@localhost test]# find abc
find: ?.bc?. No such file or directory
上一篇: linux常用命令1
下一篇: Linux文件查找工具之find