1.环境配置
desktop虚拟机
server虚拟机
2.文件传输scp
scp file username@ip:/dir ##上传
scp username@ip:/dir/file /dir ##下载
上传
在desktop虚拟机/root/Desktop下创建文件file,上传到server虚拟机
查看server虚拟机,是否上传成功
在desktop虚拟机/root/Desktop下创建目录test,上传到server虚拟机
查看server虚拟机,是否上传成功
下载
在server虚拟机/root/Desktop下创建文件file,下载到desktop虚拟机
查看desktop虚拟机,是否下载成功
在server虚拟机/root/Desktop下创建目录test,下载到desktop虚拟机
查看desktop虚拟机,是否下载成功
3.文件传输rsync
rsync [参数] file username@ip:/dir
上传:
在desktop虚拟机/mnt下创建文件file{1…5},上传到server虚拟机/mnt下
查看是否上传成功
在desktop虚拟机/mnt下创建目录test{5…7},上传到server虚拟机
查看是否上传成功
下载:
在server虚拟机/mnt下创建文件test{d…f}
下载到desktop虚拟机
在server虚拟机/mnt下创建目录test{a…c}
下载到desktop虚拟机
rsync -r ##同步目录
-l ##不忽略链接
-p ##不忽略文件权限
-t ##不忽文件时间戳
-g ##不忽文件所有组
-o ##不忽文件所有人
在desktop虚拟机上创建file{1…3}文件,并给file{1…3}用户加满权限。
上传给server虚拟机后文件的权限g,o用户自动减去了w权限。
rsync -p 不忽略文件权限
上传给server虚拟机后文件权限没有变
rsync -t 不改变文件的时间戳
在desktop虚拟机上创建file{1…3}文件,上传给server虚拟机
文件的时间戳没有改变
rsync -o 不改变文件的文件所有人
在desktop虚拟机上创建file{1…4}文件,改变文件的所有人为student,上传给server虚拟机
存在问题:文件的所有人改变了
在desktop虚拟机上创建file{1…4}文件,改变文件的所有人为student,上传给server虚拟机。rsync -o 不改变文件的文件所有人
文件的所有人并没有改变
rsync -g 不改变文件的所有组
在desktop虚拟机上创建file{1…4}文件,改变文件的所属组为student,上传给server虚拟机。
文件的所属组没变
发送方创建文件file{1…4}
创建新用户tim.分配的uid=1002
把文件的所有人修改为tim
发送方把文件发送给接受方
当接受方无此用户只要占用这个uid=1002的用户就是这个文件的所有人。
scp 和 rsync 的区别
scp是相当于复制,黏贴,如果有的话是覆盖,比较耗时间,不智能。
rsync是复制,如果有重复的文件,会直接跳过,而且他自己的算法优化。
scp是把文件全部复制过去,当文件修改后还是把所有文件复制过去,rsync 第一次是把所有文件同步过去,当文件修改后,只把修改的文件同步过去。
4.文件归档
文件归档,就是把多个文件变成一个归档文件。
tar c ##创建
f ##指定归档文件名称
t ##显示归档文件中的内容
r ##向归档文件中添加文件
–get ##取出单个文件
–delete ##删除单个文件
x ##取出归档文件中的所有内容
-C ##指定解档目录
-z ##gz格式压缩
-j ##bz2格式压缩
-J ##xz格式压缩
把/bin/下文件打包到当前目录,名叫bin.tar
归档文件bin.tar中没有file文件
向归档文件bin.tar中添加文件file
归档文件bin.tar中成功添加file文件
删除bin.tar中的file文件
查看删除成功
取出bin.tar中的file文件
tar x ##取出归档文件中的所有内容
tar xf bin.tar -C /mnt/ ##解压到指定目录下
5.文件压缩
1.gz
gzip bin.tar ##压缩成gz格式
gunzip bin.tar.gz ##解压gz格式压缩包
2.bz2
bzip2 bin.tar ##压缩成bz2格式
bunzip2 bin.tar.bz2 ##解压bz2格式压缩包
3.xz
xz bin.tar ##压缩成xz格式
unxz bin.tar.xz ##解压xz格式压缩包
4.zip
zip -r bin.tar.zip bin.tar ##压缩成zip格式
unzip bin.tar.zip ##解压zip格式压缩包