新建歡迎來到來到大浪濤天的部落格!
2.1 組合條件:
find [option]... [查詢路徑] [查詢條件] [處理動作]
1.1.1 根據檔名查詢:
eg: find /tmp -iname "fun*" |xargs rm -rf
-regex "pattern":以pattern匹配整個檔案路徑字串,而不僅僅是檔名稱;
1.1.2 根據屬主、屬組查詢:
eg :[root@localhost tmp]# find /tmp -user "test100"
eg:find /tmp -group "test100"
eg: find /tmp/ -uid "1099"
eg : find /tmp/ -gid "1099"
eg:find /tmp -nouser
eg:find /tmp -nogroup
1.1.3 根據檔案型別查詢:
1.1.4 根據檔案大小來查詢:
-size [+|-]#unit(-size,然後+或者-接上數字然後接上單位)
常用單位:k, m, g
unit: (#-1, #](unit指單位,#指數字,例如正好是3k則是大於3-1,小於等於3)
-#unit:[0,#-1](如果是-3k,則表示大於等於0,小於等於2k)
+#unit:(#,oo) (如果是+3k ,則表示大於3k)
例如:
[root@localhost tmp]# find ./ -size 5k -exec ls -lh {} \;
-rw-r--r--. 1 root root 5.0k feb 9 05:38 ./dir_colors
-rw-r--r--. 1 root root 4.6k feb 9 05:38 ./dir_colors.lightbgcolor
-rw-r--r--. 1 root root 5.0k feb 9 05:37 ./passwd
[root@localhost tmp]# find ./ -size -5k -exec ls -lh {} \;
-rw-r--r--. 1 root root 2.9k feb 9 05:38 ./bashrc
-rw-r--r--. 1 root root 2.4k feb 9 05:38 ./libuser.conf
[root@localhost tmp]# find ./ -size +5k -exec ls -lh {} \;
-rw-r--r--. 1 root root 12k feb 9 05:38 ./aliases.db
-rw-r--r--. 1 root root 5.6k feb 9 05:38 ./dir_colors.256color
-rw-r--r--. 1 root root 7.1k feb 9 05:38 ./kdump.conf
1.1.5 根據時間戳:
-atime [+|-]#, (-time,然後+或者-接上數字)
#: [#,#+1),(#,代表數字,如果是3天,則代表大於等於3天,小於4天,3天以前,4天以內)
+#: [#+1,oo] (如果是3代表,大於等於4天,也就是4天以前)
-#: [0,#) (如果#是3,則表示小於3,3天以內)
a是指access 接入時間,當cat或者cd檔案或者目錄時,a會改變。
-mtime(modify改變時間),當改變檔案許可權時改時間不變,但是當改變檔案內容時這個時間會發生改變。
-ctime(change 時間),當改變檔案內容或者改變檔案時間時c都會發生改變。
如果檢查乙個時間段檔案內容的修改則通常用mtime
以「分鐘」為單位:
[root@localhost tmp]# date
fri feb 9 07:11:32 cst 2018
[root@localhost tmp]# stat * |grep access
access: (0644/-rw-r--r--) uid: ( 0/ root) gid: ( 0/ root)
access: 2018-02-06 05:00:00.000000000 +0800
access: (0644/-rw-r--r--) uid: ( 0/ root) gid: ( 0/ root)
access: 2018-02-07 05:00:00.000000000 +0800
access: (0644/-rw-r--r--) uid: ( 0/ root) gid: ( 0/ root)
access: 2018-02-03 05:00:00.000000000 +0800
[root@localhost tmp]# find ./ -mtime 3
[root@localhost tmp]# find ./ -atime 3
./a[root@localhost tmp]# find ./ -atime -3
././b
[root@localhost tmp]# find ./ -atime +3
./c[root@localhost tmp]#
插入話題一:如果改變檔案的時間戳,
[root@localhost tmp]# touch -a -t 201804090830.00 a
[root@localhost tmp]# stat a
file: 『a』
size: 6 blocks: 8 io block: 4096 regular file
device: 803h/2051d inode: 33575688 links: 1
access: (0644/-rw-r--r--) uid: ( 0/ root) gid: ( 0/ root)
context: unconfined_u:object_r:user_tmp_t:s0
access: 2018-04-09 08:30:00.000000000 +0800
1.1.6 根據許可權查詢:
1.1.7 處理動作:
注意:find傳遞查詢到的檔案至後面指定的命令時,查詢到所有符合條件的檔案一次性傳遞給後面的命令;
有些命令不能接受過多引數,此時命令執行可能會失敗;另一種方式可規避此問題:
find | xargs command
!a -a !b = !(a -o b)
!a -o !b = !(a -a b)
找出/tmp目錄下,屬主不是root,且檔名不是fstab的檔案;
find /tmp \( -not -user root -a -not -name "fstab" \) -ls
find /tmp -not \( -user root -o -name "fstab" \) -ls
切記,引數前面均要加橫桿,-user -a -not -name -group,如果提示下列錯誤就要想到是不是沒有加橫桿
[root@localhost ~]# find /tmp -not -user root -a -not group root
find: paths must precede expression: group
usage: find [-h] [-l] [-p] [-olevel] [-d help|tree|search|stat|rates|opt|exec] [path...] [expression]
[root@localhost ~]# find /tmp -not -user root -a -not -group root
/tmp/file7
/tmp/file8
/tmp/file9
/tmp/file10
find /tmp -not -user root -a -not -group root -ls
find /tmp \( -not -user root -a -not -group root \) -ls
find /tmp -not \( -user root -o -group root \) -ls
matlab中find函式的使用說明
find 找到非零元素的索引和值 語法 1.ind find x 2.ind find x,k 3.ind find x,k,first 4.ind find x,k,last 5.row,col find x,6.row,col,v find x,說明 1.ind find x 找出矩陣x中的所有...
matlab中find函式的使用說明
matlab中如何統計乙個矩陣m中零的個數size find m 0 1 原文 find 找到非零元素的索引和值 語法 1.ind find x 2.ind find x,k 3.ind find x,k,first 4.ind find x,k,last 5.row,col find x,6.ro...
VBA中FIND方法的使用說明zz
find 方法在區域中查詢特定資訊。語法 表示式.find what,after,lookin,lookat,searchorder,searchdirection,matchcase,matchbyte,searchformat 表示式 乙個代表range物件的變數。引數 名稱必選 可選資料型別描...