91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于文件查找和解壓縮

發布時間:2020-07-16 08:03:08 來源:網絡 閱讀:682 作者:銘人博軒 欄目:數據庫

                  文件查找和解壓縮
在文件系統上查找符合條件的文件,文件查找的工具有兩個,locate 和 find
文件查找分為:
            locate      非實時查找 (在數據庫查找)
            updatedb   更新數據庫
            經常用于搜索穩定的文件,比如配置文件
            var/lib/mlocate/mlocate.db 數據庫路徑
            find     實時查找

locate :
       查詢系統上預建的文件索引數據庫
       /var/lib/mlocate/mlocate.db
       依賴于實現構建的索引;索引的構建實在系統較為空閑時自動進行(周期性任務)
       管理員可以手動更新數據庫 updatedb
       索引構建過程需要遍歷整個根文件系統,及其消耗資源
       工作特點:查找速度快
                 模糊查找
                 非實時精準查找
                 搜索的是文件的全路徑,不僅僅是文件名
                 可能只搜索用戶具備讀取和執行權限的目錄
locate 選項 關鍵字
locate -i AAA  執行時不區分大小寫的搜索
locate -n 2 aa 只列出前幾個的匹配項目
locate makangbo 搜索名稱或路徑中帶有makangbo的文件
locate -r ‘\.bash$’ 使用正則表達式來搜索以 bash結尾的文件

 

 

find 實時查找工具,通過遍歷指定路徑完成文件查找;
特點:精確查找、精準查找、速度慢 、可能只搜索用戶具備讀取和執行權限的目錄
語法:find [選項] [查找路徑] [查找條件] [處理動作]
     查找路徑:指定具體目路徑;默認為當前目錄
     查找條件:指定的查找標準,可以文件名,大小,類型,權限等標準進行;默認為指定路徑下的所有文件
     處理動作: 對符合條件做操作,默認輸出至屏幕
查找條件:
        根據文件名和inode查找
        -name "file"    支持使用正則表達式      ]# find -name makangbo  搜索名為makangbo 的文件
         * ? [] [^]                           ~]# find / -name "*.txt"  搜索根目錄以 *.txt為結尾前面是任意字符的文件
        -iname "file"   不區分字母的大小寫      ]# find -iname MAkangbo 不去分大小寫的搜索名為makango 或者MAkangbo 等文件
        -inum inode     按照inode號查找         ]# find -inum 5555    節點號文件搜索
        -samefile filename  相同inode號的文件
        -links 鏈接數   鏈接數為多少的文件      ]# find -in -links 5  鏈接數為6的文件
        -regex "表達式" 以表達式匹配整個文件路徑字符串,而不僅僅是文件名稱
        -user  用戶名   根據文件的屬主查找
        -group 組名     根據文件的屬組查找
        -uid UID        根據UID查找文件
        -gid GID        根據GID查找文件
        -nouser         查找沒有屬主的文件
        -nogroup        查找沒有屬組的文件
        根據文件類型查找:
        -]# find -user makangbo -type f   例如查找用戶之下的普通文件
         f 普通文件
         d 目錄文件
         l 符號鏈接文件
         s 套接字文件
         b 塊設備文件
         c 字符設備文件
         p 管道文件
組合條件查找:
         -a       與
         -o       或
         -not ,! 非
