• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            tar命令的使用

            對許多用戶來說,在DOSWindows環境下利用工具軟件WinZipARJ等壓縮或解壓文件是比較容易的事。但是,在Linux中如何對文件進行壓縮與解壓呢?

            tar建立存檔

            tar 是“tape archive(磁帶存檔)的簡稱,它出現在還沒有軟盤驅動器、硬盤和光盤驅動器的計算機早期階段。那時軟件的發行和備份都需要大卷的磁帶,計算機上運行的頭幾個程序中就得有一個是磁帶的閱讀程序。隨著時間的推移, tar命令逐漸變為一個將很多文件進行存檔的工具,目前許多用于Linux操作系統的程序就是打包為tar檔案文件的形式。

            tar 命令的格式是 tar [option] ;

            tar 命令有很多參數,利用f選項、設備或文件的名字可以指示tar命令將檔案置于特定的設備或文件中。當為tar的檔案創建一個文件時,這個文件名的擴展通常是如果指定了一個目錄名,那么它所有的子目錄都會被包含在檔案之中。

            利用tar命令和f選項的格式如下所示:

            #tar opionsfarchive-name.tar directory-and-filenames

            要創建一個檔案應使用c選項,與f選項一起,c選項會在設備或文件中創建檔案,應在f選項的左邊輸入這一選項。在下例中,目錄mydir和它所有的子目錄都被存入文件myarch.tar中。

            #tar cfmyarch.tarmydir

            如果想要改動已經存檔的目錄中的文件,可以使用u選項使tar更新檔案中的文件。tar比較每一個檔案文件與相應用戶目錄中文件最近一次修改的時間,然后將上一次存檔之后又被修改過的文件拷貝到檔案文件中去。在用戶目錄中新創建的文件也會被添加到檔案文件中。在下面的例子中,用戶用mydir目錄中最近被修改或添加的文件來對myarch.tar文件進行更新。

            #tar uf myarch.tar mydir

            如果想查看在一個檔案中存儲著哪些文件,可以使用tar命令和t選項。下面命令列出所有存儲在myarch.tar檔案中的文件:

            #tar tf myarch.tar

            要將文件備份到一個特定的設備,只須把設備名作為檔案。在下面的例子中,用戶在/dev/fdo設備的軟盤中創建了一個檔案,并將mydir目錄中所有的文件都拷貝到檔案中。

            #tar cf/dev/fdomydir

            要恢復設備磁盤中的文件,可使用xf選項:

            #tar xf/dev/fdo

            如果所備份的文件大小超過設備可用的存儲器,比如軟盤,此時就可以創建一個使用多個標號的tar檔案。當使用m選項向一個軟驅進行存檔時,tar命令在一張軟盤已滿的時候會提醒再放入一張新的軟盤。

            #tar cmf/dev/fdomydir

            要想恢復幾張盤中的檔案,只要將第一張軟盤放入軟驅,然后輸入有xm選項的tar命令。必要時會被提醒放入另外一張軟盤。

            #tarxmf/dev/fdo

            tar 操作不會對檔案文件實行壓縮操作。如果想壓縮檔案文件,可以指示tar激活gzip實用工具,在存檔之前對文件進行壓縮。利用z選項,tar在對文件存檔之前首先要使用gzip來壓縮文件。當恢復文件時,同樣的Z選項將激活gzip對文件解壓。

            #tar czfmyarch.tar mydir

            值得注意的是,壓縮檔案中的單個文件和整體壓縮檔案是不同的。通常檔案文件是為了便于傳輸而把幾個文件組合成為一個tar文件。為了縮短傳輸時間,檔案應當越小越好,可以將其壓縮然后傳送壓縮后的版本。接收者可以對之解壓縮,然后恢復tar文件。在tar文件上使用gzip將會產生有.tar.gz擴展名的文件。擴展名.gz被加到被壓縮的gzip文件名之后。

            下面的例子創建了myarch.tar的一個壓縮的版本,它具有了.gz的擴展名。

            #gzipmyarch.tar

            #ls

            #myarch.tar.gz

            tar 命令雖然有非常多的參數,但是使用起來并不困難,可以快速而又簡單地為任何需要的子目錄生成檔案文件。

            首先,我們來建立一個有三個文件的子目錄,再建立一個有另外三個文件的子目錄,如下所示:

            # 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

            現在已經有了一個子目錄和其中的文件,使用這個命令的c(生成)f(文件)參數來生成一個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

            請注意,原來的子目錄并沒有發生變化。在缺省的情況下,tar命令不會刪除原來的子目錄和文件。如果想看看命令執行的過程,可以使用v參數,如下所示:

            # tar cvf mydir.tar mydir

            mydir/

            mydir/file1

            mydir/file2

            mydir/file3

            mydir/mydir2/

            mydir/mydir2/file21

            mydir/mydir2/file22

            mydir/mydir2/file23

            tar 命令在進行操作的時候,就會把正在添加到檔案文件中去的子目錄和文件的文件名顯示出來。使用w參數,即交互參數,這樣tar命令在執行的過程當中會詢問是否想加入每個文件。當想有選擇地備份內容不多的子目錄的時候, 11 mount 常見使用方法 這樣就非常地方便,如下所示:

            # 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

            在上面的例子中,沒有把文件file1file3和文件file22歸檔。可以使用tar命令的t參數列出檔案文件中的內容,f參數定義操作所使用的tar檔案文件,如下所示:

            # tar tf mydir.tar

            mydir/

            mydir/file2

            mydir/mydir2/

            mydir/mydir2/file21

            mydir/mydir2/file23

            需要注意的是,如果參數的順序放錯了,tar命令會顯示出錯信息并退出。

            下面就來看看如何來釋放整個的檔案文件或者其中的某一個文件。如果想釋放其中所有的文件,可以同時使用-x釋放參數和-f。為了了解命令執行的過程,還可以加上-v參數:

            # tar xvf mydir.tar

            mydir/

            mydir/file2

            mydir/mydir2/

            mydir/mydir2/file21

            mydir/mydir2/file23

            如果只是想從檔案文件中釋放幾個文件的話,可以再次使用w參數:

            # 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

            上例表明查看了檔案文件,并交互地釋放了文件。如果只想從檔案文件中釋放某一個文件,可以在命令行中指定這個文件。作為示例,我先刪除了原始的mydir子目錄,然后使用一個空的子目錄進行如下操作:

            # tar xf mydir.tar mydir/mydir2/file23

            # tree mydir

            m y d i r

            - - mydir2

            - - file23

            1 directory, 1 file

            注意,正如所看到的只有一個文件被釋放出來。雖然tar命令不會覆蓋整個的子目錄,但是它會覆蓋掉那些有著相同文件名的文件。

            使用gzip壓縮文件

            gzip 命令是用來壓縮文件的。它不僅可以用來壓縮大的、較少使用的文件以節省磁盤空間,還可以和tar命令一起構成Linux操作系統中比較流行的壓縮文件格式。據統計,gzip命令對文本文件有60%70%的壓縮率。

            gzip 命令的格式是:

            gzip [option] [file]

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

            # gzip mydir.tar

            在缺省的狀態下,gzip會壓縮文件、再加上一個.gz擴展名,然后刪除掉原來的文件。如果想解壓縮文件,可以使用gzip的對應程序命令gunzip或者gzip命令的-d解壓縮參數。但是必須保證這個用于解壓縮的文件有.gz(或者.Z-gz.z-z、或者_z)擴展名,否則gzip命令和gunzip命令都會顯示出錯信息。如果想使用自己的擴展名,可以使用-S后綴參數,如下所示:

            # gzip -S .gzipped mydir.tar

            gzip 還可以處理用zip命令、compress命令和pack命令壓縮的文件包。如果想在壓縮或者解壓縮的過程中看到更多的信息,可以使用-l列清單參數看到文件在被壓縮或解壓縮的時候的文件長度。在前一個例子中,壓縮完子目錄mydir之后,可以使用gzip命令按照下面的方法得到有關的數據:

            # gzip -l mydir.tar.gz

            compressed uncompr.ratio uncompressed_name

            312 21330 98.2% mydir.tar

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

            使用compress壓縮文件

            compress 命令就像它的文件名那樣是用來壓縮文件的。這是Unix中出現得比較早的一個壓縮程序,它通過使用自適應的Lemple-Ziv編碼來縮小所指文件的大小。每一個文件將被一個帶有.Z擴展名的壓縮文件所代替,但文件的屬主關系、訪問時間和修改時間將保持不變。如果沒有指點文件,則接受標準輸入的文件進行壓縮并送到標準輸出。

            compress 命令格式是

            compress [option] [file]

            compress對應的有一個解壓縮命令uncompress,其格式如下:

            uncompress [option] [file]

            它使“.Z”的壓縮文件恢復。

            compress uncompress命令的選項如下:

            -c 寫到標準輸出,不改變文件。

            -f 強制壓縮,即使文件并不真正減小或.Z文件已經存在,也進行壓縮。

            -v 顯示每一個被壓縮文件的縮小的百分比。

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

            #compress file

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

            #uncompress file.Z

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

            posted on 2006-05-23 15:24 王光平 閱讀(313) 評論(0)  編輯 收藏 引用 所屬分類: linux世界

            <2006年5月>
            30123456
            78910111213
            14151617181920
            21222324252627
            28293031123
            45678910

            導航

            統計

            留言簿(4)

            隨筆分類

            隨筆檔案

            搜索

            最新評論

            久久精品国产国产精品四凭| 亚洲精品高清久久| 中文精品久久久久人妻| 狠狠色丁香久久婷婷综合_中| 久久精品免费一区二区| 久久久精品国产sm调教网站| 久久99国产精品二区不卡| 久久国产热这里只有精品| 成人久久免费网站| 9191精品国产免费久久| 影音先锋女人AV鲁色资源网久久| 久久久久免费看成人影片| 国产真实乱对白精彩久久| 色欲久久久天天天综合网精品 | 亚洲精品高清国产一久久| 久久久久无码精品国产app| 精品久久久无码人妻中文字幕| 久久96国产精品久久久| 精品国产乱码久久久久久人妻 | 久久久久久久久66精品片| 免费国产99久久久香蕉| 亚洲精品午夜国产VA久久成人| 精品久久久久久国产牛牛app | 伊人久久大香线蕉AV色婷婷色| 国产AⅤ精品一区二区三区久久| 伊人久久精品无码二区麻豆| 久久久久婷婷| 久久国产高清一区二区三区| 久久亚洲欧美日本精品| 久久精品国产亚洲AV电影| 亚洲va久久久噜噜噜久久天堂 | 国产精品久久久久一区二区三区| 伊人久久大香线蕉亚洲| 久久久久久久精品妇女99| 欧美国产精品久久高清| 人妻丰满?V无码久久不卡| 国内精品免费久久影院| 97精品国产97久久久久久免费| 青青草原综合久久| 国产香蕉97碰碰久久人人| 久久毛片免费看一区二区三区|