壓縮、解壓縮及歸檔工具

壓縮、解壓縮及歸檔工具

一、雜項知識整理

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 10:10
下一篇 2016-08-18 10:10

相關推薦

  • 馬哥教育21期網絡班—第12周課程+練習—-LAMP練習

    1、請描述一次完整的http請求處理過程; (1) 建立或處理連接:接收請求或拒絕請求 (2) 接收請求: 接收來自于網絡的請求報文中對某資源的一次請求的過程; 持久連接:接收到請求不會斷開這個請求 非持久連接:一個連接請求斷開一次 并發訪問響應模型(Web I/O): 單進程I/O結構:啟動一個進程處理用戶請求,而且一次只處理…

    Linux干貨 2016-09-26
  • Linxux運維基礎小計

    常用cat、ls、touch、mkdir、cp、mv小結 ·cat連續的將文件的內容顯示在銀幕上 用法:cat[OPTION]…[FILE]… 參數 -A顯示所有非正常的所有符號 -E顯示行結束符 -T顯示制表符 -v顯示其他的非打印字符 -n對顯示的行進行編號,與文件內容沒有關系 -b:打印出行號(空白行不標行號) 直接輸入cat命令表示等待用戶的輸入并打…

    2017-02-18
  • CentOS7下編譯安裝Apache

    在Linux中通過編譯源代碼進行安裝軟件,需要GCC(GNU Compiler Collection,GNU編譯器套件)的支持。通過yum安裝GCC [root@localhost ~]# yum install gcc C程序源碼編譯安裝三個步驟: 第一步:./configure  (1)通過選項傳遞參數,…

    Linux干貨 2016-09-05
  • 聯通電信雙鏈路內網VRRP+BFD&&PPTP+MYSQL+FreeRadius實現IDC堡壘機連接IDC機房

    一、具體需求與實現 1、多wan:兩條寬帶接入鏈路,使用VRRP+BFD技術,實現鏈路冗余; 2、IDC機房遠程管理和登錄限制:使用PPTP+freeRadius+mysql實現VPN,限制指定網段或IP進行撥號認證登錄IDC機房,并編寫腳本檢查非法用戶登錄IDC機房服務器情況; 3、內網VLAN劃分:利于安全管理、IP分流和帶寬限制; 4、內網監控:使用N…

    Linux干貨 2016-08-22
  • grep

    1. 文本處理工具的使用:   cat 連接文件并打印到標準輸出設備,但是文件較大時,翻屏太快,與more或者less連用 命令反著輸入(tac)將會反向輸出文本文件 用法: cat 選項 參數   選項: -A 顯示不可打印字符 -b 對行進行編號,空白行不編號 -s 壓縮空白行 -n 對行進行編號,包括空白航  參數: &n…

    Linux干貨 2016-08-08
欧美性久久久久