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

Linux 基础学习篇12(不同系统之间的文件传输)

2017-10-20 15:37 302 查看
(一)压缩

      linux系统下面有相当多的压缩指令命令,这些压缩指令命令可以让我们方便地从网络上下载大型的文件
1.gz

gzip etc.tar        ##压缩成gz格式

gunzip  etc.tar.gz    ##解压gz格式压缩包

tar zcf etc.tar.gz /etc    ##把文件归档为tar并压缩成gz

tar zxf etc.tar.gz    ##解压并解档gz格式压缩包

2.bz2

bzip2 etc.tar        ##压缩成bz2格式

bunzip2 etc.tar.bz2    ##解压bz2格式压缩包

tar jcf etc.tar.bz2 /etc    ##把文件归档为tar并压缩成bz2

tar jxf etc.tar.bz2    ##解压并解档bz2格式压缩包

3.xz

xz etc.tar             ##压缩成xz格式

unxz  etc.tar.xz    ##解压xz格式压缩包

tar Jcf etc.tar.xz /etc    ##把文件归档为tar并压缩成zx

tar Jxf etc.tar.xz    ##解压并解档xz格式压缩包

4.zip

zip -r etc.tar.zip etc.tar    ##压缩成zip格式

unzip etc.tar.zip            ##解压zip格式压缩包

    实验:一些压缩,解压缩的指令的使用:

   






 



(二)系统中的文件传输
scp    file     username@ip:/dir        ##上传

scp    username@ip:/dir/file  /dir    ##下载

实验一如下:

    (1)上传:client端上传文件到server端

          实验准备:分别设置client端(172.25.79.10)与server端(172.25.79.11)的IP地址:







再提醒一次,改完配置文件后一定要重启网络服务!

连接server端,须输入密码:



文件上传完毕。

实验二:但是我们当我们传输 /etc/ 目录时,有很多文件依次传输。如下:

 


文件一个一个传输:



这就费了很大时间,可不可以将它打包为一个大文件呢?接下来就用到打包命令了。

    1.文件归档,就是把多个文件变成一个归档文件。

    2.常用打包命令tar

          tar     c        ##创建

                   f        ##指定归档文件名称

                   t        ##显示归档文件中的内容

                   r        ##向归档文件中添加文件

                   --get        ##取出单个文件

                   --delete    ##删除单个文件

                   x        ##取出归档文件中的所有内容

                  -C        ##指定解档目录

                  -z        ##gz格式压缩

                  -j        ##bz2格式压缩

                  -J        ##xz格式压缩

实验:我们先来看看/etc/原来大小:



 
打包后,首先文件容量明显变小了:



然后打包后上传,发现速度有了极大的提升!



实验:文件下载(server端从客户端上下载文件)



实验:向归档文件中添加文件,取出单个文件以及删除单个文件

    添加文件:



    

      删除单个文件:



    

    取出单个文件:



    
取出归档文件中的所有内容(解包):



   实验:在我们打包时,还可以同时压缩。

   使用bz2格式压缩:



  
使用xz格式压缩:



总结:上述打包压缩命令,都是同样的原理,但是下面的命令可以使文件传输速度更快.

     rsync [参数]    file    username@ip:/dir

     rsync    -r    ##同步目录

                 -l    ##不忽略链接

                 -p    ##不忽略文件权限

                 -t    ##不忽文件时间戳

                -g    ##不忽文件所有组

                -o    ##不忽文件所有人

                -D    ##不忽略设备文件

  实验:rsync的一些命令使用

     同步目录:



    不忽略链接:





       不忽略文件权限,不忽略文件时间戳...:



 


每天知识点:

       1.查看防火墙的状态,列出所有:



      2.遇见比较长的命令或路径时使用tab键补齐,或pwd查看路径,再复制粘贴路径。

        3.linux目录配置标准FHS针对目录树架构定义出三层目录下应该放置什么数据:

            (1)  /(root根目录):与开机系统有关

            (2)/var/:下存放系统数据,如果说/user是安装占用较大硬盘容量的目录,那么/var/就是系统运行后才会逐渐占用硬盘容量的目录。包括常态性变动的文件,包括缓存,登陆文件,以及某些软件运行产生的文件,如程序文件,还有MySQL数据库的文件。

            (3) /var:与系统运作过程有关。

      4./etc 系统主要配置文件几乎都放在这个目录中。FHS建议不要放置可执行文件在这个目录中。

      5.ping命令:用于检测主机。执行ping命令会使用ICMP传输协议,发出要求回应的信息。若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机工作正常。

       ping -c  2 ###指定接受包的个数,收到两次包后自动退出

       ping -i   3  -s  ##设置发送包的大小 -t  ##设置TTL为255

      6.traceroute命令:

              用于显示数据包到主机之间的路径,它可以让你追踪网络数据包的路由途径,预设数据包大小为40Bytes,用户可以另行设定。   

      (1)命令格式:
          traceroute[参数][主机]

      (2)具体参数格式:traceroute [-dFlnrvx][-f<存活数值>][-g<网关>...][-i<网络界面>][-m<存活数值>][-p<通信端口>][-s<来源地址>][-t<服务类型>][-w<超时秒数>][主机名称或IP地址][数据包大小]

      (3)命令参数:

   -d 使用Socket层级的排错功能。

   -f 设置第一个检测数据包的存活数值TTL的大小。

   -F 设置勿离断位。

   -g 设置来源路由网关,最多可设置8个。

   -i 使用指定的网络界面送出数据包。

   -I 使用ICMP回应取代UDP资料信息。

   -m 设置检测数据包的最大存活数值TTL的大小。

   -n 直接使用IP地址而非主机名称。

   -p 设置UDP传输协议的通信端口。

   -r 忽略普通的Routing Table,直接将数据包送到远端主机上。

   -s 设置本地主机送出数据包的IP地址。

   -t 设置检测数据包的TOS数值。

   -v 详细显示指令的执行过程。

   -w 设置等待远端主机回报的时间。

   -x 开启或关闭数据包的正确性检验。

     7.Linux网络状态工具ss命令:

             ss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计. 它比其他工具展示等多tcp和state信息. 它是一个非常实用、快速、有效的跟踪IP连接和sockets的新工具.SS命令可以提供如下信息:

     (1)所有的TCP sockets

     (2)所有的UDP sockets

     (3)所有ssh/ftp/ttp/https持久连接

     (4)所有连接到Xserver的本地进程

     (5)使用state(例如:connected, synchronized, SYN-RECV, SYN-SENT,TIME-WAIT)、地址、端口过滤

     (6)所有的state FIN-WAIT-1 tcpsocket连接以及更多

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: