• day 17 find 相关作业


    1.找出/tmp目录下,属主不是root,且文件名不以f开头的文件

    find /tmp -type f ! -user root ! -name 'f*'
    

    2.查找/etc/目录下,所有.conf后缀的文件

    find /etc/ -type f -name '*.conf'
    

    3.查找/var目录下属主为root,且属组为mail的所有文件

    find /var/ -user root -a -group mail 
    

    4.查找/var目录下7天以前,同时属主不为root,也不是postfix的文件

    find /var -mtime +7 ! -user root  ! -user postfix
    

    5.查找/etc目录下大于1M且类型为普通文件的所有文件

    find /etc -type f -size +1M
    

    6.查找/etc目录下所有用户都没有写权限的文件

    find /etc/ -type f ! -perm /222 -ls
    

    7.查找/目录下最后创建时间是3天前,后缀是*.log的文件

    find / -type f -mtime +3 -name '*.log'
    

    8.查找/目录下文件名包含txt的文件

    find / -type f -name '*txt*'
    

    9.查找/目录下属主是oldboy并且属组是oldboy的文件

    find / -user oldboy -a -group oldboy
    

    10.查找/目录下属主是oldboy但是属组不是oldboy的文件

    find / -user oldboy ! -group oldboy
    

    11.查找/目录下属主是oldboy或者属主是oldgirl的文件

    find / ( -user oldboy -o -user oldgirl )
    

    12.查找/tmp目录下属主既不是oldboy,也不是oldgirl的文件

    find /tmp ! -user oldboy ! -user oldgirl
    

    13.查找/var/log目录下7天以前的文件

    find /var/log -mtime +7
    

    14.查找/tmp目录下15天以前的文件删除

    find /tmp -type f -mtime +15 -delete
    

    15.查找/home目录下,类型是目录的,并且属主是oldboy的目录

    find /home -type d -a -user oldboy
    

    16.查找/var/log下大于100kb且以log结尾的所有文件

    find /var/log -type f -size  +100k -name '*log'
    

    17.查找tmp目录下所属组group1,所属主user1的目录

    find /tmp -group group1 -user user1
    

    18.同时查找根目录下名为1.txt,2.txt的文件和名字带a的目录

    find / ( -type f -name '[12].txt' -o  -type d -name '*a*' )
    

    19.查找/tmp目录下所有文件并删除

    find /tmp  -type f -delete
    

    20.查找/etc目录下至少有一类用户没有写权限的文件

    find /etc/ -typ f ! -perm 222
    

    21.查找/var目录下不属于root、lp、gdm的所有文件

    find /var ! -user root ! -user lp ! -user gdm 
    

    22.将/etc/中的所有目录(仅目录)复制到/tmp下,目录结构不变

    find /etc/ -type d | xargs mkdir -p  /tmp/{} 
    

    23.将/etc目录复制到/var/tmp/,/var/tmp/etc的所有目录权限777/var/tmp/etc目录中所有文件权限666

    cp /etc/ /var/tmp/
    find /var/tmp/etc -type d -exec chomd 777 {} ;
    find /var/tmp/etc -type f -exec chomd 666 {} ;
    

    24.保留/var/log/下最近7天的日志文件,其他全部删除

    find /var/log  -mtime +7 |xargs  rm -f 
    find /var/log ! -mtime -7 -delete
    

    25.创建touch file{1..10}10个文件, 保留file9,其他一次全部删除

    touch file{1..10}
    [root@localhost ~]# find ./ ( -name 'file[[:digit:]]' -o -name 'file10' ) ! -name 'file9' -delete
    [root@localhost ~]# ll
    total 0
    -rw-r--r-- 1 root root 0 Jul 27 06:19 file9
    
    
    [root@qls opt]# find  ./  -type f   !  -name  "file9"  -delete
    [root@qls opt]# find  ./  -type f  -name  "file[^9]*"  -delete
    
    

    26.解释如下每条命令含义

    mkdir /root/dir1                                    
    # 创建目录/root/dir
    touch /root/dir1/file{1..10}
    # 创建10个文件file1到file0
    find /root/dir1 -type f -name "file5"
    # 根据文件名称查找file5
    find /root/dir1 ! -name "file5"
    # 排除文件名称为file5
    find /root/dir1 -name "file5" -o -name "file9"
    # 查找文件为file5或则file9
    find /root/dir1 -name "file5" -o -name "file9" -ls
    # 查找文件为file5或则file9以块展示文件的详细信息
    find /root/dir1 ( -name "file5" -o -name "file9" ) -ls
    # 查找文件为file5或则file9以块展示文件的详细信息
    find /root/dir1 ( -name "file5" -o -name "file9" ) -exec rm -rvf {} ;
    # 查找文件为file5或则file9然后强制递归显示删除过程删除
    find /root/dir1 ! ( -name "file4" -o -name "file8" ) -exec rm -vf {} ;
    # 排除文件为file4或则file8的然后强制递归显示删除过程删除
    
  • 相关阅读:
    bert中的为什么
    ROS+Ubuntu+VSCode
    致我成为社畜的第一年
    SQL实战 11.高频SQL面试题 课程订单分析系列
    SQL实战 10.高频SQL面试题 考试分数系列
    SQL实战 9.高频SQL面试题 网站访客最近登录日期系列
    SQL实战 8.异常的邮件概率 sum、count、round和case when结合
    SQL实战 7刷题通过的题目排名 row_number、 dense_rank 和rank区别
    SQL实战 6.对于employees表中,给出奇数行的first_name
    SQL实战 5.统计salary的累计和running_total
  • 原文地址:https://www.cnblogs.com/xiaolang666/p/13387103.html
Copyright © 2020-2023  润新知