-not A-a -not B = -not(A -o B) 不是A 也不是B
-not A-o -not B = -not(A -a B) 不是A或者不是B
!A -a !B=!(A -o B) 不是A 也不是 B
!A -O !B=!(A -a B) 不是A 或者不是B
注意:括號需要轉義\(\)
德摩根定律:
非P 或 非Q = 非(P 且 Q)   前面兩個第一個不是P 或者不是Q,那就是不是的意思,同等與不是(P與Q)
非P 且 非Q = 非(P 或 Q)   前面兩個第一個不是P 并且不是Q ,那就是,兩個都是非的意思,同等與 不是(P或者Q)
              
         
 ~]# find /var -name "*log*"  搜索/var目錄下以 log為關鍵字的搜索文件前后匹配任意字符
 ~]# find -user makangbo -group makangbo  搜索 用戶makangbo 以及組群makangbo 所擁有的文件
  ]# find -user makangbo -not -group makangbo   搜索用戶makangbo  組不是makangbo的文件
  ]# find -user makangbo -o -user root   搜索用戶makangbo 或者 用戶root 的文件   滿足一個條件即可
  ]# find -not \( -user makangbo -o -user root \)  搜索不是 和用戶makangbo 或者 用戶root 的文件
  ]# find / -user makangbo -o -uid 500    搜索根目錄下 用戶makangbo 或者 uid 500 的文件
  ]# find /tmp \( -not -user root -a -not -name "f*" \)  找出/tmp目錄下,用戶屬主不是root,且 文件名不是以f開頭的文件
  ]# find /tmp -not \( -user root -o -name "f*" \)   不是用戶root 或 不以f開頭的文件
 
 
 根據文件大小查找:
        ~]# find -size +10k
         常用單位:k,m,g
       find -size  10k   表示9k到10k之間 (9k,10k)在原有的數字上面-1
       find -size +10k   表示10k以上不包括10 無限大(10k,∞)
       find -size -10k   表示0k到9k 包括9k(0,9k)
 根據時間戳:
        以天為單位
        ~]# find -atime 5   
       find -atime 5    表示最近5天到6天 (5,6)在原有的數字上面+1
       find -atime +5   表示5天以上,至無限大 (5,∞) 
       find -atime -5   表示0天到5天 (0-5)
       -mtime
       -ctime
       以分鐘為單位
       -amin    
       -mmin
       -cmin
       
 
根據權查找:
          -perm [/|-] 模式 精確的權限匹配
          ~]# find -perm 644
          任何一類用戶的權限只要能包含對其指定的任何一位權限即可,或關系,+從7版本跟換為/ 表示或者    - 表示并且
         find -perm 755  會匹配權相模式正好是755的文件
         find -perm +222 匹配只要當任意用戶都有寫權限時
         find -perm -222 表示每一位中的權限小于等于2就匹配
         find -perm -002 只有當其他人(other)有寫權限時,才會匹配
         find -perm -666 包括666 650 550 111 等,但不包括766 等
         find -perm +621 表示屬主有讀或者寫,或者屬組有寫,或者其他有執行權限的都可以
         -002 中的0表示不匹配屬主和屬組的權限,而不是說屬主和屬組沒有任何的權限   0表示不關注
處理動作:
         例如 find -perm 222  -print    
         跟搜索條件的后綴
         -print  默認的處理動作,顯示,打印到屏幕  ~]# find  f1 -print -ls   默認輸出打印顯示,不加也一樣
         -ls     類似于對查找到的文件執行 ls -l 命令   ~]# find  f1 -ls
         -delete 刪除查找到的文件                         ~]# find  f1 -delete 對查找到的文件直接刪除,不提示,擅用此命令
         -fls /路徑文件/查找到的所有文件的長格式信息保存至指定文件中     ~]# find  f1 -fls /root/f1.log  這時會生成一個f1.log的文件 ,就是查到的命令導入一個指定文件內   ;同等與重定向文件
         -ok 命令 {}\;   對查找的每個文件執行由指定命令的命令              
                        對于每個文件執行命令之前都會交互式的要求用戶確認
                        其中{}表示前面查找到的所有內容引用           ~]# find  f1 -ok rm {} \;   是否刪除引用前面的搜索內容
         -exec 命令 {}\; 對查找到的每個文件執行由命令指定的命令 ,不提示用戶執行   ~]# find  f1 -exec rm {} \;   直接執行 ,不提示
         find 傳遞查找到的文件至后面指定的命令時,查找到所有的符合條件的文件一次性傳遞給后面的命令
         有些名看客不能接受過多參數,此時命令執行可能會失敗,
         可以用這條命令規避此問題 : find | xargs 命令
 
         ~]# find  -name "*.sh" -exec cp {} {}.bak \;  
            將搜索.sh為結尾的文件進行備份,添加.bak 擴展名
        ~]# find /tmp -ctime +3 -user makangbo -ok rm {} \;
          提示刪除存在時間超過3天以上的用戶makangbo的臨時文件
         ~]# find -perm -002 -exec chmod o-w {} \;
          在家目錄中尋找可以被其他用戶寫入的文件
          ~]# find /home/ -type d -ls
           搜索home下的 目錄文件
 
 
 練習
