scp 之文件的上传和下载
scp file user@ip:/dir 相当于上传(将自己主机上面的文件复制到远程主机上面)
scp user@ip:/file dir 相当于下载(将远程主机上面的文件复制到自己的主机上面)
(1)将server端/mnt/ 下的单个文件westos1上传至客户端的/mnt目录下
(2)上传目录 scp -r
(3)将远程主机/mnt 目录下载至本地主机
远程同步命令:rsync
rsync(远程同步命令拷贝文件更快,rsync命令在linux里面好用,相当于远程镜像)
rsync 远程同步命令,速度快,但是会默认忽视文件属性、链接文件、设备文件
/mnt 与 /mnt/的区别在于
/mnt 传输mnt这个目录以及mnt下的文件
/mnt/ 传输mnt这个目录下的文件
-r 同步目录
-p 同步权限
-o 同步文件所有人
-g 同步文件所有组
-l 同步链接
-D 同步设备文件
-t 同步文件时间戳
(1)准备工作:
在客户端主机/mnt/ 下新建5个文件 改变所有人和所有组为student 并修改文件为满权限 并且为westos1文件创建一个软链接
(2) 默认传输
[root@client mnt]# rsync -r /mnt/ root@172.25.254.200:/mnt/
root@172.25.254.200’s password:
skipping non-regular file “westos”
[root@client mnt]#
[root@server mnt]# ls
westos1 westos2 westos3 westos4 westos5
[root@server mnt]#
忽略了文件的链接和属性
(3)/mnt 传输mnt这个目录以及mnt下的文件
(4) 同步软链接
[root@client mnt]# rsync -lr /mnt/ root@172.25.254.200:/mnt/
root@172.25.254.200’s password:
[root@client mnt]#
(5) 同步权限
[root@client mnt]# rsync -plr /mnt/ root@172.25.254.200:/mnt/
root@172.25.254.200’s password:
[root@client mnt]#
(6) 同步用户
[root@client mnt]# rsync -oplr /mnt/ root@172.25.254.200:/mnt/
root@172.25.254.200’s password:
[root@client mnt]#
(7) 同步用户组
[root@client mnt]# rsync -ogplr /mnt/ root@172.25.254.200:/mnt/
root@172.25.254.200’s password:
[root@client mnt]#
(8) 同步时间
[root@client mnt]# rsync -ogptlr /mnt/ root@172.25.254.200:/mnt/
root@172.25.254.200’s password:
[root@client mnt]#
(9)同步设备文件
[root@client mnt]# rsync -rD /dev/pts root@172.25.254.200:/mnt/
root@172.25.254.200’s password:
[root@client mnt]#
scp和rsync的区别
scp是相当于复制,黏贴,如果有的话是覆盖,比较耗时间,不智能。
rsync是复制,如果有重复的文件,会直接跳过,而且他自己的算法优化。
scp是把文件全部复制过去,当文件修改后还是把所有文件复制过去,rsync 第一次是把所有文件同步过去,当文件修改后,只把修改的文件同步过去。
文件归档
归档是把多个文件变成一个文件,也称将多个文件打包成一个文件
归档的目的:归档打包是为了文件在主机之间传输的更快
注意:
传输速度快不快取决于文件大小,并不是看文件数量的多少
打包不是压缩,文件大小并没有改变
tar 归档文件命令
tar命令后面的常用参数如下:
c 创建文档 (也叫创建一个包),必须加
f 指定归档文件名称(就是指明把这个东西放到哪里,否则没有意义)必须加上-f,否则会乱码
v 显示打包的过程(显示都打包了哪些文件)
x 解档(将包解开)
t 查看归档文件内容(查看包中的内容)
r 添加文件到归档中(将别的文件放到这个包中)
P 表示绝对路径
--get 解档指定文件(指定将哪个文件解出来)
--delete 删除归档中的指定文件(指定删除文档中的哪个文件)
-C 指定解档目录(指定将解出来的东西放到哪)
tar cf etc.tar /etc 表示将根目录下的etc这个目录打包成一个etc.tar 放到桌面
(1)[root@client Desktop]# tar cvf bin.tar /usr/bin 有过程显示
(2)[root@client Desktop]# tar cf bin.tar /usr/bin 无过程显示
(3) [root@client Desktop]# tar tf bin.tar 查看归档后的文件
(4) [root@client Desktop]# tar rf bin.tar westos 添加文件到归档
(5) [root@client Desktop]# tar f bin.tar --delete westos 删除添加进去的归档文件
(6) [root@client Desktop]# tar xf bin.tar 解档文件
(7) [root@client Desktop]# tar f bin.tar --get westos 指定解档文件
(8)[root@client Desktop]# tar Pcf mnt.tar /mnt/ 归档后保留原始路径
(9) [root@client Desktop]# tar xPf mnt.tar 原绝对路经解档
(10)[root@client Desktop]# tar xf mnt.tar -C /opt/ 指定路径解档
文件压缩
linux下的压缩格式一共有4种 : zip 压缩 、gz压缩、bz2压缩、xz压缩
压缩对于来说i大文件更明显,压缩时间长效果更明显
包括:先打包再压缩;打包的同时压缩,解压
每次压缩前后使用du -sh 目录名, 查看大小,进行对比
(1)zip 压缩:
格式:
zip -r xxx.tar.zip xxx.tar 将后面已经打包的文件压缩成前面的文件格式
unzip xxx.tar.zip 将这个压缩文件解压
(2) gz压缩:
格式:
gzip xxx.tar 直接压缩后面的打包文件
gunzip xxx.tar.gz 解压
(3) bz2压缩:
格式:
bzip2 xxx.tar 直接压缩打包的文件
bunzip2 xxx.tar.bz2 解压
(4) xz压缩:
格式:
xz xxx.tar 直接压缩打包文件
unxz xxx.tar.xz 解压
打包压缩一并完成 3种格式
gz bz2 xz
(1) [root@client Desktop]# tar zcf etc.tar.gz /etc
(2) [root@client Desktop]# tar jcf etc.tar.bz2 /etc
(3) [root@client Desktop]# tar Jcf etc.tar.xz /etc
打包压缩一并完成后解压缩 将c换成相应的x即可
[root@client Desktop]# tar zxf etc.tar.gz
[root@client Desktop]# tar jxf etc.tar.bz2
[root@client Desktop]# tar Jxf etc.tar.xz
备注:
通过对比4种压缩后的文件大小可知, zip 压缩 、gz压缩、bz2压缩、xz压缩的压缩效果越来越好。