Linux基础命令练习答案7.27 1.出/tmp⽬录下,属主不是root,且⽂件名不以f开头的⽂件
find /tmp -type f ! -user root ! -name 'f*'
find /tmp -type f ! -user root -name '[^f]'
2.查/etc/⽬录下,所有.conf后缀的⽂件
find /etc/ -type f -name '*.conf'
3.查/var⽬录下属主为root,且属组为mail的所有⽂件
find /var -type f -user root -group mail
4.查/var⽬录下7天以前,同时属主不为root,也不是postfix的⽂件
find /var -type f ! \( -user root -o -user postfix \) -mtime +7
5.查/etc⽬录下⼤于1M且类型为普通⽂件的所有⽂件
find /etc -type f -size +1M
6.查/etc⽬录下所有⽤户都没有写权限的⽂件
find /etc -type f ! -perm /222
7.查/⽬录下最后创建时间是3天前,后缀是*.log的⽂件
find / -mtime +3 -type f -name '*.log'
8.查/⽬录下⽂件名包含txt的⽂件
find / -type f -name '*txt*'
9.查/⽬录下属主是oldboy并且属组是oldboy的⽂件
find / -type f -user oldboy -group oldboy
10.查/⽬录下属主是oldboy但是属组不是oldboy的⽂件
find查命令的使用find / -type f -user oldboy ! -group oldboy
11.查/⽬录下属主是oldboy或者属主是oldgirl的⽂件
find / -type f \( -user oldboy -o -user oldgirl \)
12.查/tmp⽬录下属主既不是oldboy,也不是oldgirl的⽂件
find /tmp -type f ! -user oldboy ! -user oldgirl
13.查/var/log⽬录下7天以前的⽂件
find /var/log -type f -mtime +7
14.查/tmp⽬录下15天以前的⽂件删除
find /tmp -type f -mtime +15 -delete
find /tmp -type f -mtime +15 | xargs rm -rf
find /tmp -type f -mtime +15 -exec rm -rf {} \;
rm -rf $( find /tmp -type f -mtime +15 )
rm -rf ` find /tmp -type f -mtime +15 `
15.查/home⽬录下,类型是⽬录的,并且属主是oldboy的⽬录
find /home -type d -user oldboy
16.查/var/log下⼤于100kb且以log结尾的所有⽂件
find /var/log -type f -size +100k -name '*log'
17.查tmp⽬录下所属组group1,所属主user1的⽬录
find /tmp -type d -user user1 -group group1
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 -type f ! -perm -222
21.查/var⽬录下不属于root、lp、gdm的所有⽂件
find /var -type f ! \( -user root -o -user lp -o -user gdm \)
22.将/etc/中的所有⽬录(仅⽬录)复制到/tmp下,⽬录结构不变
find /etc -type d -exec mkdir -p /opt/{} \;
find /etc/ -type d | xargs -I {} mkdir -p /tmp/{}
23.将/etc⽬录复制到/var/tmp/,/var/tmp/etc的所有⽬录权限777/var/tmp/etc⽬录中所有⽂件权限666
cp -a /etc /var/tmp
find /var/tmp/etc -type d -exes chmod 777 {} \;
find /var/tmp/etc -type f -exec chmod 666 {} \;
24.保留/var/log/下最近7天的⽇志⽂件,其他全部删除
find /var/log -mtime +7 -delete
find /var/log ! -mtime -7 -delete
25.创建touch file{1..10}10个⽂件, 保留file9,其他⼀次全部删除
find /root -type f ! -name 'file9' -delete
find /root -type f -name 'file[^9]*' -delete
26.解释如下每条命令含义
mkdir /root/dir1 #在root⽬录下创建dir1⽬录
touch /root/dir1/file{1..10} #在dir1⽬录下创建file1~file10 10个⽂件
find /root/dir1 -type f -name "file5" #查dir1⽬录下的file5⽂件
find /root/dir1 ! -name "file5" #查dir1⽬录下不是file5的⽂件或⽬录
find /root/dir1 -name "file5" -o -name "file9" #查dir1⽬录下file5或file9的⽂件或⽬录
find /root/dir1 -name "file5" -o -name "file9" -ls #错误写法
find /root/dir1 \( -name "file5" -o -name "file9" \) -ls #查dir1⽬录下file5或file9的⽂件或⽬录并以长格式显⽰
find /root/dir1 \( -name "file5" -o -name "file9" \) -exec rm -rvf {} \; #查dir1⽬录下file5或file9的⽂件或⽬录并删除find /root/dir1 ! \( -name "file4" -o -name "file8" \) -exec rm -vf {} \; #查dir1⽬录下不是file5或file9的⽂件或⽬录并删除
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论