久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

在Linux下壓縮文件 tar命令的使用

 ~perddy~ 2007-03-13

    對(duì)許多用戶來說,,在DOS和Windows環(huán)境下利用工具軟件WinZip,、ARJ等壓縮或解壓文件是比較容易的事。但是,,在Linux中如何對(duì)文件進(jìn)行壓縮與解壓呢,?

    用tar建立存檔

    tar是“tape archive”(磁帶存檔)的簡(jiǎn)稱,它出現(xiàn)在還沒有軟盤驅(qū)動(dòng)器,、硬盤和光盤驅(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 [option] <file>;

    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í)間,然后將上一次存檔之后又被修改過的文件拷貝到檔案文件中去,。在用戶目錄中新創(chuàng)建的文件也會(huì)被添加到檔案文件中。在下面的例子中,用戶用mydir目錄中最近被修改或添加的文件來對(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è)備的軟盤中創(chuàng)建了一個(gè)檔案,并將mydir目錄中所有的文件都拷貝到檔案中,。

    #tar cf/dev/fdo  mydir

    要恢復(fù)設(shè)備磁盤中的文件,可使用xf選項(xiàng):

    #tar xf/dev/fdo

    如果所備份的文件大小超過設(shè)備可用的存儲(chǔ)器,比如軟盤,此時(shí)就可以創(chuàng)建一個(gè)使用多個(gè)標(biāo)號(hào)的tar檔案,。當(dāng)使用m選項(xiàng)向一個(gè)軟驅(qū)進(jìn)行存檔時(shí),tar命令在一張軟盤已滿的時(shí)候會(huì)提醒再放入一張新的軟盤。

    #tar cmf/dev/fdo  mydir

    要想恢復(fù)幾張盤中的檔案,只要將第一張軟盤放入軟驅(qū),然后輸入有x和m選項(xiàng)的tar命令,。必要時(shí)會(huì)被提醒放入另外一張軟盤,。

    #tar  xmf/dev/fdo

    tar操作不會(huì)對(duì)檔案文件實(shí)行壓縮操作。如果想壓縮檔案文件,可以指示tar激活gzip實(shí)用工具,在存檔之前對(duì)文件進(jìn)行壓縮,。利用z選項(xiàng),tar在對(duì)文件存檔之前首先要使用gzip來壓縮文件,。當(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ù),,但是使用起來并不困難,可以快速而又簡(jiǎn)單地為任何需要的子目錄生成檔案文件,。

    首先,,我們來建立一個(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ù)來生成一個(gè)tar檔案文件:

    # tar cf mydir.tar mydir
    # ls -l *.tar
    - r w - r - - r - - 1 bball u s e r s 10240 Jan 5 15 : 01 mydir. t a r

    請(qǐng)注意,,原來的子目錄并沒有發(fā)生變化。在缺省的情況下,,tar命令不會(huì)刪除原來的子目錄和文件,。如果想看看命令執(zhí)行的過程,可以使用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ì)把正在添加到檔案文件中去的子目錄和文件的文件名顯示出來。使用w參數(shù),,即交互參數(shù),,這樣tar命令在執(zhí)行的過程當(dāng)中會(huì)詢問是否想加入每個(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

    在上面的例子中,沒有把文件file1,、file3和文件file22歸檔,。可以使用tar命令的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ò)信息并退出,。

    下面就來看看如何來釋放整個(gè)的檔案文件或者其中的某一個(gè)文件。如果想釋放其中所有的文件,,可以同時(shí)使用-x釋放參數(shù)和-f,。為了了解命令執(zhí)行的過程,還可以加上-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è)文件被釋放出來。雖然tar命令不會(huì)覆蓋整個(gè)的子目錄,,但是它會(huì)覆蓋掉那些有著相同文件名的文件,。

    值得一提的是,,還可以使用其它程序,如BRU-2000或者taper腳本程序來備份系統(tǒng)或者選定的文件和子目錄,。OpenLinux操作系統(tǒng)也可以通過cron日程安排來自動(dòng)進(jìn)行文件的歸檔整理工作,。

    建立cpio檔案文件

    cpio命令可以從tar或者cpio檔案文件中拷入或者拷出文件,。因?yàn)閏pio命令和tar命令兼容,,所以我這里不再詳細(xì)介紹它如何工作。但是這個(gè)命令具備一些tar命令沒有的功能,,如下所示:

    ◆ 支持cpio和tar兩種檔案文件格式,;

    ◆ 支持許多老式磁帶數(shù)據(jù)格式;

    ◆ 能夠通過一個(gè)管道讀取文件的文件名,。

    只有很少的Linux軟件包是以cpio格式發(fā)行的,。如果對(duì)cpio命令的詳細(xì)情況感興趣的話,可以閱讀它的使用手冊(cè),。

    使用gzip壓縮文件

    gzip命令是用來壓縮文件的,。它不僅可以用來壓縮大的、較少使用的文件以節(jié)省磁盤空間,,還可以和tar命令一起構(gòu)成Linux操作系統(tǒng)中比較流行的壓縮文件格式,。據(jù)統(tǒng)計(jì),gzip命令對(duì)文本文件有60%~70%的壓縮率,。

    gzip命令的格式是:

    gzip [option] [file]

    gzip很容易使用,。如果想壓縮某個(gè)文件或者磁帶檔案文件,可輸入下面的內(nèi)容:

    # gzip mydir.tar

    在缺省的狀態(tài)下,,gzip會(huì)壓縮文件,、再加上一個(gè).gz擴(kuò)展名,然后刪除掉原來的文件,。如果想解壓縮文件,,可以使用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命令壓縮的文件包,。如果想在壓縮或者解壓縮的過程中看到更多的信息,,可以使用-l列清單參數(shù)看到文件在被壓縮或解壓縮的時(shí)候的文件長度,。在前一個(gè)例子中,壓縮完子目錄mydir之后,,可以使用gzip命令按照下面的方法得到有關(guān)的數(shù)據(jù):

    # gzip -l mydir.tar.gz
    compressed uncompr.ratio uncompressed_name
    312 21330 98.2% mydir.tar

    此外,,gzip還有一個(gè)很有用的參數(shù)-t,可以用來測(cè)試壓縮文件的完整性,。如果文件正常,,gzip不會(huì)給出任何顯示。如果想看到OK這兩個(gè)字母,,可以在測(cè)試某個(gè)文件時(shí)使用-tv參數(shù),。

    使用compress壓縮文件

    compress命令就像它的文件名那樣是用來壓縮文件的。這是Unix中出現(xiàn)得比較早的一個(gè)壓縮程序,它通過使用自適應(yīng)的Lemple-Ziv編碼來縮小所指文件的大小,。每一個(gè)文件將被一個(gè)帶有.Z擴(kuò)展名的壓縮文件所代替,,但文件的屬主關(guān)系、訪問時(shí)間和修改時(shí)間將保持不變,。如果沒有指點(diǎn)文件,,則接受標(biāo)準(zhǔn)輸入的文件進(jìn)行壓縮并送到標(biāo)準(zhǔn)輸出。

    compress命令格式是:

    compress [option] [file]

    與compress對(duì)應(yīng)的有一個(gè)解壓縮命令uncompress,,其格式如下:

    uncompress [option] [file]

    它使“.Z”的壓縮文件恢復(fù),。

    compress和uncompress命令的選項(xiàng)如下:

    ◆-c 寫到標(biāo)準(zhǔn)輸出,不改變文件,。

    ◆-f 強(qiáng)制壓縮,,即使文件并不真正減小或.Z文件已經(jīng)存在,也進(jìn)行壓縮,。

    ◆-v 顯示每一個(gè)被壓縮文件的縮小的百分比,。

    下面舉例說明compress命令的用法:

    #compress file

    上面代碼表明將生成壓縮文件file.Z代替file,要解壓縮輸入:

    #uncompress file.Z

    注意,,像使用gzip命令一樣,,使用uncompress命令時(shí)必須給出一個(gè)帶有.Z擴(kuò)展名的文件名,否則uncompress命令顯示出錯(cuò)信息,。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多