day 17 find 相關作業

2022-03-15 13:32:33 字數 3814 閱讀 8691

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 file10個檔案, 保留file9,其他一次全部刪除

touch file

[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

# 建立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的然後強制遞迴顯示刪除過程刪除

day 17 find命令詳解

find 的基本概述可以根據檔案的名稱 檔案大小 檔案的修改時間 檔案的型別 檔案的許可權 檔案的屬主屬組 檔案的目錄層級進行查詢 find的語法 命令 路徑 選項 表示式 動作 查詢 地區 妹子 18 25 約find中特殊符號說明 在find中沒有特殊意思就是自己本身符號.所有 匹配任意乙個字元...

Day17物件導向作業

定義乙個矩形類,擁有屬性 長 寬 擁有方法 求周長 求面積 class rectangle def init self,length,width self.length length self.width width defperimeter self return self.length self...

day17 物件導向作業

定義乙個矩形類,擁有屬性 長 寬 擁有方法 求周長 求面積 class rectangle def init self,length,width self.length length self.width width defperimeter self return self.length 2 se...