壓縮、解壓縮及歸檔工具

壓縮、解壓縮及歸檔工具

一、雜項知識整理

1、find -iname 忽略大小寫;

    -inum 查找指定inode號的文件;

 find 在有條件判斷的時候,如果不加括號,最后的命令會被當成以為第二個條件之后的:例

[root@localhost shelltest]# find / -name "*.conf" -o -iname "*.sh" -ls | wc -l
456
[root@localhost shelltest]# find / \( -name "*.conf" -o -iname "*.sh" \) -ls | wc -l
1056

2、API應用程序開發接口:是一些預先定義的函數,目的是提供應用程序與開發人員基于某軟件或硬件得以訪問一組例程的能力。POSIX可移植操作系統幾口標準;ABI應用程序二進制接口:應用程序和操作系統之間,一個應用和他的庫之間或者應用的組成部分之間的低接口。

 API接口是用作開發人員和應用程序之間,ABI用于操作系統和應用程序之間。(通俗理解)

3、du 列出指定文件或目錄及內部文件的大小

    -h human readable

    -s 僅顯示給定的文件

[root@localhost shelltest]# du -h /etc/
12K/etc/pki/rpm-gpg
12K/etc/pki/tls/certs
24K/etc/pki/tls/misc
...
[root@localhost shelltest]# du -sh /etc/
24M/etc/

二、命令詳解及事例

1、compress命令,擴展名為.Z

    -d 解壓縮,相當于uncompress

    -c 結果輸出至標準輸出,不刪除原文件

    -v 顯示詳情

 uncompress解壓縮

    zcat file.Z >file 直接查看壓縮文件

2、gzip;擴展名為.gz,zcat查看壓縮文件

    -d 解壓縮,相當于gunzip

    -c 將壓縮或者解壓縮的結果輸出至標準輸出

    -# 1-9 指定壓縮比,值越大壓縮比越大

[root@localhost tmp]# gzip functions 
[root@localhost tmp]# ls
functions.gz  mysh12.sh  mysh15.sh  mysh18.sh  mysh20.sh  mysh3.sh  mysh6.sh 
[root@localhost tmp]# gunzip functions.gz 
[root@localhost tmp]# ls
functions  mysh12.sh  mysh15.sh  mysh18.sh  mysh20.sh  mysh3.sh  mysh6.sh

3、bzip;擴展名為.bz2,bzcat查看壓縮文件

    -k 保留原文件keep

    -d 解壓縮,相當于bunzip2

    -# 指定壓縮比,默認是6

4、xz;解壓縮為unxz,xzcat查看壓縮文件

    -k 保留原文件

    -d 解壓縮

    -# 指定壓縮比,默認為6

[root@localhost tmp]# xz functions 
[root@localhost tmp]# ls
functions.xz  mysh12.sh  mysh15.sh  mysh18.sh  mysh20.sh  mysh3.sh  mysh6.sh 
[root@localhost tmp]# unxz functions.xz 
[root@localhost tmp]# ls
functions  mysh12.sh  mysh15.sh  mysh18.sh  mysh20.sh  mysh3.sh  mysh6.sh 
[root@localhost tmp]# xz -k functions 
[root@localhost tmp]# ls
functions     mysh11.sh  mysh14.sh  mysh17.sh  mysh1.sh   mysh2.sh 
functions.xz  mysh12.sh  mysh15.sh  mysh18.sh  mysh20.sh  mysh3.sh  mysh6.sh

以上皆不能壓縮目錄

5、zip打包壓縮 unzip解包解壓縮;擴展名.zip

6、tar歸檔

    -c -f 創建歸檔,不刪除原文件

    -xf 展開歸檔。不刪除原文件

    -tf 查看歸檔文件中的文件列表

歸檔后通常需要壓縮,結合以上的壓縮工具,就能實現壓縮多個文件:

    歸檔并壓縮: -z : gzip 

        -j : bzip2

        -J : xz

    -C(大寫)指定目錄解壓縮

[root@localhost tmp]# tar -zcf ./functions.tar.gz functions
[root@localhost tmp]# ls
functions  functions.tar.gz  lib64  log  shelltest  test
[root@localhost tmp]# tar -xf  ./functions.tar.gz -C /testdir/
[root@localhost tmp]# ls
functions  functions.tar.gz  lib64  log  shelltest  test
[root@localhost tmp]# cd /testdir/
[root@localhost testdir]# ls
a   aaa       data       lost+found  passwd.bak  shelltest   test 
aa  copytest  functions  passwd  string.txt  user  userinfo

    解壓縮都用-xf -C,壓縮分別為jcf,Jcf和zcf(gzip)

