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解包。