文件查找命令Find

文件查找命令find

Find:在文件上查找符合條件的文件,是個實時的查找工具,通過遍歷指定路徑完成文件查找

blob.png


工作特點:

查找速度慢

精度查找

實時查找

可能只搜索用戶具有讀取和執行權限的目錄

 

語法:

find [option]…[查找路徑][查找條件][處理動作]

 

查找條件:

-name “文件名稱:支持使用glob *,?,[],[^]

-iname “文件名稱:忽略大小寫

blob.png

-inum n:按照節點號查找

-samefile name:相同節點號的文件

-links n:鏈接數為n的文件

-regex ”PATTERN“:以pattern匹配整個文件路徑字符串,而不僅僅是文件名稱

-user 查找屬主為指定的用戶(uid)的文件

blob.png

-group 查找屬組為指定的用戶組(gid)的文件

-uid 查找屬主為指定的uid號的文件

-gid 查找屬組為指定gid號的文件

-nouser 查找沒有屬主的文件

-nogroup 查找沒有屬組的文件

blob.png

 

查找條件

-type TYPE

f 普通文件

d 目錄文件

l 符號鏈接文件

s 套接字文件

b 塊設備文件

c 字符設備文件

p 管道文件

blob.png

 

查找條件

組合查找:

與: -a

或: -o

非: -not ,!

 blob.png

 

.摩根定律

