新聞中心
在Linux操作系統(tǒng)中,常常需要將文件進(jìn)行壓縮以節(jié)省磁盤(pán)空間或簡(jiǎn)化文件的傳輸。s.tar文件是一種常見(jiàn)的壓縮文件格式,本文將介紹如何在Linux下進(jìn)行s.tar文件的壓縮和解壓縮操作。

創(chuàng)新互聯(lián)是一家專業(yè)提供福貢企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、H5場(chǎng)景定制、小程序制作等業(yè)務(wù)。10年已為福貢眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
一、s.tar文件的壓縮
1.使用tar命令進(jìn)行壓縮
tar是Linux下常用的歸檔工具,可以將一系列文件合并在一個(gè)文件中??梢允褂胻ar命令對(duì)文件進(jìn)行s.tar格式的壓縮,具體操作如下:
“`
tar -cvf filename.s.tar path/
“`
這里-c選項(xiàng)表示創(chuàng)建歸檔文件,-v選項(xiàng)為顯示壓縮進(jìn)度和歸檔文件列表,-f選項(xiàng)指定歸檔文件名。filename是自定義的壓縮文件名,path是要壓縮的文件路徑。
2.使用gzip命令進(jìn)行壓縮
gzip是一種常用的壓縮工具,可以將文件壓縮成gz格式。我們也可以結(jié)合tar命令使用gzip進(jìn)行s.tar文件的壓縮。具體操作如下:
“`
tar -cvzf filename.s.tar.gz path/
“`
這里新增了-z選項(xiàng),表示對(duì)壓縮過(guò)程使用gzip壓縮,并將文件名修改為filename.s.tar.gz。可以使用gunzip命令解壓縮該文件。
二、s.tar文件的解壓縮
1.使用tar命令進(jìn)行解壓
同樣,tar命令也可以進(jìn)行s.tar格式文件的解壓縮操作。具體操作如下:
“`
tar -xvf filename.s.tar
“`
這里-x選項(xiàng)表示解壓文件,-v選項(xiàng)依然是顯示解壓縮進(jìn)度和解壓縮文件列表,-f選項(xiàng)指定要解壓縮的歸檔文件名。這樣就可以將壓縮的s.tar文件解壓縮到當(dāng)前目錄下。
2.使用gzip命令進(jìn)行解壓縮
如果要解壓縮s.tar.gz格式的文件,我們需要使用gzip命令進(jìn)行解壓縮。具體操作如下:
“`
gzip -d filename.s.tar.gz
“`
這里新增了-d選項(xiàng),表示解壓縮.gz格式的文件,并將文件名修改為filename.s.tar。然后再使用tar命令進(jìn)行解壓縮,具體操作同上。
三、
本文介紹了在Linux操作系統(tǒng)下對(duì)s.tar文件進(jìn)行壓縮和解壓縮的兩種方法。雖然使用tar命令進(jìn)行壓縮和解壓縮比較麻煩,但是不需要額外安裝gzip工具。如果需要壓縮成s.tar.gz格式,則需要使用gzip命令,但是需要在解壓縮時(shí)先使用gzip命令進(jìn)行解壓縮,再使用tar命令進(jìn)行解壓縮。不同的操作場(chǎng)景可以根據(jù)需要選擇不同的方式。
相關(guān)問(wèn)題拓展閱讀:
- linux中 .tar 文件與 .tar.gz 是什么關(guān)系?
- 求linux上打tar包以及釋放的指令,還有釋放以及打其它壓縮包的指令。
linux中 .tar 文件與 .tar.gz 是什么關(guān)系?
.tar是tar打包后的文件,.tar.gz是用gzip壓縮過(guò)后的tar打包文件
詳見(jiàn):
tar文件只是把多個(gè)文件或
文件夾
打包合成一個(gè)文件,本身并沒(méi)有進(jìn)行壓縮。
gz是進(jìn)行過(guò)壓縮的文件。
如果一個(gè)文件的后綴是
tar.gz
,那么說(shuō)明打包的時(shí)候進(jìn)行了壓縮,所以解包的使用也同樣需要解壓縮。
可以使用如下命令得到解好的文件:
tar -zxvf xxxx.tar.gz
也可以分兩步走,先解壓,再解包:
gunzip xxxx.tar.gz
tar -xvf xxxx.tar
求linux上打tar包以及釋放的指令,還有釋放以及打其它壓縮包的指令。
用tar建立存檔
tar是“tape archive”(磁帶存檔)的簡(jiǎn)稱,它出現(xiàn)在還沒(méi)有軟盤(pán)驅(qū)動(dòng)器、硬盤(pán)和光盤(pán)驅(qū)動(dòng)器的計(jì)算機(jī)早期階段。那時(shí)軟件的發(fā)行和備份都需要大卷的磁帶,計(jì)算機(jī)上運(yùn)行的頭幾個(gè)程序中就得有一個(gè)是磁帶的閱讀程序。隨著時(shí)間的推移, tar命令逐漸變?yōu)橐粋€(gè)將很多文件進(jìn)行存檔的工具,目前許多用于Linux操作系統(tǒng)的程序就是打包為tar檔案文件的形式。
tar 命令的格式是:
tar ;
tar命令有很多參數(shù),利用f選項(xiàng)、設(shè)備或文件的名字可以指示tar命令將檔案置于特定的設(shè)備或文件中。當(dāng)為tar的檔案創(chuàng)建一個(gè)文件時(shí),這個(gè)文件名的擴(kuò)展通常是如果指定了一個(gè)目錄名,那么它所有的子目錄都會(huì)被包含在檔案之中。
利用tar命令和f選項(xiàng)的格式如下所示:
#tar opionsf archive-name.tar directory-and-filenames
要?jiǎng)?chuàng)建一個(gè)檔案應(yīng)使用c選項(xiàng),與f選項(xiàng)一起,c選項(xiàng)會(huì)在設(shè)備或文件中創(chuàng)建檔案,應(yīng)在f選項(xiàng)的左邊輸入這一選項(xiàng)。在下例中,目錄mydir和它所有的子目錄都被存入文件myarch.tar中。
#tar cf myarch.tar mydir
如果想要改動(dòng)已經(jīng)存檔的目錄中的文件,可以使用u選項(xiàng)使tar更新檔案中的文件。tar比較每一個(gè)檔案文件與相應(yīng)用戶目錄中文件最近一次修改的時(shí)間,然后將上一次存檔之后又被修改過(guò)的文件拷貝到檔案文件中去。在用戶目錄中新創(chuàng)建的文件也會(huì)被添加到檔案文件中。在下面的例子中,用戶用mydir目錄中最近被修改或添加的文件來(lái)對(duì)myarch.tar文件進(jìn)行更新。
#tar uf myarch.tar mydir
如果想查看在一個(gè)檔案中存儲(chǔ)著哪些文件,可以使用tar命令和t選項(xiàng)。下面命令列出所有存儲(chǔ)在myarch.tar檔案中的文件:
#tar tf myarch.tar
要將文件備份到一個(gè)特定的設(shè)備,只須把設(shè)備名作為檔案。在下面的例子中,用戶在/dev/fdo設(shè)備的軟盤(pán)中創(chuàng)建了一個(gè)檔案,并將mydir目錄中所有的文件都拷貝到檔案中。
#tar cf/dev/fdo mydir
要恢復(fù)設(shè)備磁盤(pán)中的文件,可使用xf選項(xiàng):
#tar xf/dev/fdo
如果所備份的文件大小超過(guò)設(shè)備可用的存儲(chǔ)器,比如軟盤(pán),此時(shí)就可以創(chuàng)建一個(gè)使用多個(gè)標(biāo)號(hào)的tar檔案。當(dāng)使用m選項(xiàng)向一個(gè)軟驅(qū)進(jìn)行存檔時(shí),tar命令在一張軟盤(pán)已滿的時(shí)候會(huì)提醒再放入一張新的軟盤(pán)。
#tar cmf/dev/fdo mydir
要想恢復(fù)幾張盤(pán)中的檔案,只要將之一張軟盤(pán)放入軟驅(qū),然后輸入有x和m選項(xiàng)的tar命令。必要時(shí)會(huì)被提醒放入另外一張軟盤(pán)。
#tar xmf/dev/fdo
tar操作不會(huì)對(duì)檔案文件實(shí)行壓縮操作。如果想壓縮檔案文件,可以指示tar激活gzip實(shí)用工具,在存檔之前對(duì)文件進(jìn)行壓縮。利用z選項(xiàng),tar在對(duì)文件存檔之前首先要使用gzip來(lái)壓縮文件。當(dāng)恢復(fù)文件時(shí),同樣的Z選項(xiàng)將激活gzip對(duì)文件解壓。
#tar czf myarch.tar mydir
值得注意的是,壓縮檔案中的單個(gè)文件和整體壓縮檔案是不同的。通常檔案文件是為了便于傳輸而把幾個(gè)文件組合成為一個(gè)tar文件。為了縮短傳輸時(shí)間,檔案應(yīng)當(dāng)越小越好,可以將其壓縮然后傳送壓縮后的版本。接收者可以對(duì)之解壓縮,然后恢復(fù)tar文件。在tar文件上使用gzip將會(huì)產(chǎn)生有.tar.gz擴(kuò)展名的文件。擴(kuò)展名.gz被加到被壓縮的gzip文件名之后。
下面的例子創(chuàng)建了myarch.tar的一個(gè)壓縮的版本,它具有了.gz的擴(kuò)展名。
#gzip myarch.tar
#ls
#myarch.tar.gz
tar命令雖然有非常多的參數(shù),但是使用起來(lái)并不困難,可以快速而又簡(jiǎn)單地為任何需要的子目錄生成檔案文件。
首先,我們來(lái)建立一個(gè)有三個(gè)文件的子目錄,再建立一個(gè)有另外三個(gè)文件的子目錄,如下所示:
# mkdir mydir
#cd mydir
# touch file1 file2 file3
# mkdir mydir2
#cd mydir2
# touch file21 file22 file23
#cd../..
#tree mydir
mydir
file1
file2
file3
mydir2
file21
file22
file23
現(xiàn)在已經(jīng)有了一個(gè)子目錄和其中的文件,使用這個(gè)命令的c(生成)和f(文件)參數(shù)來(lái)生成一個(gè)tar檔案文件:
# tar cf mydir.tar mydir
# ls -l *.tar
– r w – r – – rbball u s e r sJan 5 15 : 01 mydir. t a r
請(qǐng)注意,原來(lái)的子目錄并沒(méi)有發(fā)生變化。在缺省的情況下,tar命令不會(huì)刪除原來(lái)的子目錄和文件。如果想看看命令執(zhí)行的過(guò)程,可以使用v參數(shù),如下所示:
# tar cvf mydir.tar mydir
mydir/
mydir/file1
mydir/file2
mydir/file3
mydir/mydir2/
mydir/mydir2/file21
mydir/mydir2/file22
mydir/mydir2/file23
tar命令在進(jìn)行操作的時(shí)候,就會(huì)把正在添加到檔案文件中去的子目錄和文件的文件名顯示出來(lái)。使用w參數(shù),即交互參數(shù),這樣tar命令在執(zhí)行的過(guò)程當(dāng)中會(huì)詢問(wèn)是否想加入每個(gè)文件。當(dāng)想有選擇地備份內(nèi)容不多的子目錄的時(shí)候,這樣就非常地方便,如下所示:
# tar cwf mydir.tar mydir
add mydir?y
add mydir/file1?n
add mydir/file2?y
add mydir/file3?n
add mydir/mydir2?y
add mydir/mydir2/file21?y
add mydir/mydir2/file22?n
add mydir/mydir2/file23?y
在上面的例子中,沒(méi)有把文件file1、file3和文件file22歸檔??梢允褂胻ar命令的t參數(shù)列出檔案文件中的內(nèi)容,f參數(shù)定義操作所使用的tar檔案文件,如下所示:
# tar tf mydir.tar
mydir/
mydir/file2
mydir/mydir2/
mydir/mydir2/file21
mydir/mydir2/file23
需要注意的是,如果參數(shù)的順序放錯(cuò)了,tar命令會(huì)顯示出錯(cuò)信息并退出。
下面就來(lái)看看如何來(lái)釋放整個(gè)的檔案文件或者其中的某一個(gè)文件。如果想釋放其中所有的文件,可以同時(shí)使用-x釋放參數(shù)和-f。為了了解命令執(zhí)行的過(guò)程,還可以加上-v參數(shù):
# tar xvf mydir.tar
mydir/
mydir/file2
mydir/mydir2/
mydir/mydir2/file21
mydir/mydir2/file23
如果只是想從檔案文件中釋放幾個(gè)文件的話,可以再次使用w參數(shù):
# tar xvwf mydir.tar
extract mydir/?y
mydir
extract mydir/file2?y
mydir/file2
extract mydir/mydir2/?y
mydir/mydir2/
extract mydir/mydir2/file21?y
mydir/mydir2/file21
extract mydir/mydir2/file23?y
mydir/mydir2/file23
上例表明查看了檔案文件,并交互地釋放了文件。如果只想從檔案文件中釋放某一個(gè)文件,可以在命令行中指定這個(gè)文件。作為示例,我先刪除了原始的mydir子目錄,然后使用一個(gè)空的子目錄進(jìn)行如下操作:
# tar xf mydir.tar mydir/mydir2/file23
# tree mydir
m y d i r
mydir2
file23
1 directory, 1 file
注意,正如所看到的只有一個(gè)文件被釋放出來(lái)。雖然tar命令不會(huì)覆蓋整個(gè)的子目錄,但是它會(huì)覆蓋掉那些有著相同文件名的文件。
值得一提的是,還可以使用其它程序,如BRU-2023或者taper腳本程序來(lái)備份系統(tǒng)或者選定的文件和子目錄。OpenLinux操作系統(tǒng)也可以通過(guò)cron日程安排來(lái)自動(dòng)進(jìn)行文件的歸檔整理工作。
建立cpio檔案文件
cpio命令可以從tar或者cpio檔案文件中拷入或者拷出文件。因?yàn)閏pio命令和tar命令兼容,所以我這里不再詳細(xì)介紹它如何工作。但是這個(gè)命令具備一些tar命令沒(méi)有的功能,如下所示:
◆ 支持cpio和tar兩種檔案文件格式;
◆ 支持許多老式磁帶數(shù)據(jù)格式;
◆ 能夠通過(guò)一個(gè)管道讀取文件的文件名。
只有很少的Linux軟件包是以cpio格式發(fā)行的。如果對(duì)cpio命令的詳細(xì)情況感興趣的話,可以閱讀它的使用手冊(cè)。
使用gzip壓縮文件
gzip命令是用來(lái)壓縮文件的。它不僅可以用來(lái)壓縮大的、較少使用的文件以節(jié)省磁盤(pán)空間,還可以和tar命令一起構(gòu)成Linux操作系統(tǒng)中比較流行的壓縮文件格式。據(jù)統(tǒng)計(jì),gzip命令對(duì)文本文件有60%~70%的壓縮率。
gzip命令的格式是:
gzip
gzip很容易使用。如果想壓縮某個(gè)文件或者磁帶檔案文件,可輸入下面的內(nèi)容:
# gzip mydir.tar
在缺省的狀態(tài)下,gzip會(huì)壓縮文件、再加上一個(gè).gz擴(kuò)展名,然后刪除掉原來(lái)的文件。如果想解壓縮文件,可以使用gzip的對(duì)應(yīng)程序命令gunzip或者gzip命令的-d解壓縮參數(shù)。但是必須保證這個(gè)用于解壓縮的文件有.gz(或者.Z、-gz、.z、-z、或者_(dá)z)擴(kuò)展名,否則gzip命令和gunzip命令都會(huì)顯示出錯(cuò)信息。如果想使用自己的擴(kuò)展名,可以使用-S后綴參數(shù),如下所示:
# gzip -S .gzipped mydir.tar
gzip還可以處理用zip命令、compress命令和pack命令壓縮的文件包。如果想在壓縮或者解壓縮的過(guò)程中看到更多的信息,可以使用-l列清單參數(shù)看到文件在被壓縮或解壓縮的時(shí)候的文件長(zhǎng)度。在前一個(gè)例子中,壓縮完子目錄mydir之后,可以使用gzip命令按照下面的方法得到有關(guān)的數(shù)據(jù):
# gzip -l mydir.tar.gz
compressed uncompr.ratio uncompressed_name
98.2% mydir.tar
此外,gzip還有一個(gè)很有用的參數(shù)-t,可以用來(lái)測(cè)試壓縮文件的完整性。如果文件正常,gzip不會(huì)給出任何顯示。如果想看到OK這兩個(gè)字母,可以在測(cè)試某個(gè)文件時(shí)使用-tv參數(shù)。
使用compress壓縮文件
compress命令就像它的文件名那樣是用來(lái)壓縮文件的。這是Unix中出現(xiàn)得比較早的一個(gè)壓縮程序,它通過(guò)使用自適應(yīng)的Lemple-Ziv編碼來(lái)縮小所指文件的大小。每一個(gè)文件將被一個(gè)帶有.Z擴(kuò)展名的壓縮文件所代替,但文件的屬主關(guān)系、訪問(wèn)時(shí)間和修改時(shí)間將保持不變。如果沒(méi)有指點(diǎn)文件,則接受標(biāo)準(zhǔn)輸入的文件進(jìn)行壓縮并送到標(biāo)準(zhǔn)輸出。
compress命令格式是:
compress
與compress對(duì)應(yīng)的有一個(gè)解壓縮命令uncompress,其格式如下:
uncompress
它使“.Z”的壓縮文件恢復(fù)。
compress和uncompress命令的選項(xiàng)如下:
◆-c 寫(xiě)到標(biāo)準(zhǔn)輸出,不改變文件。
◆-f 強(qiáng)制壓縮,即使文件并不真正減小或.Z文件已經(jīng)存在,也進(jìn)行壓縮。
◆-v 顯示每一個(gè)被壓縮文件的縮小的百分比。
下面舉例說(shuō)明compress命令的用法:
#compress file
上面代碼表明將生成壓縮文件file.Z代替file,要解壓縮輸入:
#uncompress file.Z
注意,像使用gzip命令一樣,使用uncompress命令時(shí)必須給出一個(gè)帶有.Z擴(kuò)展名的文件名,否則uncompress命令顯示出錯(cuò)信息。
# tar -cf all.tar *.jpg
這條命令是將所有.jpg的文件打成一個(gè)名為all.tar的包。-c是表示產(chǎn)生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif
這條命令是將所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -tf all.tar
這條命令是解出all.tar包中所有文件,-t是解開(kāi)的意思
# tar -czf all.tar.gz *.jpg
這條命令是將所有.jpg的文件打成一個(gè)tar包,并且將其用gzip壓縮,生成一個(gè)gzip壓縮過(guò)的包,包名為all.tar.gz
# tar -xzf all.tar.gz
這條命令是將上面產(chǎn)生的包解開(kāi)。
# tar -cjf all.tar.bz2 *.jpg
這條命令是將所有.jpg的文件打成一個(gè)tar包,并且將其用bzip2壓縮,生成一個(gè)bzip2壓縮過(guò)的包,包名為all.tar.bz2
# tar -xjf all.tar.bz2
這條命令是將上面產(chǎn)生的包解開(kāi)
# tar -cZf all.tar.Z *.jpg
這條命令是將所有.jpg的文件打成一個(gè)tar包,并且將其用compress壓縮,生成一個(gè)uncompress壓縮過(guò)的包,包名為all.tar.Z
# tar -xZf all.tar.Z
linux下 s.tar的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux下 s.tar,Linux下如何壓縮和解壓縮s.tar文件,linux中 .tar 文件與 .tar.gz 是什么關(guān)系?,求linux上打tar包以及釋放的指令,還有釋放以及打其它壓縮包的指令。的信息別忘了在本站進(jìn)行查找喔。
成都網(wǎng)站營(yíng)銷推廣找創(chuàng)新互聯(lián),全國(guó)分站站群網(wǎng)站搭建更好做SEO營(yíng)銷。
創(chuàng)新互聯(lián)(www.cdcxhl.com)四川成都IDC基礎(chǔ)服務(wù)商,價(jià)格厚道。提供成都服務(wù)器托管租用、綿陽(yáng)服務(wù)器租用托管、重慶服務(wù)器托管租用、貴陽(yáng)服務(wù)器機(jī)房服務(wù)器托管租用。
文章題目:Linux下如何壓縮和解壓縮s.tar文件 (linux下 s.tar)
網(wǎng)址分享:http://m.5511xx.com/article/djodjcs.html


咨詢
建站咨詢
