一、文件 在系统中的传输(scp和rsync命令)
一. scp与rsync的区别
- scp传输速度较慢,传输过程是一种数据的重新建立,连同属性一块建立。
- rsync传输速度快,传输过程是数据的同步,是一种镜像复制的过程,并非所有文件都可以数据同步,可以数据同步的文件,镜像过去也会改变属性,若要不改变属性需要加命令。
二. rsync 传输
说明:rsync是一种镜像复制的过程,速度快,但默认会忽略文件属性。
rsync -r 同步目录
rsync -p 同步权限
rsync -o 同步文件所有人
rsync -g 同步文件所有组
rsync -l 同步链接
rsync -t 同步文件时间戳
rsync -D 同步设备文件
实验如下:
第一:先建立环境(两台虚拟机)
主机:desktop------ ip 172.25.254.150
主机: server-------- ip 172.25.254.250
- 在server主机中先cd /mnt 进入mnt 后touch westos{1…5}建立文件,并查看ll
- chown student.student * 修改文件所有人和所有组都为student。
- chmod 777 westos* 更改wenstos所有文件的权限为满权限
- ln -s /mnt/westos1 /mnt/file 建立file链接
实验: - rsync -r /mnt/ [email protected]:/mnt/ 数据同步/mnt下的
文件到[email protected] 用户的/mnt/下。
在[email protected]用户查看ll
- rsync -rp /mnt/ [email protected]:/mnt/ 数据同步/mnt下的
文件到[email protected] 用户的/mnt/下,并且同步权限。
- rsync -rpo /mnt/ [email protected]:/mnt/ 数据同步/mnt下的
文件到[email protected] 用户的/mnt/下,并且同步权限和所有人。
- rsync -rpog /mnt/ [email protected]:/mnt/ 数据同步/mnt下的
文件到[email protected] 用户的/mnt/下,并且同步权限和所有人和所有组。
- rsync -rpogt /mnt/ [email protected]:/mnt/ 数据同步/mnt下的
文件到[email protected] 用户的/mnt/下,并且同步权限和所有人和所有组和时间。
- rsync -rpogtl /mnt/ [email protected]:/mnt/ 数据同步/mnt下的
文件到[email protected] 用户的/mnt/下,并且同步权限和所有人和所有组和时间和链接。
在/mnt下查看ll
- 查看/dev/pts字符设备文件
执行 rsync -r /dev/pts [email protected]:/mnt/命令时因为没有加-D会直接跳过,不会进行传输。
rsync -Dr /dev/pts/ [email protected]:/mnt/ 数据同步/dev/pts/下的
文件到[email protected] 用户的/mnt/下。加-D就会传输成功
三、文件归档,就是把多个文件变成一个归档文件
-
tar 命令
tar -c 创建
tar -v 显示过程
tar -f 指定归档文件名称
tar -x 解档(取出归档文件中的所有内容)
tar -t 查看归档文件内容
tar -r 添加文件到归档文件中
tar --get 解档指定文件
tar --delete 删除归档中的指定文件
tar -C 指定解档目录 -
tar cf etc.tar /etc /mnt 建立一个归档文件etc.tar将/etc和/mnt装在归档文件中。(-c 创建)(-f指定归档文件名称)
tar tf etc.tar 查看归档文件内容 (t查看内容)
tar -rf etc.tar file 添加file文件到归档文件中(-r添加)
tar -xf etc.tar 解档(取出归档文件的所有内容)(-x 解档)
tar -f etc.tar --get file 解档file(–get 解档指定文件)
tar -f etc.tar --delete mnt 删除归档文件中的mnt (–delete 删除归档文件中的指定文件)
tar -xf etc.tar -C /mnt/ 将归档文件中的所有文件全部解档到/mnt目录下(-C 指定解档目录)
四、文件压缩的四种格式以及解压:
- zip 压缩
zip -r etc.tar.zip etc.tar 压缩成zip格式
unzip etc.tar.zip 解压zip格式压缩包
- gz 压缩
gzip etc.tar 压缩成gz格式
gunzip etc.tar.gz 解压gz格式压缩包
tar zcf etc.tar.gz /etc 把文件归档为tar并压缩成gz格式
tar zxf etc.tar.gz 解压并解档gz格式压缩包
- bz2 压缩
bzip2 etc.tar 压缩成bz2格式
bunzip2 etc.tar.bz2 解压bz2格式压缩包
tar jcf etc.tar.bz2 /etc 把文件归档为tar并压缩成bz2格式
tar jxf etc.tar.bz2 解压并解档bz2格式压缩包
- xz 压缩
xz etc.tar 压缩成xz格式
unxz etc.tar.xz 解压xz格式压缩包
tar Jcf etc.tar.xz /etc 把文件归档为tar并压缩成xz格式
tar Jxf etc.tar.xz 解压并解档xz格式压缩包
- 建立并压缩
建立并压缩g-------->gz------> tar zcf etc.tar.gz /etc
建立并压缩j-------->bz2------> tar jcf etc.tar.bz2 /etc
建立并压缩J-------->xz-------> tar Jcf etc.tar.xz /etc
du -sh etc.tar 查看压缩大小
解压:
tar zxf etc.tar.gz 解压 gz
tar jxf etc.tar.bz2 解压 bz2
tar Jxf etc.tar.xz解压 xz
- file *