作业
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过程