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 / -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的文件或目錄並刪除
 
 
 
 
 
 
 
 
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM