目录
一、实验环境
实验中需要两台主机,并且保证这两台主机之间是可以通信的。
两台主机的IP分别为:
yang:172.25.254.217
workstation:172.25.254.117
用ssh命令在主机workstation中登录主机yang
二、scp命令
1、scp命令用法
scp 本地文件 远程主机用户@远程主机ip:远程主机目录 ##把本地文件传输到远程主机
scp 远程主机用户@远程主机ip:远程主机目录 本地文件 ##把远程主机上的文件传输到本地
scp -r 本地目录 远程主机用户@远程主机ip:远程主机目录 ##把本地目录传输到远程主机
scp -r 远程主机用户@远程主机ip:远程主机目录 本地目录 ##把远程主机上的目录传输到本地
scp -q ##不显示传输过程
2、实验
(1) scp 把本地文件传输到远程主机
scp test root@172.25.254.217:/mnt/
(2) scp 把远程主机中的文件传输到本地
scp root@172.25.254.217:/mnt/test_yang .
(3) scp -r 把本地目录传输到远程主机
scp -r testdir root@172.25.254.217:/mnt/
(4) scp -q 不显示传输过程
scp -q test root@172.25.254.217:/mnt/
三、rsync命令
1、rsync命令的用法
rsync 文件 远程用户@远程用户ip:远程主机目录
rsync 远程用户@远程用户ip:远程主机目录 文件路径
rsync
-r ##复制目录
-l ##复制链接
-p ##复制权限
-t ##复制时间戳
-o ##复制拥有者
-g ##复制拥有组
-D ##复制设备文件
2、实验
(1)实验环境
在yang中:
watch -n 1 ls -lR /mnt
在workstation中:
touch /mnt/file{1..5}
chmod 777 /mnt/*
useradd yang
chown yang.yang /mnt/*
ln -s /mnt/file1 /mnt/file
(2)rsync -r 同步目录目录
rsync -r /mnt root@172.25.254.217:/mnt
注意:
/mnt :表示同步目录本身和目录中的文件
/mnt/ :表示只同步目录中的文件
(3)rsync -l 同步链接链接
rsync -rl /mnt root@172.25.254.217:/mnt
(4)rsync -p 同步权限
rsync -rlp /mnt root@172.25.254.217:/mnt
(5)rsync -o 同步用户
rsync -rlpo /mnt root@172.25.254.217:/mnt
(6)rsync -g 同步用户组
rsync -rlpog /mnt root@172.25.254.217:/mnt
(7)rsync -t 同步时间
rsync -rlpogt /mnt root@172.25.254.217:/mnt
注意: -t 会同步文件的时间为创建文件时的时间,但是两个主机本身的时间差会导致同步后的时间显示不完全相同,有一定的时间差。(若两个主机的时间完全相同,则显示的时间戳相同)
(8)rsync -D 同步设备文件
rsync -rD /dev/pts root@172.25.254.217:/mnt
四、scp命令和rsync命令的对比
1、实验素材
(a)在workstation中建立文件
dd if=/dev/zero of=/mnt/file1 bs=1M count=10
dd if=/dev/zero of=/mnt/file2 bs=1M count=20
dd if=/dev/zero of=/mnt/file3 bs=1M count=30
## dd=截取,if=inputfile,of=outputfile,bs=blocksize,count=块的个数
(b)创建测试脚本
vim check_scp.sh
vim check_rsync.sh
注意: 脚本内容见下面图片。
2、分别运行两个脚本,比较scp命令和rsync命令运行时间
(a)scp命令运行时间
可以发现scp命令三次执行的sys时间几乎相同
(b)rsync命令运行时间
可以发现rsync命令三次执行的sys时间,后两次时间明显小于第一次
(3)对比
scp命令直接复制,不管文件是否已经存在;
rsync命令先做检测,如果文件已经存在,则检测后不再复制。
但scp也有它的优点:在执行时不占用磁盘,不增加磁盘负担;可以加密。
五、文件的归档压缩
1、文件归档
tar
c ##创建
f ##指定文件名称
x ##解档
t ##查看
r ##向归档文件中添加文件
--get ##解档指定文件
--delete ##删除指定文件
-C ##指定解档路径
(1)tar cf
tar cf etc.tar /etc/
注意: tar只归档,不压缩。
(2)tar tf
tar tf etc.tar
(3)tar rf
tar rf etc.tar test
(4)tar xf
tar xf etc.tar
(5)tar --get
tar f etc.tar --get test
(6)tar --delete
tar f etc.tar --delete test
(7)tar -C
tar xf etc.tar -C /mnt
2、文件压缩
压缩格式有四种:zip、gzip、bzip2、xz
压缩格式 | 压缩命令 | 解压命令 |
---|---|---|
zip | zip -r etc.tar.zip etc.tar | unzip etc.tar.zip |
gzip | gzip etc.tar | gunzip etc.tar.gz |
bzip2 | bzip2 etc.tar | bunzip2 etc.tar.bz2 |
xz | xz etc.tar | unxz etc.tar.xz |
用 du -sh 命令可以分别看出归档文件的大小以及不同压缩文件的大小,可以发现压缩能力:zip < gzip < bzip2 < xz
3、tar+压缩/解压
tar+压缩/解压只支持三种格式:gzip、bzip2、xz
压缩格式 | 压缩 | 解压 |
---|---|---|
gzip | tar zcf etc.tar.gz /etc | tar zxf etc.tar.gz |
bzip2 | tar jcf etc.tar.bz2 /etc | tar jxf etc.tar.bz2 |
xz | tar Jcf etc.tar.xz /etc | tar Jxf etc.tar.xz |
(1)tar+压缩
(2)tar+解压