[root@localhost tmp]# tar -jcf functions.tar.bz2 functions
[root@localhost tmp]# ls
functions  functions.tar.bz2  functions.tar.gz  lib64  log  shelltest  test
[root@localhost tmp]# tar -Jcf functions.tar.xz functions
[root@localhost tmp]# ls
functions  functions.tar.bz2  functions.tar.gz  functions.tar.xz  lib64  log  shelltest  test
[root@localhost tmp]# tar -xf functions.tar.xz  -C /testdir/

7、cpio:通過重定向的方式將文件進行打包備份,還原恢復的工具,他可以解壓以.cpio或.tar結尾的文件。

    cpio [] > 文件或設備名

    cpio [] < 文件或設備名

    -o 將文件拷貝打包成文件或者將文件輸出到設備上

    -i 解包,將打包文件解壓或者將設備上的備份還原到系統

    -t 預覽,查看文件內容或者輸出到設備上的文件內容

    -v 顯示打包過程中的文件名稱

    -d 解包生成目錄,在cpio還原時自動的建立目錄

    -c 一種較新的存儲方式

注意:(1)cpio恢復的路徑,如果cpio在打包備份的時候使用的是絕對路徑,那么在恢復的時候會自動恢復到這些絕對路徑下面,同理,如果用的是相對路徑,還原時也將恢復到相對路徑下。

   (2)cpio無法直接讀取文件,它需要每個文件或者目錄的完整路徑名才能識別讀取,而find命令的輸出剛好做到了這點,因此,cpio命令一般和find命令配合使用。

   (3)cpio恢復的時候不會自動覆蓋同名文件。

   (4)不會創建目錄而是直接解壓到當前文件夾。

   (5)-iv和-div的區別:-iv是將所有文件壓縮到同一個目錄下,-idv將壓縮時候的目錄等級也一并還原回去,一般來說都會加-d選項。

將etc目錄備份:

find /etc/ -print | cpio -ov > etc.cpio

[root@localhost testdir]# find /etc/ -print | cpio -o > etc.cpio
41342 塊

內容預覽:cpio -tv < etc.cpio

解包文件:cpio -idv < etc.cpio 

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

(0)
SilencePavilionSilencePavilion
上一篇 2016-08-18
下一篇 2016-08-18

相關推薦

  • 用戶及權限管理

    新建用戶用到的相關文件/etc/default/useradd /etc/login.defs /etc/skel/* 批量創建用戶1.創建用戶列表user.txt(文件格式同/etc/passwd) 2.newusers user.txt 3.創建密碼文件passwd.txt(格式  用戶名:密碼) 4.cat passwd.txt | chpa…

    Linux干貨 2016-08-11
  • 權限作業

    三種權限rwx對文件和目錄的不同意義 對文件來說: r:可獲取文件的數據; w:可修改文件的數據;(但不能刪除文件) x:可將此文件運行為進程;(針對二進制文件或腳本) (一般而言,文件默認情況下都不該有執行權限) 對目錄來說: r:可以使用ls獲取其下的所有文件列表;但不能訪問文件,不能cd進目錄,不能查看文件的詳細信息(元數據) w:可修改此目錄下的文件…

    Linux干貨 2016-08-05
  • N22-℡浮生.若夢 ╮-第三周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 ~]# who |cut -d' ' -f1 |uniq -c    1 root    2 ch…

    Linux干貨 2016-09-15
  • 堡壘機-麒麟堡壘機動態口令使用手冊

      一.管理員部分 1.在其它-licenses菜單查看動態口令許可是否打開,如果未打開聯系廠商重新生成許可   2.找廠商生成密鑰文件,密鑰文件中包含令牌種子,在其它–動態令牌菜單將密鑰文件導入即可看到所有的令牌種子,每個令牌可以綁定給多個用戶     3.令牌綁定可以在 資源管理–…

    安全運維 2016-05-29
  • Linux-start

    學習計劃:參見N24學習時間與線路圖. 目標:完成作業,考試過關。 宣言:人但有追求,世界亦會讓路。

    Linux干貨 2016-10-24
欧美性久久久久