您的位置:首页 > 运维架构 > Linux

Linux系统之文件归档、压缩和传输

2017-10-23 19:37 489 查看
一、文件的归档

    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、下载:接收方主动在自己主机中下载发送方主机内
b9d4
的文件

           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”参数后,设备文件也可以被同步过去!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息