linux 文件搜索软件,Linux文件搜索工具find

Linux文件搜索工具find

一般格式:find [options] [查找路径] [查找条件] [处理动作]

[options]:一般不加

[查找条件]:

-name filename,按文件名查找,支持通配符

-iname filename,按文件名查找,不区分大小写

-user username: 根据属主查找

-group groupname: 根据属组查找

-nouser:查找没有属主的文件;

-nogroup: 查找没有属组的文件;

-type: 根据文件类型查找

-size: 根据文件大小查找

-atime:根据文件访问时间

-mtime:根据文件修改时间

-perm:根据文件权限

多条件可组合使用

-a: 与,同时满足

-o: 或,

-not, !:非,取反

[处理动作]:

1,-exec COMMAND {} \;  对查找到的文件执行指定的命令

-exec  \;            是固定的格式后面那个分号必须有

{}                 表示由find找到的内容

COMMAND              表示你要对找到的内容执行的命令

2,“|”管道和xargs一起用

因为管道传递的是字符串,因此在find查找的文件

后用管道去处理这些文件是不会成功的

例如:

# find /etc/ -name passwd |ls -l

37163cdfd7c69dee4b90d4c578564878.png

这个命令只表示去找/etc/下名为passwd的文件;然后

在当前目录执行一次ls -l命令

因此如果想要用ls -l去查看find找到的文件可以这样写

# find /etc/ -name passwd |xargs ls -l

31dba3e7b00b57abb34f8b4b360d1d8b.png

当然用上面的-exec \;也可以实现这样的功能,但是

xargs有它的优点,就是会把上面传递下来的参数一点

一点的传递给后面的命令。因此当你找到很多的小文件

并试图删除的时候rm命令一次接收不了那么多的文件

就可以用xargs命令了。关于xargs的更多用法可以看man

和google

一般用法:

1,查找查找/etc/下文件名为passwd的文件

# find /etc/ -name passwd

a74c1be2d5ed59e2680d07127b59f416.png

2,查找/etc/下文件名包含passwd的文件

# find /etc/ -name *passwd*

bd5e92a29806f1d3af99724050667e39.png

3,查找/tmp/下root用户的文件并用ls -l显示出来

# find /tmp/ -user root -exec ls -l \;

5320d3a774de9d0e3c85f85ac81203b0.png

4, 查找当前系统上不属于任何用户的文件

# find / -nouser -exec ls -l {} \;

d1279939b71496da06b5b1bda75d5333.png

5,查找/boot/目录下大于5M的文件

# find /boot/ -size +5M |xargs ls -hl

e86bf4f1cd0e5df73a7896fa69f4df19.png

这里的+5M表示大于5M,5M表示4M到5M之间

-5M就表示小于4M

# find ./ -size 5M -exec ls -lh {} \;

85c38e493453e9f491b56d080fc00dcf.png

6,查找/bin/目录下带有特殊权限的文件,即suid,sgid,sbit

# find /bin/ -perm +7000 |xargs ls -l

6dbb8e8ada7053b971c64fcb1d14913b.png

这里的+表示任何一类用户的任何一位权限匹配都行

-表示每类用户的指定要检查的权限位都匹配不写+或—

表示精确匹配。

7,查找/boot/目录下的软链接文件

# find /boot/ -type l |xargs ls -l

b255be130545b6630da682c2a5ed12c3.png

f: 普通文件

d: 目录

b: 块设备

c: 字符设备

l: 符号链接文件

p: 命名管道

s: 套接字

8,查找/etc/目录下最近4天修改过的文件

# find /etc/ -mtime -4 |xargs stat

9c73aafb57f2dc0df2adbad7ee4c6a27.png

文件很多我就不完全截图了

-4表示4天以内,+4表示五天以前

4表示4天到5天之间

还可以使用amin,mmin,cmin来表示分钟

9,关于组合条件查找

查找/sbin/目录下既有特殊权限又在5天累修改过的文件

# find /sbin/ -perm +7000 -mtime -5|xargs stat

c16de5a7b595b679edad4a37250a589c.png

-a表示“与”可省略,-o表示“或”不可省

-not表示“非”

可能有的地方写的不对,希望大家多多指点。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值