实验环境:
需要两台主机且这两台主机是可以互相通信的
为避免来回输密码的麻烦,在两台主机之间建立密钥
ssh-keygen
ssh-copy-id -i id_rsa.pub [email protected]
一、 scp远程复制命令
- 上传
scp 本地文件 远程主机用户@远程主机IP:远程主机目录 - 下载
scp 远程主机用户@远程主机IP:远程主机目录 本地文件
-r : 复制目录
-q : 忽略传输过程中的信息
二、rsync远程同步命令
用rsync命令时会主动忽略链接文件,且不会复制相同的文件,所以传输速度会较快,其用法和scp大致相同。
- 上传
rsync 本地文件 远程主机用户@远程主机IP:远程主机目录 - 下载
rsync 远程主机用户@远程主机IP:远程主机目录 本地文件路径
-r 复制目录
-q 忽略传输过程中的信息
-a 全部文件
-C 对比相同文件
-l 复制链接
-p 复制权限
-t 复制时间戳
-g 复制组
-o 复制用户
-D 复制块设备
rsync -r /usr/bin [email protected]:/mnt/
可看出略过许多文件(skipping)
在rhel8中用watch -n 1 ls -lR /mnt/ 进行监控
rhel7中
[root@rhel7_1 mnt] touch file {1..5}
[root@rhel7_1 mnt] chown cao.cao file*
[root@rhel7_1 mnt] chmod 777 /mnt/*
[root@rhel7_1 mnt] ln -s /mnt/file1 /mnt/file #创建连接文件
环境配置好后执行命令:
-r /mnt/:
-r /mnt:
-rl 复制链接:
-p 复制权限:
-og 复制用户组:
-t 复制时间戳:
-D 复制块设备:
三、scp和rsync的区别
传输速率: scp传输速率比rsync慢
查询相同文件: rsync在传输时会对目标目录进行查询是否有与本次传输内容相同的文件,有则这部分不去传输。
可以看出scp进行传输时三次传输用时几乎相同
rsync进行传输时第二三次用时与第一次差距较大,证明有相同文件时不传输。
四、文件归档 tar打包
tar打包
c 创立文件 v 显示过程 f 文件名
tar cf bin.tar /usr/bin
打包文件查看:
1.鼠标点击 2.命令行命令
tar tf bin.tar
给已经归档打包好的文件再添加新的文件:
1.鼠标拖动 2.
tar rf bin.tar filename
删除文件:
tar f bin.tar --delete file1
打包文件的解档:
打包时由于去掉了 / 符号,所以在解包时不会放至源目录
tar xf bin.tar
使用 tar -Pcf bin.tar /usr/bin 命令
取出单一文件:
tar f bin.tar --get file1
五、文件压缩
1.zip
使用 z i p 压缩文件会产生新的文件
zip 新文件名 打包文件名 ##压缩
unzip 压缩文件名 ##解压
2.gz
gzip 打包文件名
gunzip 文件名
3.bzip2
bzip2 打包文件名
bunzip2 文件名
4.xz
xz 打包文件名
unxz 文件名
压缩力度 zip < gz < bzip2 < xz
六、打包压缩一步完成
man tar
可以看出并没有zip功能的选项只包含 gz 、bzip2 、xz 、
确实分别生成了相应的文件
文件的解档:
tar zxf etc.tar.gz
tar jxf etc.tar.bz2
tar Jxf etc.tar.xf