Linux系統之文件歸檔、壓縮和傳輸

一、文件的歸檔

    1、文件歸檔就是將多個文件通過歸檔命令變成一個歸檔文件,文件數量上從多個到一個。

    2、歸檔命令:

        (1)tar cf  :創建歸檔文件。如:tar cf etc.tar /etc/

                  

                 執行該命令後,在當前目錄中即創建了一個歸檔文件。

       (2)tar tf  :查看歸檔文件中的內容。如:tar tf etc.tar

                  

       (3)tar rf :向歸檔文件中添加新內容。如:tar rf etc.tar /boot/
                  

                 如圖,執行後在歸檔文件etc.tar中添加了/boot 目錄中的內容。

     (4)tar --delete ;刪除歸檔文件中的單個文件。如:tar -f etc.tar --delete boot

                

              注意:在將boot文件添加到歸檔文件中時,“/”已經被刪除,執行該命令時不能在boot前加根目錄“/”。

      (5)tar --get :從歸檔文件中取出單個文件。如:tar -f etc.tar --get boot

               

      (6)tar xf :取出歸檔文件中的所有文件。如:tar xf etc.tar

               

              由ls命令可看出,xf參數將歸檔文件中的所有文件全部取出並放在當前目錄中。

     (7)tar xf -C :取出所有文件並指定解檔目錄。如:tar xf etc.tar -C /mnt

               

              由ls命令可知,C參數可指定解檔目錄。

二、文件的壓縮

     1、文件的壓縮就是將多個文件壓縮爲一個壓縮包,使文件所佔內存減少,便於傳輸。

     2、文件壓縮命令:

        (1)zip壓縮格式:

                  zip -r etc.tar.zip etc.tar  :壓縮成zip格式

                  

                  

                 du -sh 命令爲查看文件大小,由上圖對比可知,壓縮文件比歸檔文件小的多。

                 unzip etc.tar.zip  :解壓zip格式壓縮包

                 

    (2)壓縮成gz格式:

                gzip etc.tar  :壓縮成gz格式

                

               gunzip:解壓gz格式壓縮包

                

     (3)壓縮成bz2格式

                bzip2 etc.tar :壓縮成bz2格式

                

               bunzip2 etc.tar.bz2 :解bz2格式壓縮包

                

     (4)xz格式壓縮包

                xz etc.tar :壓縮爲xz格式

                

                unxz etc.tar.xz :解xz格式壓縮包

                

      3、歸檔與壓縮:

         (1)tar zcf etc.tar.gz /etc :把文件歸檔爲tar並壓縮成gz

                   

                  tar zxf etc.tar.gz  :解壓並解檔gz格式壓縮包

                 

      (2)tar jcf etc.tar.bz2 /etc:把文件歸檔爲tar並壓縮成bz2

                 

               tar jxf etc.tar.bz2:解壓並解檔bz2格式壓縮包

                 

     (3)tar Jcf etc.tar.xz /etc ##把文件歸檔爲tar並壓縮成zx

                

               tar Jxf etc.tar.xz  ##解壓並解檔xz格式壓縮包

                

三、不同主機之間文件的傳輸

     1、文件的上傳:發送方給接受方上傳

           scp file    username@ip:/dir

           

          將主機app中的file文件上傳給ip爲172.25.20.13的主機,並存在/mnt目錄下。

           

           在接收方主機中的/mnt目錄中可查看到file文件。

   2、下載:接收方主動在自己主機中下載發送方主機內的文件

           scp   username@ip:/dir/file  /dir

           

          接受方下載後可以在其/mnt目錄下查看該文件。

          注意:文件的傳輸必須建立在兩臺主機可以互相連接的前提下才能進行!!!!

    3、rsync命令:兩臺主機之間目錄的同步(傳輸)

          

        上述命令的實驗:

           在做該實驗前先完成以下實驗準備:

           (1)在發送方主機上建立若干個文件

                    

           (2)建立一個軟鏈接:ln -s file5 westos

                    

          (3)將這些文件的權限設定爲“777”

                   

          (4)將文件的所有人、所有組改爲普通用戶“student”

                   

                 做完這些實驗準備即可開始實驗!!!

       rsync -r  :同步目錄

                   

                  若同步目錄時只同步內容而不同步目錄本身,將上左圖命令中的“/mnt”改爲“/mnt/”!!!!如下

                   

                 注意:如上左圖,在同步目錄的時候忽略了軟鏈接,可用參數“l”避免!!

      rsync -rl :同步目錄並不忽略軟鏈接

                   

                  如上右圖,同步目錄過程中使用了參數“l”後軟鏈接westos也被同步到另一臺主機上。

     rsync -p :同步過程中不忽略文件權限!!

                    

                     

                  如上圖,在添加“p”參數後,同步文件時文件權限沒有被忽略,一同傳輸過去了!!

     rsync -o :不忽略文件所有人

                       

                       

                       在命令中添加“o”參數後,同步文件和原文件的所有人相同!!

     rsync -g :不忽略文件所有組!!

                     

                     

                    

                    如上圖在同步文件時使用“g”參數後,同步至接收主機上的文件的所有組和原文件一樣!!

      rsync -t :不忽略時間戳

                   

                   

                   

                 如上圖在同步文件時使用“t”參數後,同步至接收主機上的文件的時間戳和原文件一樣!!

      rsync -D:不忽略設備文件

                   設備文件在系統中的/dev/pts裏面,如圖
                   

                   在不加參數同步該目錄時,不能將目錄中的內容同步過去,如下圖

                   

                 如上圖,在同步時系統提示忽略了設備文件,而且同步完成後接收方主機目錄下也沒有設備文件

                 

                 在加上“D”參數後,設備文件也可以被同步過去!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章