1. 程式人生 > >Linux_歸檔與壓縮

Linux_歸檔與壓縮

歸檔

歸檔就是將多個檔案(包括目錄,一切皆檔案)打包成一個檔案。

歸檔並不對檔案進行壓縮。其原理很簡單,就是將多個檔案前後連線在一起,形成一個大檔案。

另外還會額外的新增一些資訊,所以歸檔後的總檔案的體積,反而比歸檔的所以檔案之和要大一些。

· 命令:tar

type archive。一個古老的命令,其最初的目的是用於將檔案備份到磁帶上。

· 常用選項

-c

create。建立打包檔案,一般與-f選項一起連用。

-f

指定要建立的打包檔名。其後可以跟兩個引數:tar -vf 引數1 引數2

引數1是要歸檔後總的檔名,引數2是要打包的一批檔名,之間用空格隔開。

建議歸檔後的檔名以tar作為字尾。

[[email protected] ~]# tar -cf all.tar 1 a
[[email protected] ~]# ls -al
total 166132
drwxr-xr-x   2 root root      4096 Sep 13 16:46 1
-rw-r--r--   1 root root        11 Sep 13 16:42 a
-rw-r--r--   1 root root     10240 Sep 13 16:46 all.tar

-t

list。與-f選項連用,檢視歸檔檔案中的所有檔名。

[[email protected] ~]# tar -tf all.tar 
a
1/
1/b

-- delete

與-f選項連用。--delete 後跟包中想要刪除的檔名。(當檔名為目錄時,目錄下的所以檔案一起被刪除)

[[email protected] ~]# tar -f all.tar --delete 1
[[email protected] ~]# tar -tf all.tar 
a

與-f選項連用。

- r :與-f選項連用。追加新檔案。

- x:與-f選項連用。解包

- C:指定解包目錄。

[[email protected]
~]# tar -xf b.tar -C 1 [[email protected] ~]# cd 1 [[email protected] 1]# ls -al total 8 drwxr-xr-x 2 root root 4096 Sep 13 17:18 . dr-xr-x---. 7 root root 4096 Sep 13 17:13 .. -rw-r--r-- 1 root root 0 Sep 13 17:09 b

壓縮之gzip

Linux中的檔案壓縮命令有多種,其中最常用的命令就是gzip。

· 命令:gzip

把要壓縮的檔案跟在命令後面即可。 壓縮後的檔案將替換原始檔,gzip自動為壓縮檔案添加了“.gz”字尾名。

解壓:-d

解壓後的檔案會替換壓縮檔案

壓縮比

gzip命令還可以調節壓縮比,這個功能通過一個數字選項實現。

數字選項可以是1到9中之間的任意整數。

1表示最低壓縮比,也即壓縮後的檔案最大,但壓縮過程最快。

9則表示高壓縮比,也即壓縮後的檔案最小,但壓縮過程最慢。

預設為6

· gzip存在的問題

gzip能夠提供高效的壓縮,但gzip不提供打包功能。

也就是說gzip只能夠單個地壓縮檔案,而不能將多個檔案或者整個目錄壓縮到一個檔案中。

因此 gzip命令往往要和tar命令一起聯用,用tar先打包,然後用gzip壓縮。 反過來則要用gzip先解壓,然後用tar解包。