zoukankan      html  css  js  c++  java
  • 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 ;

  • 相关阅读:
    java操作生成jar包 和写入jar包
    jboss配置jndi连接池
    windows 域的LDAP查询相关举例
    LDAP error Code 及解决方法
    HDU 6417
    CF1299D Around the World
    codechef Chef and The Colored Grid
    Educational Codeforces Round 82 (Rated for Div. 2)
    CF1237F Balanced Domino Placements
    CF1254E Send Tree to Charlie
  • 原文地址:https://www.cnblogs.com/pangbing/p/9387952.html
Copyright © 2011-2022 走看看