find用法

一、根据类型查找

mkdir a

cd a

ln -s /etc/sysconfig/selinux  ./

touch test

mkdir directory

[root@a a]# ll

drwxr-xr-x 2 root root 4096 7月  28 16:09 directory

lrwxrwxrwx 1 root root   16:10 selinux -> /etc/sysconfig/selinux

-rw-r--r-- 1 root root    0 7月  28 16:08 test

 

假设本目录下有多种类型的文件,需要查找出来类型除了文件和目录以外的文件

 

[root@a a]# find ./ ! \( -type f -o -type d \)

需要注意的是需要加() ,()的转义 , !取反

 

.根据天数查找 (atime mtime ctime)

#!/bin/bash

mkdir /time_test

for i in {1..10};do

        date -s "2018-05-$i 10:00"

        cd /time_test

        touch time_$i

done

我们生成10个文件,分别从1-10号创建的文件

 

 1.根据创建时间来查找指定天数的以前的文件

从现在的系统时间开始计算,查看3天以前的文件

[root@a time_test]# find ./ -ctime +3

./time_6

./time_5

./time_1

./time_2

./time_3

./time_4

 

从现在的系统时间开始计算,查看3天以内的文件

[root@a time_test]# find ./ -ctime -3

./

./time_10

./time_9

./time_8

 

三、根据小时或是分钟查找(cmin mmin amin)

#!/bin/bash

mkdir /time_test

for i in {10..20};do

        date -s "$i:00"

        cd /time_test

        touch time_$i

done

在不同的时间点创建文件

 

 

1.查找3小时以前的文件

[root@a time_test]# find ./ -cmin +180

./time_17

./time_13

./time_12

./time_10

./time_14

./time_15

./time_11

./time_16

  

查找3小时以内的文件

[root@a time_test]# find ./ -cmin -180

./

./time_20

./time_19

./time_18

 

四、查看内容为空的文件或是空目录(-empty

find ./ -empty

 

五、根据权限查找文件(-perm)

find ./ -perm 755

 

六、-exec

Exec可以接收find查找的结果,并且做二次处理。

根据上边的实例

[root@centos6 time_test]# find ./ -atime -3

./

./time_10

./time_8

./time_9

[root@centos6 time_test]# find ./ -atime -3 -exec mv {} /opt \;

{}代表find查找到结果

\前边必须有空格

最后必须加;

 

 

7.根据inode号重命名

linux中有时候会遇到乱码文件,我们可以根据inode号重命名

[root@centos6 time_test]# find ./ -inum 787402

./time_1

[root@centos6 time_test]# find ./ -inum 787402 -exec mv {} abc \;

 

转载于:https://www.cnblogs.com/pangbing/p/9387952.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值