find 和 壓縮工具

find命令

一、find命令基本介紹

1、find作用

通過遍歷指定路徑實時查找符合條件的文件。

find工作特點

2、find工作特點

?查找速度較慢
?精確查找
?實時查找
?用戶只能搜索有讀取和執行權限的目錄

3、語法

find [OPTIONS]... [查找路徑] [查找條件] [處理方式]
查找路徑:指定具體的目標路徑,默認是當前所處的目錄
查找條件:即查找標準,可以是文件名、文件大小、文件權限、文件屬主與屬組、inode、文件的時間戳、文件類型等等。如果不添加查找條件,則查找的是當前目錄的所有文件。
處理方式:對符合條件的文件進行如顯示、刪除、替換等等的操作,默認是輸出至標準輸出設備上。

二、查找條件分類

1、根據文件名和inode號查找

-name :后接文件名稱,支持使用global通配符如:*、?、[ ]、[^] ;
-iname :后接文件名稱,不區分字母大小寫;
-inum n :表示按inode號進行查找;
-sameflie “filename” :表示相同inode號的文件,即硬鏈接文件;

-link n:表示查找鏈接數為n的文件;
-regex “PATTERN” :以PATTERN匹配整個文件路徑字符串,而非僅是文件名
    [root@localhost ~]# find  -regex  ".*.sh$"
    ./.cache/evolution/addressbook/trash
    ./scriptdir/rc.sh
    ./sum100.sh

2、根據文件的屬主(UID)查找

-user USERNAME : 查找屬主為指定用戶的所有文件,如find /etc -user root 
-uid UID:查找指定UID的所有文件
-nouser :查找沒有屬主的所有文件

3、根據文件的屬組(GID)查找

-group :查找指定屬組的所有文件
-gid : 查找指定GID的所有文件
-nogroup :查找沒有屬組的所有文件

4、根據文件的類型查找

格式:-type TYPE
TYPE包括:
f : 普通文件
d:目錄文件
l:符合鏈接文件(非硬鏈接哦)
s:套接字文件
b:塊設備文件
c:字符設備文件
p:管道文件

5、根據文件大小查找

