scp与rsync
注意:
scp与rsync都是远程复制命令,区别是
scp会连同属性一块复制,文件都可以复制,速度慢,按照模板新建的过程
rsync是一种镜像复制,速度快,但并非所有文件都可以,可以的属性也会改变(若要保留属性需要加参数)
1.scp
[root@server Desktop]# touch /mnt/file
[root@server Desktop]# cd /mnt
[root@server mnt]# ls
file
[root@server mnt]# scp file root@172.25.254.102:/mnt/
root@172.25.254.102's password:
file 100% 0 0.0KB/s 00:00
[root@server mnt]# rm -fr *
将文件上传到root@172.25.254.102:/mnt 目录中
2.rsync
[root@server ~]rsync -r /etc root@172.25.254.102:/mnt
[root@desktop mnt]# ls
etc
[root@server ~]rsync -r /etc/ root@172.25.254.102:/mnt
[root@desktop mnt]# ls
abrt cupshelpers gnupg ld.so.conf oddjob resolv.conf sudoers.d
adjtime dbus-1 GREP_COLORS ld.so.conf.d oddjobd.conf rhsm sudo-ldap.conf
aliases dconf groff libaudit.conf oddjobd.conf.d rht sysconfig
aliases.db default group libibverbs.d openldap rpc sysctl.conf
alsa depmod.d group- libnl opt rpm sysctl.d
注意:
rsync 复制目录时 若写/mnt则只会复制目录本身,目录里的文件不会被复制,若写/mnt/则会复制目录里的文件。而scp无区别。
执行rsync -r /mnt/ root@172.25.254.102:/mnt/命令 (/mnt/下的文件有建立好的链接(ln -s /mnt/westos1 /mnt/file) 和文件)
文件可以复制过去(属性会改变),但链接不会复制过来,要复制过来链接需要加参数,若要文件属性不变也要加参数。
参数
-r 目录复制
-l 不忽略链接
-o 不忽略用户
-p 不忽略权限
-t 不忽略时间戳
-g 不忽略组
-D 不忽略I字符设备
文件的上传方截图
文件的接收方截图:
注意:不同参数下复制过去的文件属性的变化。
eg:
rsync -r /dev/pts root@172.25.254.102:/mnt/
字符设备不能复制过来,若要复制加参数D
tar 归档,打包
参数:
c | 创建 |
v | 显示过程 |
f | 指定归档后包的名称 |
t | 查看归档文件内容 |
r | 在包内添加文件 |
--get | 解档指定文件 |
--delete | 删除包内指定文件 |
-D | 指定解档目录 |
tar cf etc.tar /etc /mnt ##将/mnt /etc 目录打包到 etc.tar
tar tf etc.tar ##列表显示包内文件
tar rf etc.tar file ##追加file到包内
tar -f etc.tar --get file ##从包内取出file到当前目录,包内还有file
tar -f etc.tar --delete mnt ##删除包内的mnt目录,包内没有mnt目录
tar xf etc.yar ##取出包内所有文件到当前
tar xf etc.tar -C /mnt ##取出包内所有文件到指定的/mnt目录
压缩类型 gz xz bz2...
gz:
gzip etc.tar gz类型的压缩
du -sh etc.tar.gz 查看压缩后的文件大小
gunzip etc,tar.gz 解压
bz2:
bzip2 etc.tar bz2类型的压缩
du -sh etc.tar.bz2
bunzip2 etc.tar.bz2
xz:
xz etc.tar
du -sh etc.tar.xz
unxz etc.tar.xz
注意:这样的压缩命令会覆盖原文件,执行下图所示命令将不会u覆盖原文件。
打包压缩
zcf | gzip方式的压缩 |
jcf | bzip2方式的压缩 |
Jcf | xz方式的压缩 |
gz:
tar zcf etc.tar.gz /etc ##etc.tar.gz 指定压缩后的压缩文件名称(一帮哪种压缩类型就是哪种类型的后缀),/etc 将此目录放入包内
file etc.tar.gz ##查看类型(文件类型与后缀无关系)
mv etc.tar.gz etc.tar.exe ##重命名
file etc.tar.exe ##查看类型
tar zxf etc.tar.gz ##解压缩
bz2:
tar jcf etc.tar.bz2 /etc
file etc.tar.bz2
mv etc.tar.bz2 etc.tar.exe
file etc.tar.exe
tar jxf etc.tar.bz2
xz:
tar Jcf etc.tar.xz /etc
file etc.tar.xz
mv etc.tar.xz etc.tar.exe
file etc.tar.exe
tar Jxf etc.tar.xz
du -sh etc.tar.* 显示3种压缩文件的大小