新聞中心
在日常工作和學(xué)習(xí)中,我們常常需要處理大文件,如壓縮包、日志文件、數(shù)據(jù)庫備份等。對于這些大文件,除了壓縮,我們還需要將它們分割成多個小文件,以便于傳輸、備份和管理。Linux系統(tǒng)提供了多種分割和壓縮文件的工具,本文將介紹分割和壓縮文件的實用技巧。

一、分割文件
1. split命令
split命令是Linux下的分割文件工具,它可以將一個大文件分割成多個小文件。使用split命令的基本語法為:
“`
split [選項] [源文件] [目標(biāo)文件名]
“`
例如,將一個200MB的文件分割成大小為50MB的四個小文件,可以使用以下命令:
“`
split -b 50M largefile.tar.gz allfile.tar.gz
“`
其中,選項-b表示按照文件大小進(jìn)行分割,50M表示每個小文件的大小為50MB,largefile.tar.gz表示需要分割的源文件,allfile.tar.gz為分割后生成的小文件名。執(zhí)行該命令后,會在當(dāng)前目錄下生成四個文件:allfile.tar.gzaa、allfile.tar.gzab、allfile.tar.gzac、allfile.tar.gzad。
除此之外,還可以使用其他選項來控制分割方式:
– -a:指定生成的小文件名后綴長度,默認(rèn)為2;
– -d:使用數(shù)字后綴代替字母后綴;
– -l:按照行數(shù)進(jìn)行分割;
– –verbose:顯示分割進(jìn)程。
2. csplit命令
相比于split命令,csplit命令更加靈活。它可以根據(jù)文件的內(nèi)容進(jìn)行分割,并將符合條件的部分保存到小文件中。使用csplit命令的基本語法為:
“`
csplit [選項] [源文件] [分割規(guī)則]
“`
例如,將一個log文件按照行數(shù)分割成多個小文件,每個小文件包含1000行數(shù)據(jù),可以使用以下命令:
“`
csplit -k -s -f logfile. log “/^—/” {*}
“`
其中,選項-k表示使用數(shù)字后綴代替字母后綴,-s表示不顯示分割進(jìn)度,-f表示指定生成的小文件名前綴,logfile.為前綴,.log為后綴,”/^—/”為分割規(guī)則,表示以—開頭的行為分割點,最后的{*}表示將源文件全部分割。執(zhí)行該命令后,會在當(dāng)前目錄下生成多個小文件,名稱分別為logfile.00.log、logfile.01.log、logfile.02.log等。
二、壓縮文件
1. tar命令
tar命令是Linux下的打包和壓縮文件工具。它可以將多個文件或目錄打包成一個tar包,并可選擇不壓縮或使用不同壓縮算法進(jìn)行壓縮。使用tar命令的基本語法為:
“`
tar [選項] [壓縮文件名] [源文件或目錄]
“`
例如,在當(dāng)前目錄下創(chuàng)建一個名為myfiles.tar的tar包,將src目錄和file1.txt、file2.txt兩個文件打包到其中,并使用gzip算法進(jìn)行壓縮,可以使用以下命令:
“`
tar -czvf myfiles.tar.gz src file1.txt file2.txt
“`
其中,選項-c表示創(chuàng)建歸檔文件,-z表示使用gzip算法進(jìn)行壓縮,-v表示顯示壓縮進(jìn)程,-f表示指定壓縮文件名。執(zhí)行該命令后,會在當(dāng)前目錄下生成一個名為myfiles.tar.gz的tar包。
2. gzip和bzip2命令
除了tar命令,Linux系統(tǒng)還提供了gzip和bzip2命令進(jìn)行文件壓縮。gzip使用DEFLATE算法進(jìn)行壓縮,通常比bzip2更快但壓縮比不如后者,而bzip2則使用Burrows-Wheeler變換和Move-to-Front算法進(jìn)行壓縮,壓縮比較高但速度較慢。
使用gzip進(jìn)行壓縮和解壓縮的基本語法為:
“`
gzip [選項] [源文件]
gunzip [選項] [壓縮文件]
“`
例如,將file2.txt壓縮成file2.txt.gz文件,可以使用以下命令:
“`
gzip file2.txt
“`
其中,gunzip命令與gzip命令用法相似,可將.gz文件解壓縮還原成原始文件。
使用bzip2進(jìn)行壓縮和解壓縮的基本語法為:
“`
bzip2 [選項] [源文件]
bunzip2 [選項] [壓縮文件]
“`
例如,將src目錄壓縮成src.tar.bz2文件,可以使用以下命令:
“`
tar -cvf – src | bzip2 > src.tar.bz2
“`
其中,tar命令-dash cvf表示將src目錄打包成tar文件,并通過管道(|)將tar文件傳遞給bzip2命令進(jìn)行壓縮,最后通過重定向(>)將壓縮后的數(shù)據(jù)保存到src.tar.bz2文件中。bunzip2命令的用法與gunzip命令類似。
三、結(jié)語
本文介紹了。分割文件可以將大文件拆分成多個小文件,便于傳輸、備份和管理;壓縮文件則可以將多個文件或目錄打包成一個歸檔文件,并通過壓縮算法來減小文件的大小。掌握這些技巧,可以讓我們更加高效地處理大文件,提高工作效率。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗豐富以策略為先導(dǎo)10多年以來專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,響應(yīng)式網(wǎng)站制作,設(shè)計師量身打造品牌風(fēng)格,熱線:028-86922220linux文件壓縮
Linux下的tar壓縮解壓縮命令詳解(來源
)
tar
-c: 建立壓縮檔案
-x:解壓
-t:查看內(nèi)容
-r:向壓縮歸檔文件末尾追加文件
-u:更新原壓縮包中的文件
這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但只能用其中一個。下面的參數(shù)是根嫌納據(jù)需要在壓縮或解壓檔案時可選的。
-z:有g(shù)zip屬性的
-j:有bz2屬性的
-Z:有compress屬性的
-v:顯示所有過程
-O:將文件解開到標(biāo)準(zhǔn)輸出
下面的參數(shù)-f是必須的
-f: 使用檔案名字,切記,這個參數(shù)是最后一個參數(shù),后面只能接檔案名。
# tar -cf all.tar *.jpg
這條命令是將所有.jpg的文件打成一個名為all.tar的包。-c是表示產(chǎn)生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif
這條命令是將所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar logo.gif
這條命令是更新原來tar包all.tar中l(wèi)ogo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar
這條命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar
這條命令是解出all.tar包中所有文件,-t是解開的意思
壓縮
tar –cvf jpg.tar *.jpg //將目錄里所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg //將目錄里所有jpg文件打包成jpg.tar后,并且將其用gzip壓縮,生成一個gzip壓縮過的包,命名為jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg //將目錄里所有jpg文件打包成jpg.tar后,并且將其用bzip2壓縮,生成一個bzip2壓縮過的包,命名為jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg //將目錄里所有jpg文件打包成jpg.tar后,并且將其用compress壓縮,生成一個umcompress壓縮過的包,命名為jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的壓縮,需要先沖派下載rar for linux
zip jpg.zip *.jpg //zip格式的壓縮,需要先下載zip for linux
解壓
tar –xvf file.tar //解壓 tar包
tar -xzvf file.tar.gz //解壓tar.gz
tar -xjvf file.tar.bz2 //解壓 tar.bz2
tar –xZvf file.tar.Z //解壓tar.Z
unrar e file.rar //解芹判沒壓rar
unzip file.zip //解壓zip
總結(jié)
1、*.tar 用 tar –xvf 解壓
2、*.gz 用 gzip -d或者gunzip 解壓
3、*.tar.gz和*.tgz 用 tar –xzf 解壓
4、*.bz2 用 bzip2 -d或者用bunzip2 解壓
5、*.tar.bz2用tar –xjf 解壓
6、*.Z 用 uncompress 解壓
7、*.tar.Z 用tar –xZf 解壓
8、*.rar 用 unrar e解壓
9、*.zip 用 unzip 解壓
tar filename…《==打包與壓縮
tar 《==查看檔案
tar 《==解壓縮
選項與參數(shù):
-c:建立打包檔案,可搭配-v來觀察過程中被打包的檔案名(filename)
-t:查看打包檔案的內(nèi)容含有那些檔案
-x:解壓縮的功能,可以搭配-C在特定的目錄解開;-c、-t、-x不能同時出現(xiàn)在一串指令列中。
-j:透過bzip2的支持進(jìn)行壓縮/解壓縮:此時檔案名更好為*.tar.bz2
-z:透過gzip的支持進(jìn)行壓縮/解壓縮:此時檔案名更好為*.tar.gz
-v:在壓縮/解壓縮的過程中,將正在處理文件名顯羨脊示出來
-f filename:-f后面要立刻接被處理的檔案名!建議-f單獨寫一個選項
-C 目錄:這個選項用在解壓縮,若要在特定目錄解壓縮,可以使用這個選項
tar命令是Unix/Linux系統(tǒng)中非常常用的備份文件方法,它的使用權(quán)限是所有用戶。
tar命令語法:
tar文件名或目錄。使用該命令時,主選項是必須要有的,它告訴tar命令要做什么,輔選項是輔助使用的,可以選用。
主選項:
-c 創(chuàng)建新的檔案文件。如果用戶想備份一個目錄或是一些文件,就要選擇這個選項。相當(dāng)于打包。
-x 從檔案文件中釋放文件。相當(dāng)于拆包。
-t 列出檔案文件的內(nèi)容,查看已經(jīng)備份了哪些文件。
-r 把要存檔的文件追加到檔案文件的末尾。例如用戶已經(jīng)做好備份文件,又發(fā)現(xiàn)還兄橋滲有一個目錄或是一些文件忘記備份了,這時可以使用該選項,將忘記的目錄或文件追加到備份文件中
特別注意,主選項只能存在一個, c/x/t/r 僅能存在一個!不可同時存在!因為不可能同時壓縮與解壓縮。
輔助選項:
-z :用 gzip 程序來壓縮或解壓縮文件,加上該選項后可以將檔案文件進(jìn)行壓縮,但還原時也一定要使用該選項進(jìn)行解壓縮。 文件格式一般為xx.tar.gz或xx. tgz
-j :使用 bzip2 程序進(jìn)行文件的壓縮或解壓,文件格式一般為xx.tar.bz2
-v :壓縮的過程中顯示文件!這個常用
-f :使用檔名,請留意,在 f 之后要立即接檔名!不要再加其他參數(shù)!
-p :使用原文件的原來屬性(屬性不會依據(jù)使用者而變)
-w 每一步都要求確認(rèn)。
–exclude FILE:在壓縮的過程中,不要將 FILE 打包!
范例:
范例一:將整個 /etc目錄下的文件全部打包成/tmp/etc.tar
# tar -cvf /tmp/etc.tar /etc
# tar -zcvf /tmp/etc.tar.gz /etc
# tar -jcvf /tmp/etc.tar.bz2 /etc
# 特別注意,在參數(shù) f 之后的文件檔名是自己取的,我們習(xí)慣上都用 .tar 來作為辨識。
# 如果加 z 參數(shù),則以 消盯.tar.gz 或 .tgz 來代表 gzip 壓縮過的 tar file
# 如果加 j 參數(shù),則以 .tar.bz2 來代表 bzip2 壓縮過的 tar file
# 上述指令在執(zhí)行的時候,會顯示一個警告訊息:
# 『tar: Removing leading `/” from member names』那是關(guān)於絕對路徑的特殊設(shè)定。
范例二:查看上述/tmp/etc.tar.gz 文件內(nèi)有那些被壓縮的文件
# tar -ztvf /tmp/etc.tar.gz
# 由于我們使用 gzip 壓縮,所以要查閱該 tar file 內(nèi)的文件時,
# 就得要加上 z 這個參數(shù)了!這很重要的!
范例三:將 /tmp/etc.tar.gz 文件解壓縮在 /usr/local/src 底下
# cd /usr/local/src
# tar -zxvf /tmp/etc.tar.gz
# 在預(yù)設(shè)的情況下,我們可以將壓縮檔在任何地方解開的!以這個范例來說
# 我先將工作目錄變換到 /usr/local/src 底下,并且解開 /tmp/etc.tar.gz
# 則解開的目錄會在 /usr/local/src/etc ,另外,如果您進(jìn)入 /usr/local/src/etc
# 則會發(fā)現(xiàn),該目錄下的文件屬性與 /etc/ 可能會有所不同喔!
范例四:在 /tmp 底下,我只想要將 /tmp/etc.tar.gz 內(nèi)的 etc/passwd 解開而已
# cd /tmp
# tar -zxvf /tmp/etc.tar.gz etc/passwd
# 我可以透過 tar -ztvf 來查閱 tarfile 內(nèi)的文件名稱,如果單只要一個文件,
# 就可以透過這個方式來下達(dá)!注意到! etc.tar.gz 內(nèi)的根目錄 / 是被拿掉了!
范例五:我要備份 /home, /etc ,但不要 /home/dmtsai
# tar –exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
另外:tar命令的C參數(shù)
$tar -cvf file2.tar /home/usr2/file2
tar:Removing leading ‘/’ from members names
home/usr2/file2
該命令可以將/home/usr2/file2文件打包到當(dāng)前目錄下的file2.tar中,需要注意的是:使用絕對路徑標(biāo)識的源文件,在用tar命令壓縮后,文件名連同絕對路徑(這里是home/usr2/,根目錄’/’被自動去掉了)一并被壓縮進(jìn)來。使用tar命令解壓縮后會出現(xiàn)以下情況:
$tar -xvf file2.tar
$ ls
… …… home …… ……
解壓縮后的文件名不是想象中的file2,而是home/usr2/file2。
$ tar -cvf file2.tar -C /home/usr2 file2
該命令中的-C dir參數(shù),將tar的工作目錄從當(dāng)前目錄改為/home/usr2,將file2文件(不帶絕對路徑)壓縮到file2.tar中。注意:-C dir參數(shù)的作用在于改變工作目錄,其有效期為該命令中下一次-C dir參數(shù)之前。
使用tar的-C dir參數(shù),同樣可以做到在當(dāng)前目錄/home/usr1下將文件解壓縮到其他目錄,例如:
$ tar -xvf file2.tar -C /home/usr2
而tar不用-C dir參數(shù)時是無法做到的:
$ tar -xvf file2.tar /home/usr2
tar: /tmp/file: Not found in archive
tar: Error exit delayed from previous errors
tar
cpio
如何在Linux下壓縮解壓縮文件
unrar x aa.rar
unrar e aa.rar
x參數(shù) 是解壓到一個文件夾里
e參數(shù)是把所有文件解壓到當(dāng)前檔好液目錄下
注意這個命令比較特殊參數(shù)之前不能加-
前提是有unrar程序
沒有就根據(jù)你的發(fā)行版 自行物己安裝相應(yīng)軟件
linux默認(rèn)是不支持解壓rar格式的文件。你可以嘗試一下方法:
1、使用yum安裝unrar嘗試解壓:yum install rar, 安裝好后用unrar解壓。
2、將文件下載下來,用windows的解壓工具,重新壓縮成zip格式,上傳上去。用unzip 解壓即可。
安裝軟件方式:
linux軟件有rpm包、二進(jìn)制源碼包等。
rpm包一般用: rpm -ivh rpm包名 即可安裝
二進(jìn)制源碼包需要先編譯然后襪槐安裝(也可先指定安裝路勁)
./configure
make
make install
關(guān)于linux 分割壓縮的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
創(chuàng)新互聯(lián)【028-86922220】值得信賴的成都網(wǎng)站建設(shè)公司。多年持續(xù)為眾多企業(yè)提供成都網(wǎng)站建設(shè),成都品牌建站設(shè)計,成都高端網(wǎng)站制作開發(fā),SEO優(yōu)化排名推廣服務(wù),全網(wǎng)營銷讓企業(yè)網(wǎng)站產(chǎn)生價值。
名稱欄目:Linux下分割和壓縮文件的實用技巧(linux分割壓縮)
文章網(wǎng)址:http://www.dlmjj.cn/article/coooego.html


咨詢
建站咨詢