1、查找/var目錄下屬主為root,且屬組為mail的所有文件
   ~]# find /var -user root -a -group mail

2、查找/var目錄下不屬于root、lp、gdm的所有文件
   ~]# find /var -not -user root -a -not -user lp -a -not -user gdm
   ~]# find /var -not \( -user root -o -user lp -o -user gdm \)

3、查找/var目錄下最近一周內其內容修改過,同時屬主不為root,也不是xiaomag的文件
     ~]# find /var -mtime -7 -a -not -user root -a -user xiaomag
     ~]# find /var -mtime -7 -not \( -user root -o -user xiaomag\)

4、查找當前系統上沒有屬主或屬組,且最近一個周內曾被訪問過的文件
     ~]# find / -atime -30 \( -nouser -o -nogroup \)

5、查找/etc目錄下大于1M且類型為普通文件的所有文件
   ~]# find /etc -size +1M -type f
   查找路徑, 根據大小查找大于1M,查找普通文件

6、查找/etc目錄下所有用戶都沒有寫權限的文件
   ~]# find /etc -not -perm +222 -ls

7、查找/etc目錄下至少有一類用戶沒有執行權限的文件
  ~]# find /etc -not -perm -222 -ls

8、查找/etc/init.d目錄下,所有用戶都有執行權限,且其它用戶有寫權限的文件
  ~]# find /etc/init.d/ -perm -113
 
 
 
 解壓縮 和歸檔工具
 早期有compress 和 uncompress ,對應的是.Z結尾的壓縮格式文件,
 gzip  和 gunzip  對應的是.gz 結尾的壓縮格式文件
 bizp2 和 bunzai2   對應的是.bz結尾的壓縮格式文件
 xz    和 nuxz      對應的是.xz結尾的壓縮格式文件
 zip   和 unzip     對應的.zip結尾的壓縮格式文件
 tar    歸檔
 cpio   打包
 
 
compress 和 uncompress
語法 compress 選項 文件
compress file 壓縮文件 不保留原始的文件
compress -d file 解壓縮,同等于uncompress      
compress -c file 將壓縮或解壓縮的結果輸出值標準輸出,保留原始文件   ~]# compress -c file > file.Z
compress -v file 顯示詳情
zcat file.Z >file  解壓縮      后綴是Z
 
gzip 和 gunzip
語法 gzip 選項 文件
gzip -# file  #為數字 指明壓縮比;1-9,默認為6,數字越大,壓縮比越大 例如最大壓縮比:gzip -9 file
gzip -d file.gz  解壓縮文件 ,同等與解壓縮的命令gunzip
gzip -c file  將壓縮或解壓縮的結果輸出值標準輸出,保留原始文件
例如 gzip -c file > file.gz  重定向到文件,保留了原來的文件
gizp -r file  遞歸至目錄中對每個文件進行壓縮
zcat file.gz >file  無須顯示解壓縮查看壓縮文件的內容  > 可以重定向文件
例如 gzip -c -d file.gz > /目標路徑/file      壓縮文件后綴是gz
 
bzip2 和 bunzip2 /bzcat
語法 bzip2 選項 文件
bizp2 -# file  #為數字 指明壓縮比;1-9,默認為6,數字越大,壓縮比越大 例如最大壓縮比:bzip2 -9 file
bzip2 -k file 壓縮后保留原文件
bzip2 -d file 解壓縮,同等于 bunzip2      壓縮文件后綴是bz2
bzcat /目標路徑/file.bz2  無須顯示解壓縮查看壓縮文件的內容  > 可以重定向文件
 
