作业


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

[root@moban ~]# find /tmp ! -user root ! -name 'f*'
/tmp/err.log

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

[root@moban var]# find ./ -user root -group mail
./spool/mail

3.查找/var目录下不属于root、oldboy、zls组的所有文件

[root@moban var]# find ./ ! -group mail -o ! -group oldboy -o ! -group zls

4.查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是postfix的文件

[root@moban var]# find ./ -mtime -7 ! \( -user root ! -user postfix \)

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

[root@moban var]# find /etc -size +1M -type f

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

[root@moban var]# find /etc -type d |sed s#/etc#/tmp/etc#|xargs mkdir -p 

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

件权限为666

[root@moban tmp]# mkdir -p  /var/tmp/
[root@moban tmp]# cp -r /etc/ /var/tmp/
[root@moban ~]# find /var/tmp/etc/ -type d | xargs chmod 777
[root@moban ~]# find /var/tmp/etc/ ! -type d | xargs chmod 777

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

 [root@moban ~]# touch file{1..10}
 [root@moban ~]# find ./ -type f -name 'file*' ! -name 'file9' |xargs rm -fr

10.解释如下每条命令的含义

mkdir /root/dir1

在/root创建目录dir1

touch /root/dir1/file{1..10}

在dir1目录下中创建file1  ..... file10

find /root/dir1 -type f -name 'file5'

筛选文件file5

find /root/dir1 ! -name 'file5'

在/root/dir1 只排除file5的文件或者目录

find /root/dir1 -name 'file5' -o -name 'file9'

在/root/dir1 同时精准筛选出file5 和file9

find /root/dir1 -name 'file5' -o -name 'file9' -ls

显示file9的目录详细信息

find /root/dir1 (-name 'file5' -o -name 'file9' ) -ls

看看报错  
[root@moban ~]# find ./ \( -name 'file5' -o -name 'file9' \) -ls
这样是对的查看 file5 file9 两个详细信息

find /root/dir1 (-name 'file5' -o -name 'file9' ) -exec rm -rvf {} \;find /root/dir1 ! (-name 'file5' -o -name 'file9' ) -exec rm -vf {} \;

报错
如果正确的话   删除root下的所有文件(保存目录) 显示删除file5,fil9过程