tar是Linux領域的一大利器,尤其是在文件的備份和壓縮方面,tar備受青睞。但是,如果要壓縮的文件太大,tar的壓縮速度就會很慢,同時,被壓縮的文件也可能會超過tar的文件大小限制,這時就需要用到tar分卷壓縮。
一、 分卷壓縮原理
tar分卷壓縮是指將一個大文件分成多個小文件,並對這些小文件依次進行壓縮,然後打包成一個tar文件。在解壓時,再將各個小文件解壓縮後合併成原文件。具體的分卷壓縮原理如下:
1. 分卷:首先將要壓縮的文件分成大小相等的若干部分,每個部分大小由用戶自定義。分卷壓縮時,tar會在文件大小達到指定大小時自動分卷壓縮。
2. 壓縮:對每個分卷進行獨立壓縮。
3. 打包:將壓縮後的所有分卷文件打包成一個tar文件。
當解壓縮時,tar會自動解壓縮每個分卷,最後再將所有的分卷合併成一個完整的文件。
二、 語法格式
tar分卷壓縮有兩種常用語法格式,它們分別是:
# tar cvpzf backup.tar.gz –exclude=/backup/tmp –exclude=/backup/proc –exclude=/backup/sys /backup/
其中:
c:表示創建備份文件
v:表示顯示備份過程
p:表示保留文件許可權和屬性
z:表示使用gzip壓縮備份文件
f:表示備份文件的路徑及名稱
# tar -cvf archive.tar file1 file2 … fileN
其中:
c: 表示創建備份文件
v: 表示在壓縮時顯示進度
f: 表示備份文件的路徑及名稱
三、 實例演示
以下是一個tar分卷壓縮的實例演示:
# tar -cvzPf ~/backup.tar.gz ./Documents/ --exclude="./Documents/Cache/" --exclude="./Documents/Trash/" tar 參數說明: -c: 建立壓縮檔案。 -v: 顯示壓縮的過程。 -f: 指定壓縮後的文件名。 -z: 通過gzip命令進行壓縮/解壓縮,該選項為GNU tar獨有。 -P: 保留絕對路徑。 --exclude: 排除文件。
上面進行備份的時候,將/home/tom/Documents/目錄備份為~/backup.tar.gz文件,不過Documents目錄下的Cache和Trash目錄並沒有被備份,通過使用–exclude參數來達到這個目的。
四、 注意事項
1. 分卷大小應先考慮被分卷後能否存放在指定的介質上。
2. tar分卷壓縮的文件名格式為:file.tar.gz.001、file.tar.gz.002、……、file.tar.gz.NNN。
3. 在解壓分卷文件時,只需指定其中一個分卷的文件名,tar會自動找到所有的分卷文件。
4. tar分卷壓縮不支持增量備份,每次備份都需要重新備份整個文件。
5. tar分卷壓縮適用於單個文件過大的情況,如果需要處理的是多個小文件,可以考慮使用zip或rar等壓縮格式。
五、 總結
通過本文的介紹,相信大家對tar分卷壓縮有了更深入的了解。在實際的開發中,根據具體情況選取不同的壓縮格式和方法,能夠更好的提高開發效率和數據安全性。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/279735.html