Linux系統中壓縮包的后綴有.zip、.gz、.bz2、.xz等,后綴不同表示壓縮方式不同。
1.打包命令? tar
tar命令用于備份文件的命令,該命令可打包多個文件或目錄,也可將被打包的文件與目錄從包中還原。
tar? 選項? 包名? {參數}
包名是指打包的文件名
參數可以是文件名列表或目錄名
選項是規定打包的方式
常用選項:
選項 | 說明 |
---|---|
-c | 創建新的備份文件 |
-x | 從備份文件中還原文件 |
-v | 顯示命令執行過程 |
-f | 指定備份文件 |
-z | 打包完成后使用gzip命令將包壓縮 |
-j | 打包完成后使用bzip2命令將包壓縮 |
-p | 保留包中文件原來的屬性 |
例:
#將目錄test下的文件打包
[root@localhost? ~]$? tar? -cvf? ?test.tar? ./test
#將目錄test下的文件打包,并以gzip命令將包壓縮
[root@localhost? ~]$ tar? -zcvf? test.tar.gz? ?./test?
壓縮與解壓
1)zip/unzip命令
用zip壓縮的文件的壓縮包一般命名為“文件名.zip”
zip? [選項]? 壓縮包名? 參數
參數可以是文件或者目錄。
常用選項:
選項 | 說明 |
---|---|
-j | 只保留文件名稱及內容,不存放任何目錄名稱 |
-m | 文件壓縮完成后,刪除原始文件 |
-o | 以壓縮文件內擁有最新更改時間的文件為準,更新壓縮文件的更改時間 |
-r | 當參數為目錄時,遞歸處理目錄下的所有文件或子目錄 |
例:
#遞歸壓縮目錄? test
[root@localhost? ~]$? zip? -r? test.zipc? test
.zip格式的壓縮文件用unzip命令解壓:
unzip? [選項]? 壓縮包名
常用選項:
選項 | 說明 |
---|---|
-l | 顯示指定壓縮包中所包含的文件 |
-M | 將輸出結果送到more程序處理 |
-n | 解壓時不要覆蓋原有文件 |
-o | 命令執行后直接覆蓋原有文件 |
-d | 指定解壓后文件要存放的目錄,如果不存在該目錄,會創建該目錄 |
默認情況下壓縮包會解壓到當前目錄。
2)gzip/gunzip命令
gzip用于壓縮文件,壓縮包一般命名為“文件名.gz”,壓縮后默認不保留原始文件。
gzip? ?[選項]? ?參數
參數可以是一個或多個文件,當參數是目錄時,需使用參數 -r ,表示遞歸處理目錄中的文件與子目錄中的文件;當參數是多個文件時,每個文件會單獨被壓縮。
#遞歸壓縮目錄 test 中的文件與所有子目錄中的文件
[root@localhost? ~]$ gzip? -r? test/*
命令gunzip用于解壓.gz格式的壓縮包:
gunzip? [選項]? 參數
例:
gunzip? ?a.txt.gz
3) bzip2/bunzip2 命令
壓縮包名一般命名為“文件名.bz2”。
bzip2? [選項]? 參數
bzip2的使用方法和gzip差不多,也會刪除原始文件,但是可添加選項“-k”保留原始文件。
4)xz/unxz命令
和bzip2類似,這里不做演示。