Linux find命令小结

  Find 命令

    今天浏览了下linux下find 的man文档,涉及的细节很多,仅把常用的部分整理出来,供后续丰富补充吧。

    Find命令格式:

    Usage: find [path…] [expression]

    path默认为当前路径,expression默认为-print项

    Expressions有以下几种组成 :Option,Tests,Action,Operators,分别简单列举其常见形式:

    Options:

    -depth:在处理本目录之前先处理目录中的内容

    -daystart:(-atime,-ctime,-mtime;-amin,-cmin,-mmin)

    Tests:

    +n:Greater than n;

    -n:Less than n;

    n:exact n

    -anewer file:

    -name pattern:

    -path pattern:

    -perm mode:

    -size  n[bcwkMG]:

    b:512 bytes block

    c:bytes

    w:two-byte word

    k:1024 bytes

    M:1024*1024 bytes

    G:Gigabityes

    -type

    b:block

    c:character

    d:dir

    f:regular file

    l:symb link

    -maxdepth level

    -mindepth level

    -depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。

    -amin n 查找n分钟以前被访问过的所有文件

    -atime n 查找n天以前被访问过的所有文件

    -cmin n 查找n分钟以前文件状态被修改过的所有文件

    -ctime n 查找n天以前文件状态被修改过的所有文件

    -mmin n 查找n分钟以前文件内容被修改过的所有文件

    -mtime n 查找n天以前文件内容被修改过的所有文件

    ACTIONS:

    -delete

    -exec command

    -fprint0 file

    -fprint file

    -prune

    -ls

    OPERATORS:

    EXP1 –and EXP2

    EXP1 –or EXP2

    举例:

    1、  在当前目录下查找指定文件,并在stdout上输出:

    [root@localhost ~]#find  . –name pattern.c –print

    2、  在指定目录下查找某类型文件,并通过ls显示文件属性:

    [root@localhost ~]#find /home/admin –name “*.c” –type f –exec ls –l {} \;

    在/home/admin 下查找扩展名为。c的文件并查看其属性

    3、  查找指定大小, 指定若干天(分钟),前,后,指定类型的文件并删除:

    [root@localhost ~]#find /home –name “*.tmp” – type f –size 10k –mtime 5 –print –exec rm –rf {} \;

    在home下查找扩展名为。tmp 文件大小为10k修改时间为5天之内的文件,并输出后删除

    4、  在/home/admin及其子目录下查找*.vim 类型的文件,但不在其子目录。vim中查找

    [root@localhost ~]#find /home/admin -path "/home/admin/.vim" -name "*.vim" –prune

    删除大小为0,扩展名为tmp的文件

    [root@localhost ~]#find . –name “*.tmp” –size 0 –type f –print –exec rm –rf {} \;

    5,、仅在当前的文件夹中查找指定的文件,但不在其子目录中查找

    [root@localhost ~]#find / -maxdepth 1 -type d -size -100c

    当前目录下查目录,其大小小于100字节,仅查找当前目录,不在其子目录中查找

    6、在指定目录的若干级子目录中查找

    [root@localhost ~]#find / -mindepth 3 –type f –size 0 –exec rm {} \;

    7、查找指定类型文件

    [root@localhost ~]#find /mnt/hgfs/ -type l –print

    查找链接文件

    8、在跟目录下查找xml扩展名属于用户admin其大小为0的普通文件并删除

    [root@localhost ~]# find / -name "*.xml" -user admin -type f -size 0 –print –exec –rm {} \;

    9、查找非目录文件

    [root@localhost ~]#find / !-type d -print

    查找链接文件

    10、另一种方式删除10天前size 为0的文件方式

    [root@localhost ~]#find ./ -size 0 –mtime +10 | xargs rm -f &

    11、查找权限位为755的普通文件

    [root@localhost ~]# find . -perm 755 -type f -print

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值