如何将文件打包、压缩并分割成制定大小?
生活随笔
收集整理的這篇文章主要介紹了
如何将文件打包、压缩并分割成制定大小?
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
如何將文件打包、壓縮并分割成制定大小?
(如何在linux下實(shí)現(xiàn)Windows中winrar和winzip等壓縮軟件所提供的打包壓縮分割功能)
將大文件或目錄打包、壓縮并分割成制定大小的文件,這在將數(shù)據(jù)備份到容量有限的移動(dòng)儲(chǔ)存設(shè)備時(shí)是必須的,在Linux下可以通過組合使用 tar,bzip2(或者gzip),split命令來實(shí)現(xiàn)。
假設(shè)要將下面這個(gè)文件壓縮并分割成多個(gè)1.4M的文件
-r-xr-xr-x 1 root root 4.4M 2004-08-27 01:50 a.chm
可以用下面的命令:
tar -jcf - a.chm | split -b 1400k - a.chm.tar.bz2.
完成后會(huì)生產(chǎn)下面的文件:
-rw-r--r-- 1 root root 1433600 2004-08-27 01:55 a.chm.tar.bz2.aa
-rw-r--r-- 1 root root 1433600 2004-08-27 01:56 a.chm.tar.bz2.ab
-rw-r--r-- 1 root root 1433600 2004-08-27 01:56 a.chm.tar.bz2.ac
-rw-r--r-- 1 root root 225280 2004-08-27 01:56 a.chm.tar.bz2.ad
還原文件用下面的命令:
cat a.chm.tar.bz2.a* | tar -jx
為了讓廣大菜鳥了解上面的命令,現(xiàn)解釋如下:
壓縮命令"tar -jcf -" 中的 “-jcf" 參數(shù)是創(chuàng)建(c)文件(f)并調(diào)用bzip2進(jìn)行壓縮(j),跟在f后面的" -"是將所創(chuàng)建的文件輸出到標(biāo)準(zhǔn)輸出上,在這里就是通過"|"管道輸出給 split 命令進(jìn)行文件分割;分割命令"split -b 1400k - a.chm.tar.bz2." 中的 "-b 1400k" 是用來設(shè)置每個(gè)文件大小的,除了"k",還可以用"m"來作為單位,接著的" - "就是將"tar"命令通過管道傳入的數(shù)據(jù)作為需要分割的數(shù)據(jù)來源,后面跟著的" a.chm.tar.bz2."就是文件名了。
這兩個(gè)命令如果獨(dú)立使用,可以將參數(shù)中獨(dú)立的" - "換為具體的文件名,這樣"tar"命令就可以將文件打包壓縮成指定的文件,而"split"命令就可以分割指定的文件。
在"tar"命令中,大家也可以用"z"代替"j"參,這樣tar就會(huì)調(diào)用gzip進(jìn)行壓縮,而不是bzip2,當(dāng)然,如果你用了"z"參數(shù),記得將輸出的文件名中的"bz2"改為"gz",這樣在解壓的時(shí)候就可以分辨出需要用那個(gè)參數(shù)進(jìn)行解壓。
用split命令生產(chǎn)的文件序列除了字母還可以使用" -d "參數(shù)指定為數(shù)字的形式,同時(shí)還可以通過" -a x"來設(shè)定序列的長度(默認(rèn)值是2),例如命令:
split -b 1400k -d -a 1 - a.chm.tar.bz2.
就可以產(chǎn)生如下命名規(guī)則的文件:
-rw-r--r-- 1 root root 1.4M 2004-08-28 01:01 a.chm.tar.bz2.0
-rw-r--r-- 1 root root 1.4M 2004-08-28 01:02 a.chm.tar.bz2.1
-rw-r--r-- 1 root root 1.4M 2004-08-28 01:02 a.chm.tar.bz2.2
-rw-r--r-- 1 root root 220K 2004-08-28 01:02 a.chm.tar.bz2.3
如果大家想更全面地了解這些命令,可以通過 "man 命令" 來查閱他們的手冊(cè)。 這篇文章來自于 菜鳥翱翔站
[url]http://clfaq.3322.org/[/url]
(如何在linux下實(shí)現(xiàn)Windows中winrar和winzip等壓縮軟件所提供的打包壓縮分割功能)
將大文件或目錄打包、壓縮并分割成制定大小的文件,這在將數(shù)據(jù)備份到容量有限的移動(dòng)儲(chǔ)存設(shè)備時(shí)是必須的,在Linux下可以通過組合使用 tar,bzip2(或者gzip),split命令來實(shí)現(xiàn)。
假設(shè)要將下面這個(gè)文件壓縮并分割成多個(gè)1.4M的文件
-r-xr-xr-x 1 root root 4.4M 2004-08-27 01:50 a.chm
可以用下面的命令:
tar -jcf - a.chm | split -b 1400k - a.chm.tar.bz2.
完成后會(huì)生產(chǎn)下面的文件:
-rw-r--r-- 1 root root 1433600 2004-08-27 01:55 a.chm.tar.bz2.aa
-rw-r--r-- 1 root root 1433600 2004-08-27 01:56 a.chm.tar.bz2.ab
-rw-r--r-- 1 root root 1433600 2004-08-27 01:56 a.chm.tar.bz2.ac
-rw-r--r-- 1 root root 225280 2004-08-27 01:56 a.chm.tar.bz2.ad
還原文件用下面的命令:
cat a.chm.tar.bz2.a* | tar -jx
為了讓廣大菜鳥了解上面的命令,現(xiàn)解釋如下:
壓縮命令"tar -jcf -" 中的 “-jcf" 參數(shù)是創(chuàng)建(c)文件(f)并調(diào)用bzip2進(jìn)行壓縮(j),跟在f后面的" -"是將所創(chuàng)建的文件輸出到標(biāo)準(zhǔn)輸出上,在這里就是通過"|"管道輸出給 split 命令進(jìn)行文件分割;分割命令"split -b 1400k - a.chm.tar.bz2." 中的 "-b 1400k" 是用來設(shè)置每個(gè)文件大小的,除了"k",還可以用"m"來作為單位,接著的" - "就是將"tar"命令通過管道傳入的數(shù)據(jù)作為需要分割的數(shù)據(jù)來源,后面跟著的" a.chm.tar.bz2."就是文件名了。
這兩個(gè)命令如果獨(dú)立使用,可以將參數(shù)中獨(dú)立的" - "換為具體的文件名,這樣"tar"命令就可以將文件打包壓縮成指定的文件,而"split"命令就可以分割指定的文件。
在"tar"命令中,大家也可以用"z"代替"j"參,這樣tar就會(huì)調(diào)用gzip進(jìn)行壓縮,而不是bzip2,當(dāng)然,如果你用了"z"參數(shù),記得將輸出的文件名中的"bz2"改為"gz",這樣在解壓的時(shí)候就可以分辨出需要用那個(gè)參數(shù)進(jìn)行解壓。
用split命令生產(chǎn)的文件序列除了字母還可以使用" -d "參數(shù)指定為數(shù)字的形式,同時(shí)還可以通過" -a x"來設(shè)定序列的長度(默認(rèn)值是2),例如命令:
split -b 1400k -d -a 1 - a.chm.tar.bz2.
就可以產(chǎn)生如下命名規(guī)則的文件:
-rw-r--r-- 1 root root 1.4M 2004-08-28 01:01 a.chm.tar.bz2.0
-rw-r--r-- 1 root root 1.4M 2004-08-28 01:02 a.chm.tar.bz2.1
-rw-r--r-- 1 root root 1.4M 2004-08-28 01:02 a.chm.tar.bz2.2
-rw-r--r-- 1 root root 220K 2004-08-28 01:02 a.chm.tar.bz2.3
如果大家想更全面地了解這些命令,可以通過 "man 命令" 來查閱他們的手冊(cè)。 這篇文章來自于 菜鳥翱翔站
[url]http://clfaq.3322.org/[/url]
轉(zhuǎn)載于:https://blog.51cto.com/ironpeak/93771
總結(jié)
以上是生活随笔為你收集整理的如何将文件打包、压缩并分割成制定大小?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 银行卡可以留别人的手机号码吗
- 下一篇: C#开发和使用中的23个技巧