(非 P)或(非 Q= 非(PQ

(非 P)且(非 Q= 非(PQ

示例

!P –a !Q = !(P –o Q)

!P –o !Q = !(P –a Q)

blob.png

非P或非Q 表明這兩者只要有一個為非就可以滿足條件,它的所有情況是

1.非P 真Q

2 真P 非Q

3 非P 非Q

這三種情況否符合非P或非Q,那么它的反面就是

真P且真Q,那么上述三種情況就可以直接表示為

取真P且真Q的補集,也就是不是真P且真Q的情況

則可以表示為 !(真P且真Q)即非(真P且真Q)

同樣,非P且非Q就可以表示為!(真P或真Q)即非(真P或真Q)


find /tmp \( -not –user root –a –not –name “f*” \) –ls

find /tmp –not \( -user root –o –name “f*” \) –ls

 

查找/etc目錄下,除/etc/sane.d目錄的其他所有.conf后綴的文件

find /etc/ -path “/etc/sane.d” –a –prune –o –name “*.conf” –print

   


根據文件大小查找

-size +|-#num

常用單位 K M G

#num: (#-1,#]

-#num:[0,#-1]

+#num:(#,正無窮)

blob.png 

以時間為單位

-atime [+|-]#

#:[#,#+1)

+#:[#+1,正無窮)

-#:[0,#)

 

-mtime

-ctime

 

根據權限查找

-perm [-|/]MODE

mode:精確權限匹配

/mode:任何一類(u,g,o)對象的權限中只要能一位匹配即可,或關系,Centos7中舍棄了+

-mode:每一類對象都必須同時擁有指定的權限,與關系

0:表示不關注

 blob.png

排除/root目錄下的.mozilla目錄,然后查找文件中ugo任意一位有執行權限的文件并顯示出來


blob.png

排除/root目錄下的.mozilla目錄,然后查找文件中ugo三者都有執行權限的文件,這三者條件必須都滿足的才能被匹配,否則不匹配


blob.png

只看組g有沒有執行的權限,有就滿足匹配,其他的u,o不考慮


find -perm 755 匹配權限為755的文件,其他文件不匹配

find -perm /222 u,g,o中任意一個有寫權限該文件就能匹配

find -perm -222 只有文件中u,g,o權限位都有寫權限的文件才可以被匹配

find -perm -002 文件中只要其他人有寫權限,該文件就可以被匹配

 

處理動作

-print 默認處理動作,輸出至屏幕

-ls 類似于對查找到的文件執行那個ls -l命令

-delete 刪除查找到的文件

-fls file 查找到的文件以長格式形式保存到指定文件中

-ok command {} \; 對查找到的文件執行由command指定的命令

-exec command {} \; 對查找到的文件執行command指定的命令

{} 用于引用查找到的文件自身

有些命令不能接受過多參數,此時命令執行會失敗,可以使用

find | xargs command

blob.png 

注:{}表示的是完整的文件路徑,所有如果要備份到其他目錄要注意路徑的正確書寫


find –name “.conf” –exex cp {} {}.org \;

備份含有.conf字符串的文件,備份的名稱后綴加上.org擴展名

find /data –type f –perm 644 –name “*.sh” –exec chmod 755 {} \;

找出data目錄下包含.sh字符串的權限是644的普通文件,并將這些文件賦予755的權限

find /home –type d –ls

找出家目錄下所有的目錄并顯示

習題

1、寫一個腳本/root/bin/createuser.sh,實現如下功能:使用一個用戶名做為參數,如果指定參數的用戶存在,就顯示其存在,否則添加之;顯示添加的用戶的id號等信息

blob.png

blob.png

?2、寫一個腳本/root/bin/yesorno.sh,提示用戶輸入yes或no,并判斷用戶輸入的是yes還是no,或是其它信息

blob.png

blob.png  

?3、寫一個腳本/root/bin/filetype.sh,判斷用戶輸入文件路徑,顯示其文件類型(普通,目錄,鏈接,其它文件類型)

blob.png

blob.png

?4、寫一個腳本/root/bin/checkint.sh,判斷用戶輸入的參數是否為正整數

blob.pngblob.png

?5、查找/var目錄下屬主為root,且屬組為mail的所有文件

blob.png

?6、查找/var目錄下不屬于root、lp、gdm的所有文件

blob.png

?7、查找/var目錄下最近一周內其內容修改過,同時屬主不為root,也不是postfix的文件

blob.png

?8、查找當前系統上沒有屬主或屬組,且最近一個周內曾被訪問過的文件

blob.png

?9、查找/etc目錄下大于1M且類型為普通文件的所有文件

blob.png

?10、查找/etc目錄下所有用戶都沒有寫權限的文件

blob.png

?11、查找/etc目錄下至少有一類用戶沒有執行權限的文件

blob.png

blob.png

?12、查找/etc/init.d目錄下,所有用戶都有執行權限,且其它用戶有寫權限的文件

blob.png

原創文章,作者:Stupid_L,如若轉載,請注明出處:http://www.www58058.com/36033

(0)
Stupid_LStupid_L
上一篇 2016-08-16 13:59
下一篇 2016-08-16 13:59

相關推薦

  • 第一周作業

    計算機的組成以CPU/存儲/IO設備 硬件層次 CPU以完成運算和控制 存儲包含 I/O設備為連接計算機的多樣性輸入輸出設備(包含打印機/顯示器等) 軟件層次 以機器語言為基礎,到符合使用的應用程序, Linux的發行版本 RedHat(商業組織維護版本,有enterprise version)-CentOS-主要以此為主 Debian(community)…

    Linux干貨 2016-12-04
  • Linux用戶和組管理常用命令

    Linux用戶和組管理常用命令 1、useradd:創建用戶   useradd [options] LOGIN     -u UID: [UID_MIN, UID_MAX]指定uid,(默認500|1000開頭)定義在/etc/login.defs     -o 配合-u 選項, 不檢查…

    Linux干貨 2017-04-04
  • 筆記三、如何在VMWare Workstation中安裝CentOS 7

    一、準備工作     1.1 安裝VMWare WorkStatrion     1.2 準備好CentOS 7 鏡像包     http://www.centoscn.com/CentosSoft/iso/    CenOS7下載地址 二…

    2017-02-23
  • vim文本編輯器詳解

    啟動vim                             &…

    Linux干貨 2016-08-15
  • GPG——另一種加密信息的方式

    GPG ·使用gpg實現對稱加密 ·對稱加密file文件          gpg -c file          ls file.gpg ·在另一臺主機上解密file   &n…

    Linux干貨 2016-09-22
  • MySQL復制

    目錄: 1.備份與恢復 2.主從復制 3.主主復制 4.半同步復制 5.MHA 6.centos7搭建mariadb Galera集群 1.備份和恢復 備份工具:mysqldump+復制binlog xtrabackup (1) mysqldump+復制binlog 備份: mysqldump -E -R –triggers –master-data=2 –…

    2017-11-21
欧美性久久久久