Linux:系統中如何對文件進行壓縮處理(tar)


系統中如何對文件進行壓縮處理

壓縮的命令 tar

壓縮命令語法:

tar zcvf /oldboy/oldboy.tar.gz  指定要壓縮的數據文件  
z  壓縮的方式 為zip
c  創建壓縮包文件
v  顯示壓縮的過程
f  指定壓縮包文件路徑信息

壓縮數據方法:

[root@oldboyedu oldboy]# tar zcvf /oldboy/oldboy.tar.gz /oldboy/services 
tar: Removing leading `/' from member names
/oldboy/services

檢查是否壓縮成功:

如何解壓數據包
tar xvf /oldboy/oldboy.tar.gz
確認解壓后的文件和源文件是否一致
1. 看文件的大小和時間信息
2. 利用vimdiff或者diff比較兩個文件內容是否有區別
在不解壓情況下查看壓縮包里面的數據
tar tf /oldboy/oldboy.tar.gz

壓縮過程信息說明

[root@oldboyedu oldboy]# tar zcvf oldboy.tar.gz /oldboy/services 
tar: Removing leading `/' from member names     --- 默認將壓縮時絕對路徑的根信息移除
/oldboy/services  --- 需要壓縮的文件數據信息

相對路徑進行壓縮

[root@oldboyedu oldboy]# tar zcvf oldboy.tar.gz ./services 
./services
[root@oldboyedu oldboy]# tar tf oldboy.tar.gz 
./services

在壓縮過程中排除指定數據不要被壓縮

tar命令排除參數
	--exclude=PATTERN   exclude files, given as a PATTERN  -- 排除指定單個文件數據
-X, --exclude-from=FILE	exclude patterns listed in FILE    -- 批量排除多個文件

多個文件進行排除

第一個歷程: 編寫好排除文件
[root@oldboyedu oldboy]# vim /tmp/exclude.txt 
/oldboy/oldboy.txt
/oldboy/oldboy.avi
/oldboy/oldboy.jpg
/oldboy/oldboy.png
第二個歷程: 執行命令進行批量排除
[root@oldboyedu oldboy]# tar zcvf /tmp/oldboy05.tar.gz /oldboy --exclude-from=/tmp/exclude.txt 
tar: Removing leading `/' from member names
/oldboy/
/oldboy/services
/oldboy/oldboy01/

總結:排除指定數據信息需要定義好路徑信息

路徑信息全部采用絕對路徑
[root@oldboyedu /]# tar  zcvf /tmp/oldboy03.tar.gz /oldboy --exclude=/oldboy/oldboy.txt
tar: Removing leading `/' from member names
/oldboy/
/oldboy/services
/oldboy/oldboy01/
路徑信息全部采用相對路徑
[root@oldboyedu /]# tar zcvf /tmp/oldboy04.txt.tar.gz ./oldboy --exclude=./oldboy/oldboy.txt
./oldboy/
./oldboy/services
./oldboy/oldboy01/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM