一、Linux文件在系统中的传输
- scp的上传和下载
上传:scp file user@ip:/dir
下载:scp user@ip:/file dir
详细截图可在文章:Linux系统中ssh与sshd服务 中看到,此处不再重复 - rsync传输
特点:远程同步,速度快,默认会忽略文件属性,链接文件,设备文件
为了验证各参数功能,我们将做以下实例:
使用两台虚拟机:
主机:node1——>ip:172.25.254.100
主机:node2——>ip:172.25.254.200
更改主机名称的方法:
hostnamectl set-hostname node1.example.com
logout
退出后再连接则主机名字更改成功
ssh root@172.25.254.100
具体操作截图在文章:Linux系统中ssh与sshd服务 中看到
rsync -r 同步目录
rsync -p 同步权限
rsync -o 同步文件所有人
rsync -g 同步文件所有组
rsync -l 同步链接
rsync -t 同步文件时间戳
rsync -D 同步设备文件
/dev/pts是远程登录后创建的控制台设备文件所在的目录
不加-D参数,会显示跳过设备文件
注意:
(1)scp命令中,目录后加不加/ 没有区别,因为是一个新建的过程
(2)rsync命令中,目录后加不加/ 有区别
/etc 传输目录(目录里的还是原来内容)
/etc/ 传输目录里的内容
(3)rsync和scp区别
- rsync:可以镜像保存整个目录树和文件系统,文件传输效率高
scp:使用加密传输,安全性高 - rsync:只对差异文件做更新,可以做增量或全量备份
scp:只能做全量备份
简单点说:就是rsync只传修改了的部分,如果改动较小就不需要全部传输,所以rsync备份速度较快,默认情况下,rsync通过比较文件的最后修改时间(atime)和文件的大小(size)来确认哪些文件需要被同步过去
二、文件的打包
- 打包:表示将目录中的所有内容,捆绑在一起(归档),方便传输,打包后的文件会变大,不一定回变小
- 打包的命令:
- tar (不产生后缀名,所有创建的时候推荐命名加上后缀名.tar)
功能:将一个或多个文件打包成一个文件,源目录还是存在的 - 常用参数: (加不加-都可以)
-c 创建(必选项),表示create一个打包文件
-v 显示过程 (可选项)
-f 指定归档文件名称(必选项) 该参数必须放在所有参数的后面,参数后面跟住新的文件名
-x 解档(原打包文件的目录还存在)
-t 查看归档文件内容
-r 添加文件(已存在的)到归档中
- -get 解档指定单个文件
- -delete 删除归档中的指定文件
-C 将文件归档到指定目录中 (用在想在特定的目录进行解压缩)
-z gz格式压缩|解压文件
-j bz2格式压缩|解压文件
-J xz格式压缩|解压文件
三、文件的压缩命令及其解压
- 概念:
压缩: 将文件或目录进行压强,使文件或目录大小变小
解压:压缩的反过程将压缩过的文件恢复到压缩之前的样子 - 四种压缩命令及其解压方式:
-
zip
注意:该命令不自动产生后缀名,是用得最多的压缩命令
zip有两个优点:
(1)保留了源文件
(2)可以压缩目录
压缩目录时,使用-r参数,如果不加-r,压缩目录不会报错,但是压缩比永远都为0%,即压缩后大小和源目录一样
压缩:
du -sh 查看文件的大小
经过zip压缩,文件大小变小
解压: unzip
不管是对文件,还是对目录,都不需要加 -r
在生成压缩文件时,原归档文件不会自动删除,所以解压的时候会询问是否覆盖原归档文件,所以在压缩后可将原归档文件删除,则不会提示覆盖信息
以下是删除原归档文件后的解压操作截图:
(2)gzip
注意:
1)使用gzip的时候,后缀gz会自动填充
gzip newfile就表示压缩newfile文件
使用tar的时候,后缀名最好为tar
使用zip的时候,后缀名最好为zip
2)它只能压缩文件,不能压缩目录,不保留源文件
压缩:
解压: gunzip
(3)bzip2
注意:不能压缩目录
bzip2和gzip非常相似,只是加了一个选项
-k(表示keep,保留),可以保留源文件
不加-k,是跟gzip完全一样的
压缩及解压
注意: (2)(3)方式在生成压缩文件时,不保留源文件
(4)xz
压缩:等候时间较长,因为压缩程度高
解压:
- 打包压缩同时进行
以上的归档和压缩都是独立操作的以上的归档和压缩都是独立操作的
以下是归档和压缩同时进行的相关命令:
- 既打包也压缩(三种方法)
1)tar zcf etc.tar.gz /etc
2)tar jcf etc.tar.bz2 /etc
3)tar Jcf etc.tar.xz /etc - 解压缩
1)tar zxf etc.tar.gz
2)tar jxf etc.tar.bz2
3)tar Jxf etc.tar.xz
注意:用file etc.tar.gz 可查看压缩包类型是gizp
即使mv etc.tar.gz etc.tar.exe 改变了文件名
但是用file 查看后的文件类型不会改变