linux系統常見的壓縮命令:compress、gzip、zcat、bzip2、xz、zip
打包命令:tar、cpio
compress
語法:compress [-dfvcVr] [-b maxbits] [file …]
(執行后命令后會替代目標文件)
后綴名:.Z
命令參數:
-c :將結果打印到屏幕上,配合重定向,不會覆蓋原文件,但權限會變。
-f : 默認不對硬鏈接數為2及以上的文件壓縮,加上f,強制壓縮指定文件, 而其他同inode的文件硬鏈接數減1.
-v : 顯示詳細過程。
解壓縮: a) -d
b) uncompress filname
c) zcat X.Z > X(權限更改并且保留原文件)
gzip
語法:gzip [OPTION]… FILE …
后綴名:.z
命令參數:
-d :解壓縮 ,相當于gunzip
-c :將結果打印到屏幕上,配合重定向,不會覆蓋原文件,但權限會變。
-f: 默認不對硬鏈接數為2及以上的文件壓縮,加上f,強制壓縮指定文件,而其他同inode的文件硬鏈接數減1.
-v: 顯示詳細過程。
-# : 數字越大,壓縮比越高,速度越慢,文件越小。
-1 等于 –fast
-2,3,4,5,6(default),7,8
-9 等于 –best
zcat
功能:不顯示解壓縮的前提下查看文本文件內容
語法:zcat (參數) (文件即顯示其中文件內容的壓縮包)
zcat X.gz > X
示例:gzip -c messages >messages.gz
gzip -c -d messages.gz > messages
zcat messages.gz > messages
bzip2
語法:bzip2 參數 filename
后綴名:.bz2
命令參數:
-k :保留原文件
-c :將結果打印到屏幕上,配合重定向,不會覆蓋原文件,但權限會變。
-f :默認不對硬鏈接數為2及以上的文件壓縮,加上f,強制壓縮指定文件,而其他同inode的文件硬鏈接數減1.
-v :顯示詳細過程。
-# :數字越大,壓縮比越高,速度越慢,文件越小。
-1 等于 –fast
-2,3,4,5,6,7,8
-9 等于 –best (default)
解壓縮: -d
bzcat X.bz2 > X
xz
語法:xz 參數 filename
后綴名:.xz
命令參數:
-k :保留原文件
-f: 默認不對硬鏈接數為2及以上的文件壓縮,加上f,強制壓縮指定文件,而其他同inode的文件硬鏈接數減1.
-v: 顯示詳細過程。
-# : 數字越大,壓縮比越高,速度越慢,文件越小。
-0 等于 –fast
-1 -2,3,4,5,6(default),7,8
-9 等于 –best
解壓縮:-d
xzcat 不顯式解壓縮的前提下查看文本文件內容( # xzcat service.xz | less因為壓縮文件的內容可能很多,所以可以通過管道送給less進行查看)
zip
功能:打包壓縮
后綴名:.zip
eg.zip –r /testdir/sysconfig /etc/sysconfig/
解包解壓縮:
unzip filename
|zip 將生成的文件名
–可以將管道前的輸出結果轉為文件并壓縮。通過此方式壓縮的文件只能使用“unzip -p 壓縮包 > 新文件 ”來解壓縮
unzip -p 預覽解壓縮后的內容到屏幕,可以配置重定向將結果保存到指定文件,權限會發生變化。
示例:
unzip sysconfig.zip
cat /var/log/messages | zip messages –
unzip -p message > message
tar
功能:用來壓縮和解壓文件。tar本身不具有壓縮功能,是調用壓縮功能實現的
語法:tar[必要參數][選擇參數][文件]
命令參數:
-cf 創建包名字 原文件(可以指定多個)
-tf 包名字 顯示包中的文件名
-tvf 詳細顯示包中的文件名
-rf 包名字 新文件名(可以指定多個)
–delete -f 包名字 被刪除的文件名(可以指定多個)
-xf 包名字 解出所有的文件到當前目錄
-xf 包名字 文件名 解所指定的文件到當前目錄
-C 解包到指定目錄
-v 顯示過程
-Jcf 創建包的名字(.tar.xz) 原文件(可以指定多個) 打包并用xz壓縮
-jcf 創建包的名字(.tar.bz2) 原文件(可以指定多個) 打包并用bzip壓縮
-zcf 創建包的名字(.tar.gz) 原文件(可以指定多個) 打包并用gzip壓縮
-T 指定個列表,包含需要被打包的文件,以換行符為間隔
-X 指定個排除列表,以換行符為間隔
將tar包分隔為多個文件
split –b Size –d tar-file-name prefix-name
cat 被分隔出的多個文件名 > 單個文件名
split -b 1M –d mybackup.tgz mybackup-parts
split -b 1M mybackup.tgz mybackup-parts
合并: cat mybackup-parts* > mybackup.tar.gz
示例:
一、將文件打包成tar包
二、查看tar包內文件
三、將tar包解壓縮
cpio
功能: cpio命令是通過重定向的方式將文件進行打包備份,還原恢復 的工具, 它可以解壓以“.cpio”或者“.tar”結尾的文件。
命令參數:
-o 將文件拷貝打包成文件或者將文件輸出到設備上
-i 解包,將打包文件解壓或將設備上的備份還原到系統
-t 預覽,查看文件內容或者輸出到設備上的文件內容
-v 顯示打包過程中的文件名稱。
-d 解包生成目錄,在cpio還原時,自動的建立目錄
-c 一種較新的存儲方式
語法:v cpio [選項] > 文件名或者設備名 v
cpio [選項] < 文件名或者設備名
ls * |cpio -o > 文件名.cpio 打包。
cpio -id < 文件名.cpio 解開被cpio打包的文件
gzip 文件名.cpio 生成文件名為文件名.cpio.gz
-tv < 文件名.cpio 預覽cpio打包的文件。
/boot/initramfs-xxxx.img :
Centos6: cpio.gz文件 zcat initramfs-xxxx.img |cpio -id
Centos7: cpio文件 cpio -id < initramfs-xxxx.img
示例:
將etc目錄備份: find ./etc -print |cpio -ov >etc.cpio
內容預覽: cpio –tv < etc.cpio
要解包文件 :cpio –idv < etc.cpio
原創文章,作者:Light Yagami,如若轉載,請注明出處:http://www.www58058.com/84455