搜索命令-find命令

命令格式:
find 查找位置 [选项] [参数]

1、按照文件名查找

find 查找位置 -name 文件名
选项:

-name按照文件名搜索
-iname按照文件名搜索,不区分大小写
-inum按照iNode号搜索

2、按照文件大小搜索

find 查找位置 -size 文件大小
例子:


[root@akun ~]# ll -h 
总用量 60K
-rw-r--r--. 2 user1 user1   91 5月  12 07:31 abc
-rw-------. 1 root  root  1.3K 5月   8 01:23 anaconda-ks.cfg
-rw-r--r--. 1 root  root   28K 5月   8 01:22 install.log
-rw-r--r--. 1 root  root  8.9K 5月   8 01:21 install.log.syslog
[root@akun ~]# find . -size 1.3k
find: -size 的参数‘1.3k’无效
[root@akun ~]# find . -size 28k
./install.log

大小可以用±号来使用,比如:+50k 表示大于50k的文件,-50k表示小于50k的文件
大小结合逻辑与(a)、逻辑非(!)、逻辑或(o)使用:

[root@akun ~]# ll -h
总用量 60K
-rw-------. 1 root  root  1.3K 5月   8 01:23 anaconda-ks.cfg
-rw-r--r--. 1 root  root   28K 5月   8 01:22 install.log
-rw-r--r--. 1 root  root  8.9K 5月   8 01:21 install.log.syslog
[root@akun ~]# find . -size +26k -a -size -30k
#查找当前目录下大于26k,小于30k的文件
./install.log

注:大小不写单位时默认单位时512字节,也就是说1表示512字节,2表示1024字节。
find的帮助中可以查到:

       -size n[cwbkMG]
              File uses n units of space.  The following suffixes can be used:

              ‘b’    for 512-byte blocks (this is the default if no suffix is used)
					#单位为b或者不写单位时,按照512byte搜索,这是默认单位
              ‘c’    for bytes
					#单位为c时,按照字节搜索
              ‘w’    for two-byte words
					#单位时w时按照双字节搜索,(比如中文)
              ‘k’    for Kilobytes (units of 1024 bytes)
					#单位为k时按照kb单位搜索。k必须小写
              ‘M’    for Megabytes (units of 1048576 bytes)
					#单位时M时,按照mb单位搜索,M必须大写
              ‘G’    for Gigabytes (units of 1073741824 bytes)
					#按照GB搜索,G必须大写

3、按照文件时间搜索

find 查找位置 [选项] [数字]
linux中的文件有访问时间(atime)、数据修改时间(mtime)、状态修改时间(ctime)这三个时间
选项:

选项作用
-atime ±时间按照文件的访问时间搜索
-mtime ±时间按照文件数据修改时间搜索
-ctime ±时间按照文件状态修改时间搜索

例子:

[root@akun ~]# find / -atime +3
#搜索三天前访问过的文件(不包括第三天)
[root@akun ~]# find . -atime -3
#搜索三天内访问过的文件
[root@akun ~]# find . -atime 3
#搜索三天前当天的24小时访问过的文件


时间轴

4、按照权限搜索

find 搜索路径 [选项] 搜索权限
选项:

选项作用
-perm 权限模式查找文件权限刚好等于“权限模式”的文件
-perm -权限模式查找文件权限全部包含“权限模式”的文件
-perm +权限模式查找文件权限包含“权限模式”的任意一个权限的文件

5、按照所有者和所属组搜索

find 搜索路径 [选项] 搜索内容
选项:

选项作用
-uid 用户ID按照用户ID查找所有者是指定ID的文件
-gid 组ID按照用户组ID查找所属组是指定ID的文件
-user 用户名按照用户名查找所有者是指定用户的文件
-group 组名按照组名查找所属组是指定用户组的文件
-nouser查找没有所有者的文件

按照所有者和所属组搜索时,“-nouser”选项比较常用,主要用于查找垃圾文件
只有一种情况例外,外来文件是没有所有者的,比如光盘和U盘中的文件如果由Windows复制的,在linux中查看就是没有所有者的文件,手工源码包安装的文件,也有可能没有所有者。

6、按照文件类型搜索

find 搜索路径 [选项] 搜索内容
选项:

选项作用
-type d查找目录
-type f查找普通文件
-type l查找软连接文件
[root@akun ~]# ll
总用量 60
-rw-r--r--. 2 user1 user1    91 5月  12 07:31 abc
-rw-------. 1 root  root   1289 5月   8 01:23 anaconda-ks.cfg
lrwxrwxrwx. 1 root  root      3 5月  12 07:35 asd -> abc
-rw-r--r--. 1 root  root  28425 5月   8 01:22 install.log
-rw-r--r--. 1 root  root   9043 5月   8 01:21 install.log.syslog
[root@akun ~]# find . -type l
./asd

7、逻辑运算符

-a:逻辑与and
-o:逻辑或or
-not:逻辑非not

1)-a:逻辑与and

find命令也支持逻辑运算符选项,其中-a代表逻辑与运算,也就是-a两个条件都成立,find搜索才成立。
如:

[root@akun ~]# find . -size  +2k -a -type f
#搜索,当前目录下大于2k的类型为普通文件的文件
2)-o:逻辑或or

-o逻辑或,两个条件只要其中一个成立,find命令就可以搜索到
如:

[root@akun ~]# find . -size +20k -o -size -1k
#搜索,当前目录下大于20k或者小于1k的文件
3)-not:逻辑或not

-not 也就是取反的意思,也可以用!表示
如:

[root@akun ~]# find . -not -size +20k
[root@akun ~]# find . ! -size +20k
#搜索,当前目录下小于等于20k的文件,(大于20k之外的文件)

8、其他选项

1)-exec 选项

find 搜索路径 [选项] 搜索内容 -exec 命令2 {} \;
-exec的作用就是把find命令的结果交给由“-exec”调用的命令2来处理,“{}”就代表find命令查找的结果。
以 \;结尾

[root@akun ~]# find . -size -2k -exec ls -lh {} \;
#查找当前文件下小于2k的文件,并作为ls的对象,这样输出结果就直接可以看到文件的大小。
-rw-------. 1 root root 45 5月  25 06:30 ./.lesshst
-rw-r--r--. 1 root root 176 5月  20 2009 ./.bash_profile
-rw-r--r--. 1 root root 0 5月  12 07:48 ./wsx
-rw-r--r--. 2 user1 user1 91 5月  12 07:31 ./abc

注:命令2不能使用别名。

1)-ok 选项

-ok选项和-exec选项的作用基本一致,区别在于:-exec的命令2会直接处理,不询问,-ok的命令2在处理前会询问用户是否这样处理,得到确认后才会执行。

[root@akun ~]# find . -size -2k -ok ls -lh {} \;
< ls ... ./.lesshst > ? y
-rw-------. 1 root root 45 5月  25 06:30 ./.lesshst
< ls ... ./.bash_profile > ? y
-rw-r--r--. 1 root root 176 5月  20 2009 ./.bash_profile
< ls ... ./wsx > ? y
-rw-r--r--. 1 root root 0 5月  12 07:48 ./wsx
< ls ... ./abc > ? n
< ls ... ./.bashrc > ? n

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值