1. 程式人生 > >文件壓縮

文件壓縮

linux文件

compress

-d 解壓縮 相當於uncompress

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

zcat file.Z >file

compress -c f1>f2.Z 重定向原文件還在,同時生成f2.壓縮文件

gzip

vgzip [OPTION]... FILE …

-d: 解壓縮,相當於gunzip

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

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

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

實例:

gzip -c messages >messages.gz

gzip -c -d messages.gz > messages

zcat messages.gz > messages

以上原文件還在

zip

zip f1.zip f1 註意格式

zip -r 支持壓縮文件夾

打包壓縮 zip –r /testdir/sysconfig /etc/sysconfig/ v壓縮etcsysconfig目錄在testdir下自動生成帶zip後綴的sysconfig.zip壓縮文件

解包解壓縮 unzip sysconfig.zip

cat /var/log/messages | zip messages unzip -p message > message

壓縮解壓可重定向使其保留原文件

tar工具 必須有.tar後綴

(1) 創建歸檔

tar -c -f /PATH/TO/SOMEFILE.tar FILE...

[root@centos7 ~]#tar -cvf /app/f3.tar /root/f1 相對路徑絕對路徑都行

(2) 追加文件至歸檔: 註:不支持對壓縮文件追加

tar -r -f /PATH/TO/SOMEFILE.tar FILE..

[root@centos7 ~]#tar -rf /app/f3.tar c.sh

. (3) 查看歸檔文件中的文件列表

tar -t -f /PATH/TO/SOMEFILE.tar

[root@centos7 ~]#tar -tf /app/f3.tar

root/f1

c.sh

(4) 展開歸檔

tar -x -f /PATH/TO/SOMEFILE.tar

tar -x -f /PATH/TO/SOMEFILE.tar -C /PATH/

[root@centos7 ~]#tar -xf /app/f3.tar -C /app

[root@centos7 ~]#ll /app

total 16

-rwxrwxrwx. 1 root root 109 Aug 2 08:22 c.sh

-rw-r--r--. 1 root root 10240 Aug 2 20:22 f3.tar

drwxr-xr-x. 2 root root 15 Aug 2 20:28 root

(5) 結合壓縮工具實現:歸檔並壓縮

-j: bzip2, -z: gzip, -J: xz

[root@centos7 ~]#tar -zcf /app/f2.tar.gz f*

[root@centos7 ~]#ll /app

total 20

-rwxrwxrwx. 1 root root 109 Aug 2 08:22 c.sh

-rw-r--r--. 1 root root 1094 Aug 2 20:53 f2.tar.gz 解壓縮tar -xf 不用gzip -d

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

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

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

split –b size –d tar-file-name prefix-name

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

-b指定文件大小 -d 指定數字編號 .tgz=.tar.gz

split -b 1M mybackup.tgz mybackup-parts v默認字母編號

(8)合並: cat mybackup-parts* > mybackup.tar.gz 重定向

cpio

復制文件 文件打包備份 .cpio後綴 打包備份還原恢復文件

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

vcpio [選項] > 文件名或者設備名 拷貝打包輸出

vcpio [選項] < 文件名或者設備名 解包 預覽

選項

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

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

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

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

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

-c 一種較新的存儲方式

v etc目錄備份: find ./etc -print |cpio -ov >etc.cpio

v 內容預覽 cpio –tv < etc.cpio

v 要解包文件 cpio –idv /app/cab< etc.cpio 解包到/app/下的cab目錄 cab自動創建


文件壓縮