Linux 基础学习篇12(不同系统之间的文件传输)
(一)压缩
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 [email protected]:/dir ##上传
scp [email protected]:/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 [email protected]:/dir
rsync -r ##同步目录
-l ##不忽略链接
-p ##不忽略文件权限
-t ##不忽文件时间戳
-g ##不忽文件所有组
-o ##不忽文件所有人
-D ##不忽略设备文件
实验:rsync的一些命令使用
同步目录:
不忽略链接:
不忽略文件权限,不忽略文件时间戳...:
每天知识点:
1.查看防火墙的状态,列出所有:
2.遇见比较长的命令或路径时使用tab键补齐,或pwd查看路径,再复制粘贴路径。
(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连接以及更多