linux的文件传输和优化

1.scp命令
实验环境:真机ip:172.25.254.75,虚拟机desktop:172.25.254.95
(1)上传
scp 本地文件 远程主机用户名@远程主机ip:远程主机目录

a.上传文件file到真机里root用户下/mnt目录中。
linux的文件传输和优化
linux的文件传输和优化
b.上传目录westos到真机里root用户下/mnt目录中。
linux的文件传输和优化linux的文件传输和优化
(2)下载
scp 远程主机用户名@远程主机ip:远程主机目录 本地目录

a.下载真机里面/mnt/newfile文件到虚拟机desktop中的/mnt目录下

linux的文件传输和优化
linux的文件传输和优化
b.下载真机里面/mnt/newdir文件到虚拟机desktop中的/mnt目录下

linux的文件传输和优化
linux的文件传输和优化
注意:当传输的文件为目录时,要加参数-r。

2.rsync命令

rsync用法和scp用法类似,并且传输速度比scp快,但是rsyns在传输过程中会忽略很多细节,比如软连接,权限,所有者,所有组,以及时间等。

(1)下载远程主机desktop的/etc到真机的/mnt 目录下。
linux的文件传输和优化
(2)rsync参数介绍

参数 功能
-r 复制目录
-l 传输过程中不忽略链接
-o 不忽略用户
-g 不忽略组
-t 不忽略时间戳
-p 不忽略权限
-D 可以同步设备文件

同样使用上面的命令,可以不忽略任何信息的下载过来。
linux的文件传输和优化

3.scp和rsync的区别

scp是相当于复制,粘铁,如果有的话是覆盖,比较耗时间。rsync是复制,如果有重复的文件,会直接跳过,scp是把文件全部复制过去,当文件修改后还是把所有文件复制过去,rsync 第一次是把所有文件同步过去,当文件修改后,只把修改的文件同步过去。

在进行对比两个命令之前先设置免密传输。在desktop的shell中输入以下命令:ssh-******,
ssh-copy-id -i id_rsa.pub [email protected]。这样在desktop上给真机传输文件时就不需要密码登录了。

a.使用scp命令。

linux的文件传输和优化
在忽略系统负载等原因后,3次传输的时间一样。

b.使用rsync
linux的文件传输和优化
可以发现只有在第一次在传输时,真机是没有文件的,因此时间较长,到第2,3次只是一个检测的过程,不做复制,因此时间较短。

4.打包

tar命令参数

参数 功能
-c 建立一个压缩文件的参数指令
-x 解开一个压缩文件的参数指令
-t 查看打包文件里面的文件
-v 压缩过程中显示文件
-f 指定打包文件名称
- -deltete 删除打包里面的文件
- -get 拿出打包里面的文件

将/usr/bin打包成bin.tar
linux的文件传输和优化
添加file文件到bin.tar的包里面
linux的文件传输和优化
取出包里面的文件
linux的文件传输和优化

解包到默认的路径
linux的文件传输和优化
解包到指定的路径
linux的文件传输和优化
5.压缩

打包是不改变文件大小,而压缩可以改变文件大小。
linux的文件传输和优化

压缩的格式有:zip,gz,bzip2,xz

(1)zip格式的压缩和解压
压缩:
zip -r bin.tar.zip bin.tar
解压:
unzip bin.tar.zip
linux的文件传输和优化
(2)gz格式的压缩和解压
压缩:
gzip bin.tar
解压:
gunzip bin.tar.gz
linux的文件传输和优化
(3)bizp2格式的压缩和解压
压缩:
bzip2 bin.tar
解压:
bunzip2 bin.tar.bz2
linux的文件传输和优化
(4)xz格式的压缩和解压
压缩:
xz bin.tar
解压:
unxz bin.tar.xz
linux的文件传输和优化
6.打包压缩
打包压缩一步完成
(1)gz格式的压缩和解压
压缩:
tar zcf etc.tar.gz /etc
解压:
tar zxf etc.tar.gz
linux的文件传输和优化

(2)bz2格式的压缩和解压
压缩:
tar jcf etc.tar.ba2 /etc
解压:
tar jxf etc.bar.bz2

linux的文件传输和优化
(3)xz格式的压缩和解压
压缩:
xz Jcf etc.tar.xz /etc
解压:
xz Jxf etc.tar.xz

linux的文件传输和优化