-size [+|-] # :按指定的大小#來查找,常用單位有K、M、G
以搜索大小為6K的文件為例(如圖),其搜索的范圍是(5,6],注意區間
(#-1, #]表示#K  [0,#-1]表示小于#K  (#, ∞ )表示大于#K

find 和 壓縮工具

6、根據時間戳

(1)以“天”為單位

-atime [+|-]# :
-mtime [+|-]# :
-ctime [+|-]# :
以搜索第6天的內容為例
#:[#,#-1)   -#:(#,0]    +#:(oo,#-1]

find 和 壓縮工具

(2)以“分鐘”為單位

-amin [+|-]# :
-mmin [+|-]# :
-cmin [+|-]# :

7、以組合條件查找

與:-a
或:-o
非: -not /!
摩根定律:
非(P 且 Q) = (非 P) 或 (非 Q) >> !(A -o B)=!A -a !B
非(P 或 Q) = (非 P) 且 (非 Q) >> !(A -a B)=!A -o !B
示例:
找出/tmp 目錄下,屬主不是root ,且文件名不是fstab 的文件,用兩種方法。

find 和 壓縮工具

8、根據權限查找

格式:-perm  [/|-]  MODE
MODE:精確權限匹配,如find -perm 644 :表示匹配的文件權限只能是644。
/MODE:任何一類用戶(u,g,o)的權限中的任何一位(r,w,x)符合條件即滿足。9位權限之間存在或關系,注意在centos 7版本以前可以用+MODE。如find -perm /111:表示匹配的文件中ugo只有有一類用戶有執行權限即符合條件
-MODE:每一類用戶(u,g,o)的權限中的每一位(r,w,x)同時符合條件即滿足。9位權限之間存在與關系。如find -perm /111:表示匹配的文件中ugo必須全部都要具有執行權限才符合條件。

三、處理方式(動作)

-print:將搜索的結果顯示至屏幕,默認。
-ls:顯示匹配的文件的詳細信息,類同與 “ls -l”。
-delete:刪除查找到的文件
-fls file:將查找的文件以長格式方式保存至指定的文件中。
-ok COMMAND {} \;對查找到的每一個文件都執行COMMAND命令,在執行COMMAND命令前都會要求用戶確認,y表示同意,回車表示略過。
-exec COMMAND {} \;對查找到的每一個文件都執行COMMAND命令,但不需用戶確認。

注意:

(1){ }:表示引用查找到的文件名稱自身;
(2)find 傳遞查找到的文件至后面指定的命令時,查找到所有符合條件的文件一次性傳遞給后面的命令
(3)如果查找的文件數量過多,導致一些命令不能接受過多參數,而導致命令執行失敗,因此需要使用 find | xargs COMMAND 如圖。

find 和 壓縮工具

四、作業

1、查找/var目錄下屬主為root,且屬組為mail的所有文件 find 和 壓縮工具 

2、查找/var目錄下不屬于root、lp、gdm的所有文件 find 和 壓縮工具3、查找/var目錄下最近一周內其內容修改過,且屬主不為root,也不是postfix的文件 find 和 壓縮工具4、查找當前系統上沒有屬主或屬組,且最近一個周內曾被訪問過的文件 find 和 壓縮工具5、查找/etc目錄下大于1M且類型為普通文件的所有文件 find 和 壓縮工具6、查找/etc目錄下所有用戶都沒有寫權限的文件 find 和 壓縮工具7、查找/etc目錄下至少有一類用戶沒有執行權限的文件 find 和 壓縮工具8、查找/etc/init.d目錄下,所有用戶都有執行權限,且其它用戶有寫權限的文件 find 和 壓縮工具

壓縮及歸檔工具的使用

1、gzip/gunzip/zcat

(1)gzip語法

gzip [options]... file...
-d:解壓縮,相當于gunzip
-#:指定壓縮比(1-9),默認是6,數字越大壓縮比越大
-c:將壓縮結果輸出至標準輸出
    保留原文件:gzip -c filename > filename.gz

(2)gunzip:解壓縮

(3)bzcat:查看gzip壓縮文件內的文件列表

2、bzip2/bunzip2/bzcat

(1)bizp2語法

bizp2 [options]... file...
-d:解壓縮,相當于bunzip2
-#:指定壓縮比(1-9),默認是6,數字越大壓縮比越大
-k:保留原文件
-c:將壓縮結果輸出至標準輸出

(2)bunzip2:解壓縮

(3)bzcat:查看bizp2壓縮文件內的文件列表

3、xz/unxz/xzcat

(1)xz語法

xz [options]... file...
-d:解壓縮,相當于unxz
-#:指定壓縮比(1-9),默認是6,數字越大壓縮比越大
-k:保留原文件
-c:將壓縮結果輸出至標準輸出

(2)unxz:解壓縮

(3)xzcat:查看xz壓縮文件內的文件列表

4、歸檔(打包)工具,tar

(1)tar語法

tar [options]... file...
-c:創建歸檔,須配合-f使用
-x:展開歸檔,須配合-f使用,跟-C可以將歸檔文件展開至指定位置
-t:查看歸檔文件中的文件列表,配合-f使用
-v:顯示歸檔(展開)過程
-f:指定歸檔文件

(2)歸檔并壓縮

-z:以gzip格式壓縮,如下:
tar -zvcf /PATH/TO/SOMEFILE.tar.gz files  創建歸檔并壓縮文件
tar -zvxf /PATH/TO/SOMFILE.tar.gz  解壓縮并展開歸檔
-j:以bzip2格式壓縮
-J:以xz格式壓縮

5、示例

打包壓縮/etc/目錄,然后解壓展開到test目錄中
[root@localhost ~]# tar -zvcf etc.tar.gz etc/ 
etc/
etc/fstab
etc/crypttab
 ......
[root@localhost ~]# tar -zvxf etc.tar.gz -C test/ 
etc/
etc/fstab
etc/crypttab
.....

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

(0)
paopao
上一篇 2016-08-16
下一篇 2016-08-16

相關推薦

  • IP地址的三種表示格式及在Socket編程中的應用

       使用TCP/IP協議進行網絡應用開發的朋友首先要面對的就是對IP地址信息的處理。IP地址其實有三種不同的表示格式:        1)Ascii(網絡點分字符串)-        2) 網絡地址(32位無符號整形,網絡字節序,大頭) &nbsp…

    Linux干貨 2015-04-10
  • Linux GRUB legacy

    Linux GRUB Linux GRUB Linux GRUB 單用戶模式(密碼破解) 救援模式 實例 GRUB菜單 GRUB命令行接口 GRUB簡介 GRUB 菜單組成 GRUB配置文件 GRUB安裝及修復 GRUB單用戶及救援模式 GRUB簡介 了解grub之前,需要理解linux的啟動流程,如果之前有對linux啟動流程不了解的可以看:http://…

    Linux干貨 2016-04-25
  • nginx+keepalived構建負載均衡代理服務器

    實驗環境: 1、centos7.3 centos6.82、兩臺VS提供nginx代理和keepalived3、兩臺RS提供httpd服務并部署wordpress4、另外一臺提供Mysql數據庫服務 實驗拓撲圖: 拓撲圖 實驗步驟 1、在vs1(172.18.251.4)上配置,用yum安裝keepalived和nginx yum install -y kee…

    Linux干貨 2017-05-21
  • centos系列初步搭建LAMP

    centos6搭建LAMP 系統環境 ip=192.168.0.105 selinux為:setenforce 0 iptables 為stop 客戶機需要修改hosts文件 1.192.168.2.105 www1.stuX.com2.192.168.2.105 www2.stuX.com 安裝LAMP組件 1.yum install …

    Linux干貨 2016-12-11
  • LAMP 通過使用腳本的方式安裝并部署Discuz

    該腳本有很多輔助的部分,主要是為了讓腳本在中途運行失敗可以多次運行,所產生的結果是預期的,與第一運行并成功的結果是一樣的。初次攝入bash腳本有很多不足,敬請指正。 所需要的軟件 apr-1.5.2.tar.bz2 apr-util-1.5.4.tar.bz2 Discuz_X3.2_SC_UTF8.zip freetype-2.5.4.tar.gz htt…

    Linux干貨 2016-04-05
  • http特性

    一、何為http 什么是http?http是Hyper Text Mark Language的縮寫,超文本標記語言。Apache下的httpd是實現了這一功能的開源軟件。 二、http特性 http特性1:持久連接及MPM參數設置 KeepAlive {On|Off} #是否啟動持久連接 MaxKeepAliveRequests 100 …

    Linux干貨 2015-10-15

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-19 14:11

    文章結構清晰,層次分明,圖文并貌。對find的常用選項總結的也很詳細,find命令是筆試中的一個重要的考點,希望課后能多加練習,進行好總結和梳理。

欧美性久久久久