linux find o命令,Linux命令之find详解

介绍

find工作中常用的Linux基础命令之一,可以按照类型、大小、名字、修改时间、访问时间、改变时间、权限等参数进行查找我们想要的文件或目录。find查找还可以结合很多命令来达到我们想要的结果,比如:和sed、xargs等命令连用;通过管道符号“|”即可。

我们在学习和使用Linux命令和配置文件的时候,要学会用man来帮助学习,man不仅可以查看命令的帮助文档,还能查看配置文件的帮助文档。

find - search for files in a directory hierarchy

在目录层次结构中搜索文件

语法

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]

查找方式

1、查找的深度(-maxdepth)

该参数一定要跟在路径后面,其它参数的前面,否则会报错

find /var/log/ -maxdepth 1 -type f

/var/log/anaconda.ifcfg.log

/var/log/dmesg

/var/log/dmesg.old

2、按类型查找(-type)

find /data -type f

f:普通文件 d:目录 l:符号链接 s:socket b:区块文件

3、按文件名查找(-name)

find /data -type f –name “*.log”

4、按修改时间查找(-mtime)

find / -type f –name “*.log” –mtime +4 表示查找四天前的

时间原理图:

c4fc4c84b243c4ee8d78ded500746584.png

在时间属性当中,除了按照修改时间mtime之外,还可以按照访问时间atime和属性的改变时间ctime来查找,只不过不太常用。

5、按权限查找(-perm)

[root@backup tmp]# find /tmp/ -type f -perm 644

/tmp/rsyncd.conf

/tmp/nn

/tmp/kk

[root@backup tmp]# ls -l

total 4

-rw-r--r-- 1 root root 0 May 18 21:01 kk

-rw-r--r-- 1 root root 0 May 18 21:02 nn

-rw-r--r-- 1 root root 466 May 17 05:32 rsyncd.conf

[root@backup tmp]# ls -l kk|awk '{print $1}'|tr "\-rwx" "0421" –有特殊意义,所以需要转义

0420400400

6、按用户查找(-user)

find / -user root

7、按大小查找(-size)

find / -type f –size +100M 查找大于100M的文件

-100M 小于100M

100M 等于100M

+100M 大于100M 其它的依此类推

8、按照inode号查找(-inum)

find / -type f –inum xxxx

9、! :取反

find . -maxdepth 1 -type d ! -name "."

10、-a:并且and

find /tmp/ -type f -name "k*" -a -name "*k"

/tmp/kk

11、-o:或者or

find /tmp/ -type f -name "k*" -o -name "*n"

/tmp/nn

/tmp/kk

使用案例

1、find . -perm 700 |xargs chmod 777

查找出当前目录(及子目录)下所有权限为700的文件,并把其权限重设为777。

2、find . -type f |xargs ls -l

查找出文件并查看其详细信息。

3、find . -maxdepth 1 -type d ! -name "."

查找当前目录下的所有目录,排除”.”当前目录,且查找深度为1

4、find oldboy/ -type f -name "*.sh"|xargs sed -i 's#Ricky#ricky#g'

5、查找删除

find /data -type f -name "*.txt" |xargs rm –f

或find /data -type f -name "test" -exec rm {} \;

{}:find查找到的内容

; 命令结束【\反斜杠是用来转义】

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值