Linux从入门到精通————文件在系统当中的传输

一.使用ssh在网络中进行传输
使用的命令为:scp


    scp file user@ip:/dir        ##上传文件
    scp user@ip:/file dir        ##下载文件


这个命令在上一篇文章中提到过,在此再次强调注意格式,非本机的文件路径一定得是绝对路径!

二.远程同步传输文件

虽然ssh传输非常的方便,但是当遇到较大的文件或者目录时,ssh传输的速度会非常的慢,这是因为ssh是一个远程复制的过程,

即在远程重新创建新的内容,而有一个传输速度更快的方法——rsync,rsync是linux系统下的数据镜像备份工具。使用快速增

量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。

它的特性如下:
(1)完整:可以镜像保存整个目录树和文件系统。
(2)全面:可以很容易做到保持原来文件的权限、时间、软硬链接等等,但是如果不加参数时系统在传输时默认会忽略文件属性、
         设备文件、软连接等等。
(3)便捷:无须特殊权限即可安装。
(4)快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。rsync 在传输数据的过程中可以实行压缩及解压
       缩操作,因此可以使用更少的带宽。
(5)安全:可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
(6)支持匿名传输,以方便进行网站镜象。

常用的参数为:


      -r          ##加斜杠为目录里的内容不包含目录,不加斜杠为包含目录在内的全部内容
      -p          ##同步文件的权限
      -o          ##同步文件所有人
      -g          ##同步文件所有组
      -l           ##同步软链接
      -D          ##同步设备文件
      -t           ##同步文件的时间戳

三.文件的归档

一个一个地传输文件必然会拖慢传输的速度,想要再提升传输速度就必须想办法把多个文件变为一个,这就要用到下面要

介绍的命令——tar

常用参数为:

           
      -c        ##创建归档文件
      -v        ##显示归档过程
      -f         ##指定归档文件名称
      -t         ##查看归档文件内容
      -r         ##添加文件到归档文件中
      -x        ##解档文件
      --get         ##解档指定文件
      --delete    ##删除归档文件中的指定文件
      -C        ##指定解档的目录
    

注意:归档不是压缩,这一点需要区分清楚,归档文件的后缀是.tar,压缩文件的后缀在下面将会介绍

四.文件的压缩

文件传输的速度不光取决于压缩的方式,也取决于为文件的大小,为了再次提高传输的速度,我们可以想办法

将文件变得再小一点,这就要用到压缩了。简单的说,就是经过压缩软件压缩的文件叫压缩文件,压缩的原理

是把文件的二进制代码压缩,把相邻的0,1代码减少,比如有000000,可以把它变成6个0 的写法60,来减少该文

件的空间。压缩文件的基本原理是查找文件内的重复字节,并建立一个相同字节的"词典"文件,并用一个代码表示,

比如在文件里有几处有一个相同的词"中华人民共和国"用一个代码“中国”来表示并写入"词典"文件,这样就可以达

到缩小文件的目的。

常用的压缩格式有:zip、gz、bz2、xz等

1.zip
           zip -r xxx.tar.zip      ##压缩文件

    unzip  xxx.tar.zip       ##解压文件

2.gz
      gzip  xxx.tar         ##压缩文件

      gunzip xxx.tar.gz      ##解压文件

   tar  zcf  xxx.tar.gz  /dir    ##在创建归当时直接压缩

      tar  zxf  xxx.tar.gz  /dir    ##解压文件并解档

这种格式是Linux下使用非常普遍的一种压缩方式,兼顾了压缩时间(耗费CPU)和压缩空间(压缩比率),其实这是对tar包进行gzip算法的压缩

3.bz2

      bzip2   xxx.tar        ##压缩文件

      bunzip2  xxx.tar.bz2      ##解压文件

      tar  jcf  xxx.tar.bz2   /dir      ##在归档时直接压缩

      tar  jxf  xxx.tar.bz2  -C   /dir  ##解压文件并解档

这种格式压缩比率比gz大,即压缩后占用更小的空间,使得压缩包看起来更小。
但同时在压缩,解压的过程却是非常耗费CPU时间。

4.xz
    
    xz xxx.tar          ##压缩文件
    unxz  xxx.tar.xz        ##解压文件
    tar Jcf  xxx.tar.xz   /dir     ##归档并压缩
 tar  Jxf  xxx.tar.xz    -C   /dir  ##解档并解压

xz压缩的文件更小,当然也同bz2一样,会耗费更多的CPU时间

猜你喜欢

转载自www.cnblogs.com/ChairmanYSL/p/9380854.html