xz /unxz /xzcat
語法 xz 選項 文件
xz -# file  #為數字 指明壓縮比;1-9,默認為6,數字越大,壓縮比越大 例如最大壓縮比:bzip2 -9 file
xz -k file  壓縮后保留原文件
xz -d file  解壓縮,同等于 bunzip2       壓縮文件后綴是xz
xzcat /目標路徑/file.xz  無須顯示解壓縮查看壓縮文件的內容  > 可以重定向文件
 
zip / unzip
打包壓縮
zip -r file路徑 源路徑
 命令選項 生成路徑  源文件路徑    可以多個文件壓縮歸檔成單個文件    壓縮文件后綴是zip
解包解壓縮
unzip file

性能排行:xz ;bzip ; gzip  從高到底,但是經常用的是gzip


歸檔工具
歸檔就是將多個文件打包為單個文件以便于管理,默認的歸檔不會執行壓縮
常用的工具有 tar ; cpio
語法 tar 選項 file
創建歸檔tar
tar -c -f /PATH/TO/SOMEFILE.tar FILE  
tar cf /PATH/TO/SOMEFILE.tar FILE
~]# tar -c -f /root/f2.tar f2    歸檔文件f2到f2.tar中
  注意:歸檔不會刪除原文件

查看歸檔文件中的文件列表
~]# tar -t -f /root/f2.tar      查看f2.tar中的文件列表

展開歸檔
~]# tar -x -f /root/f2.tar  
~]# tar -x -f /root/f2.tar -C /PATH/

結合壓縮工具實現:歸檔并壓縮
-z gzip
后綴名:.tar.gz
歸檔并壓縮:tar-zcf    ~]# tar -zcf /root/f3.tar.gz f3
展開歸檔:tar -zxf     ~]# tar -zxf f3.tar.gz

-j bzip2
后綴名:.tar.bz2
歸檔并壓縮:tar -jcf   ~]# tar -jcf /root/f3.tar.bz2 f3
展開歸檔:tar -jxf     ~]# tar -jxf f3.tar.bz2

-J xz
后綴名:.tar.xz
歸檔并壓縮:tar -Jcf   ~]# tar -Jcf /root/f3.tar.xz f3
展開歸檔:tar -Jxf     ~]# tar -Jxf f3.tar.xz

注意:展開歸檔可以直接使用tar -xf 而無視指定對應的壓縮工具選項

 

 

cpio 歸檔文件及從包中提取文件
cpio 命令是通過重定向的方式將文件進行打包備份,還原恢復的工具,他可以解壓以.cpio 或者 .tar 結尾的文件
cpio 選項 > 文件名或者設備名
cpio 選項 < 文件名或者設備名
cpio -o         將文件拷貝打包成文件或者將文件輸出到設備上
cpio -i         解包,將打包文件解壓或將設備上的備份還原到系統
cpio -t         預覽,查看文件內容或者輸出到設備上的文件內容
cpio -v         顯示打包過程中的文件名稱
cpio -d         解包生成目錄,在cpio還原時,自動建立的目錄
cpio -c         一種比較新的存儲方式

舉例
將etc 目錄備份
 ~]# find /etc -print | cpio -ov >etc.cpio
搜索etc目錄下的文件打印輸出到設備  將文件拷貝打包過程中將文件輸出到設備 顯示文件名稱 重定向名稱

內容預覽
 ~]# cpio -tv <etc.cpio
 預覽輸出設備  顯示過程中的文件名稱
 
 解包文件
 ~]# cpio -iv <etc.cpio
 ~]# cpio -idv <etc.cpio

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黎平县| 株洲市| 新田县| 汉阴县| 巨鹿县| 溧阳市| 沛县| 兴海县| 淮滨县| 盘锦市| 新河县| 新泰市| 裕民县| 宁德市| 清镇市| 泰来县| 衡南县| 永年县| 四平市| 筠连县| 历史| 洪洞县| 肇东市| 全州县| 谷城县| 枣阳市| 锦州市| 平和县| 高邮市| 青田县| 延寿县| 左云县| 河津市| 陕西省| 荥经县| 澄迈县| 花莲市| 车致| 长岛县| 柳林县| 新宁县|