將大檔案或目錄打包、 壓縮並分割成制定大小的檔案,在linux下可以通過組合使用tar,bzip2(或者gzip),split命令來實現。
命令格試 tar zcvf - [ file_directory ] |sqlit -b [ file_size ][ m,k ] - [ file.tar.gz ]
將file目錄的檔案壓縮並分割成每個大小為4g檔案
shell > tar zcvf - file_name |split -b 4096m - file_name.tar.gz
shell > ls
-rw-r--r-- 1 root root 4294967296 mar 9 10:40 file_name.tar.gzaa
-rw-r--r-- 1 root root 4294967296 mar 9 10:48 file_name.tar.gzab
-rw-r--r-- 1 root root 2282762240 mar 9 10:52 file_name.tar.gzac
cat file_name.tar.gza* |tar zxv
解釋:用cat來讀所有的壓縮包,利用tar來進行解壓
1、普通tar壓縮命令
tar -zcvf cm-11.tar.gz cm-11
//將cm-11資料夾壓縮成cm-11.tar.gz
2、壓縮後的檔案太大,需要將cm-11.tar.gz分割成n個指定大小的檔案,怎麼辦?一條命令搞定
split -b 4000m -d -a 1 cm-11.tar.gz cm-11.tar.gz.
//使用split命令,-b4000m 表示設定每個分割包的大小,單位還是可以k
//-d "引數指定生成的分割包字尾為數字的形式
//-a x來設定序列的長度(預設值是2),這裡設定序列的長度為1
執行命令後,生成壓縮包如下:
-rw-r--r-- 1 root root 4194304000 may 20 14:00 cm-11.tar.gz.0
-rw-r--r-- 1 root root 4194304000 may 20 14:02 cm-11.tar.gz.1
-rw-r--r-- 1 root root 4194304000 may 20 14:03 cm-11.tar.gz.2
-rw-r--r-- 1 root root 4194304000 may 20 14:05 cm-11.tar.gz.3
-rw-r--r-- 1 root root 4194304000 may 20 14:06 cm-11.tar.gz.4
-rw-r--r-- 1 root root 4194304000 may 20 14:08 cm-11.tar.gz.5
-rw-r--r-- 1 root root 4194304000 may 20 14:09 cm-11.tar.gz.6
-rw-r--r-- 1 root root 2256379886 may 20 14:10 cm-11.tar.gz.7
3、其實以上兩步也可以合併成一步來執行
tar -zcvf cm-11.tar.gz cm-11 | split -b 4000m -d -a 1 - cm-11.tar.gz.
//採用管道,其中 - 引數表示將所建立的檔案輸出到標準輸出上
4、普通解壓命令
tar -zxvf cm-11.tar.gz
5、分割後的壓縮包解壓命令如下
cat cm-11.tar.gz.* | tar -zxv
6、附上tar命令的引數解釋
tar可以用來壓縮打包單檔案、多個檔案、單個目錄、多個目錄。
linux打包命令 tar
tar命令可以用來壓縮打包單檔案、多個檔案、單個目錄、多個目錄。
常用格式:
單個檔案壓縮打包 tar -czvf my.tar.gz file1
多個檔案壓縮打包 tar -czvf my.tar.gz file1 file2,...(file*)(也可以給file*檔案mv 目錄在壓縮)
單個目錄壓縮打包 tar -czvf my.tar.gz dir1
多個目錄壓縮打包 tar -czvf my.tar.gz dir1 dir2
解包至當前目錄:tar -xzvf my.tar.gz
cpio
含子目錄find x* | cpio -o > /y/z.cpio
不含子目錄ls x* | cpio -o > /y/z.cpio
解包: cpio -i < /y/z.cpio
[root@linux ~]# tar [-cxtzjvfppn] 檔案與目錄 ....
引數:-c :建立乙個壓縮檔案的引數指令(create 的意思);
-x :解開乙個壓縮檔案的引數指令!
-t :檢視 tarfile 裡面的檔案!
特別注意,在引數的下達中, c/x/t 僅能存在乙個!不可同時存在!
因為不可能同時壓縮與解壓縮。
-z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?
-j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?
-v :壓縮的過程中顯示檔案!這個常用,但不建議用在背景執行過程!
-f :使用檔名,請留意,在 f 之後要立即接檔名喔!不要再加引數!
例如使用『 tar -zcvfp tfile sfile』就是錯誤的寫法,要寫成
『 tar -zcvpf tfile sfile』才對喔!
-p :使用原檔案的原來屬性(屬性不會依據使用者而變)
-p :可以使用絕對路徑來壓縮!
-n :比後面接的日期(yyyy/mm/dd)還要新的才會被打包進新建的檔案中!
--exclude file:在壓縮的過程中,不要將 file 打包!
Linux下將檔案打包 壓縮並分割成指定大小
將大檔案或目錄打包 壓縮並分割成制定大小的檔案,在linux下可以通過組合使用tar,bzip2 或者gzip split命令來實現。命令格試 tar zcvf file directory sqlit b file size m,k file.tar.gz 將file目錄的檔案壓縮並分割成每個大小...
Linux下將檔案打包 壓縮並分割成指定大小
linux解壓檔案時遇到的問題,不知道總的資料是分了好多份,需要輸入命令統一解壓 1 普通tar壓縮命令 tar zcvf cm 11.tar.gz cm 11 將cm 11資料夾壓縮成cm 11.tar.gz 2 壓縮後的檔案太大,需要將cm 11.tar.gz分割成n個指定大小的檔案,怎麼辦?一...
Linux下各種檔案打包壓縮命令
01 tar格式 解包 tar xvf filename.tar 打包 tar cvf filename.tar dirname 注 tar是打包,不是壓縮!02 gz格式 解壓1 gunzip filename.gz 解壓2 gzip d filename.gz 壓 縮 gzip filename...