Linux系統中tar是最常用的打包工具,通過打包工具可以壓縮/解壓 比如常見的壓縮包格式 如下: tar 未壓縮文件 只是做了一個打包而已 tar.gz 使用gzip演算法格式壓縮的壓縮包 tar.bz2 bz2格式壓縮包 tar.xz xz格式壓縮 參數介紹 tar 的參數很多 列出幾個比較常用的 ...
Linux系統中tar是最常用的打包工具,通過打包工具可以壓縮/解壓 比如常見的壓縮包格式 如下:
- tar 未壓縮文件 只是做了一個打包而已
- tar.gz 使用gzip演算法格式壓縮的壓縮包
- tar.bz2 bz2格式壓縮包
- tar.xz xz格式壓縮
參數介紹
tar 的參數很多 列出幾個比較常用的記錄一下。
格式 tar -[參數...] [文件/目錄]
參數 | 含義 |
---|---|
-c | create創建文件 |
-C <目錄> | 指定解壓位置 |
-x | 提取解壓文件 |
-t | 列出壓縮包中包含哪些文件,查看包中的內容 |
-z | gzip格式壓縮或解壓 |
-Z | 支持compress解壓文件 |
-f<備份文件> | 指定打包壓縮的備份文件 |
-v | 顯示指令執行過程 |
-r | 添加文件到已經壓縮的文件 |
-u | 添加改變了和現有的文件到已經存在的壓縮文件 |
-j | 支持bz2格式壓縮或解壓 |
-v | 顯示執行過程 |
-J | 支持xz格式壓縮或解壓 |
-k | 保留原有文件不覆蓋 |
-m | 保留文件不被覆蓋 |
-w | 確認壓縮文件的正確性 |
-p | 保留原來的文件許可權與屬性 |
-P | 使用文件名的絕對路徑,不移除文件名稱前的“/”號 |
演示
當前目錄有一個1.5G的SQL文件。
[root@mysqlbak]# ll -h
total 1.5G
-rw-r--r-- 1 root root 1.5G Dec 22 13:08 mysql_data_prod_2023-12-22-13-07.sql
僅打包
執行打包
tar cvf databak.tar mysql_data_prod_2023-12-22-13-
07.sql
查看打包的文件結果 可以看到就是單純的打個包 並沒有壓縮
ll -h
total 2.9G
-rw-r--r-- 1 root root 1.5G Dec 22 17:07 databak.tar
-rw-r--r-- 1 root root 1.5G Dec 22 13:08 mysql_data_prod_2023-12-22-13-07.sql
解壓命令 tar -xvf databak.tar
使用gzip壓縮並打包
tar zcvf databak.tar.gz mysql_data_prod_2023-12-22-13-07.sql
查看gzip打包的效果 databak.tar.gz 文件明顯從1.5GB縮小到238M了 。但是花的時間稍微要長一點。
ll -h
total 3.1G
-rw-r--r-- 1 root root 1.5G Dec 22 17:07 databak.tar
-rw-r--r-- 1 root root 238M Dec 22 17:18 databak.tar.gz
-rw-r--r-- 1 root root 1.5G Dec 22 13:08 mysql_data_prod_2023-12-22-13-07.sql
解壓命令 tar -zxvf databak.tar.gz
使用bz2壓縮並打包
tar jcvf databak.tar.bz2 mysql_data_prod_2023-12-22-13-07.sql
查看bz2的打包效果 可以看到文件名為 databak.tar.bz2 只有133M了。但是壓縮的時間是真的長
ll -h
total 3.3G
-rw-r--r-- 1 root root 1.5G Dec 22 17:07 databak.tar
-rw-r--r-- 1 root root 133M Dec 22 17:26 databak.tar.bz2
-rw-r--r-- 1 root root 238M Dec 22 17:18 databak.tar.gz
解壓命令 tar -jxvf databak.tar.bz2
使用xz壓縮並打包
tar -Jcvf databak.tar.xz mysql_data_prod_2023-12-22-13-07.sql
查看xz的打包效果 可以看到文件名為 databak.tar.xz只有119M了。壓縮時間竟然比bz2還要更長。
ll -h
-rw-r--r-- 1 root root 1.5G Dec 22 17:07 databak.tar
-rw-r--r-- 1 root root 133M Dec 22 17:26 databak.tar.bz2
-rw-r--r-- 1 root root 238M Dec 22 17:18 databak.tar.gz
-rw-r--r-- 1 root root 119M Dec 22 17:48 databak.tar.xz
解壓命令 tar -Jxvf databak.tar.xz
總結
- 從壓縮後的文件大小來看 gz > bz2 > xz
- 從壓縮後的消耗時長來看 gz< bz2 < xz
壓縮的時間越長 壓縮後的文件越小,但是解壓的時間也會邊長,所以選一個中規中矩的壓縮方式是最好的,畢竟硬碟又不貴,目前比較普遍的格式是tar.gz。壓縮大小和時間都比較居中 能夠接收。
另外zip命令也是比較常用的壓縮工具 使用命令格式:
#壓縮
zip -r xxx.zip xxx.sql
#解壓
unzip xxx.zip
轉載請註明出處。
作者:peachyy
出處:http://www.cnblogs.com/peachyy/
出處:https://peachyy.gitee.io/
出處:https://peachyy.github.io/
公眾號: