1. 程式人生 > >馬哥學習-----李洋個人筆記之壓縮,解壓縮及歸檔

馬哥學習-----李洋個人筆記之壓縮,解壓縮及歸檔

壓縮 解壓縮 歸檔

compress 文件名
-v 詳細信息

-d 等於 uncompress 默認只識別 .Z 如果使用別的後綴,會導致不識別,解壓縮失敗。
也可以使用 -d -c 壓縮包 > 解壓縮的形式,解壓被改了後綴的壓縮包.這種方式不會覆蓋源文件.
優點是這種方式不會覆蓋源文件.缺點是會丟失文件的原有權限,新的權限基於當前umask碼而定。

-c 輸出的標準輸出 再結合> 生成文件 舉例:

compress -c pssswd > passwd.Z

壓縮完成。

uncompress 解壓縮

gzip 格式:gzip 文件名 壓縮

-d 或 gunzip 解壓 只識別.gz

-c 文件名 > 壓縮包 壓縮後保持原文件不變,但權限會根據umask變化

gzip -c messages >messages.gz

-cd 壓縮包 > 文件名 或 zcat 壓縮包 > 文件名 解壓後保持壓縮包不變,但權限會根據umask變化

-v 詳細信息

-# 表示指定壓縮比,默認是6 ,數字越小,表示壓縮比越小,速度越快。反之,數字越大,壓縮比越大,速度卻越慢。

gzip -9 -c passwd > passwd.gz 是壓縮比最大的.

zcat:不顯式解壓縮的前提下查看文本文件內容,舉例

zcat messages.gz > messages

bzip2

-k 保持原文件或原壓縮包不變

-d 或 bunzip2 解壓

-c命令.用重定向 >也能解壓,但會丟失權限.新的權限同樣取決於當前的umask碼.

-cd 壓縮包 > 文件名 可以實現預覽壓縮包的功能,解壓後保持壓縮包不變,但權限會根據umask變化

-v 詳細信息

-# 表示指定壓縮比,默認是9,數字越小,表示壓縮比越小,速度越快。反之,數字越大,壓縮比越大,速度卻越慢。

bzcat:不顯式解壓縮的前提下查看文本文件內容

xz

-k 保持原文件或原壓縮包不變

-d 或 unxz 解壓

-c 文件名 > 壓縮包 壓縮後保持原文件不變,但權限會根據umask變化

-cd 壓縮包 > 文件名 或 xzcat 壓縮包 > 文件名 解壓後保持壓縮包不變,但權限會根據umask變化

-v 詳細信息

-# 表示指定壓縮比,默認是6,數字越小,表示壓縮比越小,速度越快。反之,數字越大,壓縮比越大,速度卻越慢。

xz在 compress gzip bzip2 xz這幾種壓縮工具中,壓縮比例是最高的.而它們的共同點是:
它們只負責壓縮及解壓縮,沒有打包(歸檔)的功能.原文件和壓縮後的文件也是一一對應的關系,

zip 打包壓縮工具,默認後綴名為.zip

-r 壓縮包名 源文件…… 兩者都可以是目錄,舉例

zip –r /testdir/sysconfig /etc/sysconfig/

unzip 壓縮包名 解壓縮默認在當前目錄進行,如果壓縮包內有目錄文件,則先創建再解壓,不會覆蓋根目錄.

cat /var/log/messages | zip messages -

用cat打開messages,並通過管道傳遞給zip進行壓縮,壓縮後的位置是當前目錄,名字為messages. - 在這裏的意思是
/var/log/messages,因為zip需要兩個參數,即 壓縮包名及源文件,一些命令可以用 - 來表示第二個參數.

unzip -p message > message 解壓縮的固定格式.

tar (Tape ARchive,磁帶歸檔的縮寫) 格式 tar 選項 壓縮後的名字 源文件

選項中的-可以不要

-c 創建包

-v 詳細過程

-f 指定生成後的文件名 源文件……

tar -cvf mage.tar *

將當前目錄下的所有文件打包壓縮為 mage.tar

tar -tvf mage.tar 預覽歸檔文件(只要涉及到解壓縮文件,必須加上f選項)

tar -r /etc/fstab -f mage.tar 往歸檔中增加文件,在執行後會提示,已經將最前方的根號(/)去掉,避免解壓縮的
時候,覆蓋了源文件. 如上例,不去掉的話,那麽解壓縮這個包,會直接覆蓋/etc目錄.
另外,被其他的壓縮工具再次壓縮包後,不可以再往裏面添加包了.但可以解一個或全部壓縮.

tar --delete etc/fstab -f mage.tar 從歸檔中減少文件
格式 先指定要刪除的文件名或目錄.再指定從哪個文件裏刪.

tar -xv passwd -f mage.tar 從歸檔中解出指定的文件
格式 先指定要解壓的文件名或目錄.再指定從哪個文件裏解壓.

tar -xvf mage.tar 從歸檔中解出所有文件

tar xvf mage.tar -C /app2 解壓到指定目錄,默認為當前目錄

-j 使用bzip2 壓縮或解壓縮(可省略)

-J 使用xz 壓縮或解壓縮(可省略)

-z 使用gzip 壓縮或解壓縮(可省略)

tar jcvf mage.tar.bz2 *

先使用bzip2工具壓縮,再使用tar工具壓縮,將當前目錄下的所有文件都壓縮成名字為mage.tar.bz2的壓縮包.

tar xvf mage.tar.bz2

將mage.tar.bz2文件先用bzip2解壓縮,再使用tar解壓到當前目錄下.

分割及合並文件

T選項指定輸入文件,-X選項指定包含要排除的文件列表

tar zcvf mybackup.tgz -T /root/includefilelist -X /root/excludefilelist

將/root/includefilelist壓縮為mybackup.tgz,但是不要/root/includefilelist當中的/root/excludefilelist.

分割大的 tar 文件為多份小文件:

split –b Size(指定大小) –d tar-file-name(壓縮包名字) prefix-name(拆分後的名字)拆分後的小壓縮

包,只能看出是壓縮類型文件(file+文件名查看),但是不能單獨解壓,只能合並再一起才能正常解壓。

split -b 1M –d mybackup.tgz mybackup-parts

將mybackup.tgz壓縮包,按照每份1M的大小分割為mybackup-parts的小壓縮包。

split -b 1M mybackup.tgz mybackup-parts

合並:

cat mybackup-parts* > mybackup.tar.gz

將所有以mybackup-parts開頭的壓縮文件,合並為名字是mybackup.tar.gz的壓縮包。

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

cpio [選項] > 文件名或者設備名

cpio [選項] < 文件名或者設備名

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

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

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

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

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

-c 一種較新的存儲方式

find |cpio -ov > find.cpio 將查找到的數據管道給cpio,然後歸檔打包為find.cpio

cpio -tv < find.cpio 或 cat find.cpio |cpio -tv 預覽find.cpio當中的文件.

cpio -idv < find.cpio 或 cat find.cpio |cpio -idv 解開find.cpio當中的文件.

歸檔和解壓的時候,原文件的權限也會被保存.cpio解文件,自己不會帶跟目錄/.可以手動指定目錄.

馬哥學習-----李洋個人筆記之壓縮,解壓縮及歸檔