Linux之文件的远程传输、归档、压缩及解压
一、系统中的文件传输
scp /dir/file [email protected]:/dir #上传
服务端文件 客户端:位置
测试:在服务端把服务端 root 用户桌面的文件上传到服务端的 mnt 目录里
服务端:
客户端:
scp [email protected]:/dir/file /dir #下载
服务端:文件 客户端位置
测试:在客户端把服务端的 root 用户桌面的文件下载到客户端目录 mnt 里
rsync [参数] file [email protected]:/dir # rsync 远程数据同步,比 scp命令的速度快
文件 客户端:位置
-r #同步目录
-l #不忽略链接
-p #不忽略文件权限,即同步文件权限
-t #不忽文件时间戳
-g #不忽文件所有组
-o #不忽文件所有人
-D #不忽略设备文件测试:在服务端桌面创建文件,并把文件归属到 student 用户和组,改变文件权限为777
同步服务端桌面文件到客户端:
不忽略链接同步:
同步文件权限及时间戳:
同步不忽略所有人所有组:
-r 同步设备文件:
同步不忽略设备文件:
注意:rsync -r /mnt/ [email protected] #当mnt目录写法为/mnt/表示同步目录中的内容不包括mnt目录本身,当写法为/mnt表示同步目录中包含mnt目录本身。
当传输文件过多时,传输的很慢,这时可以把文件归档、压缩。
二、文件归档
1、文件归档:就是把多个文件变成一个归档文件(把文件打包成箱)
2、tar 参数
例:tar cf etc.tar /etc/
归档文件创建 创建文件名称 所要归档的文件名
c #创建
f #指定归档文件名称
t #显示归档文件中的内容
r #向归档文件中添加文件
--get #取出单个文件
--delete #删除单个文件
x #取出归档文件中的所有内容
-C #指定解档目录的位置
-z #gz格式压缩
-j #bz2格式压缩
-J #xz格式压缩
xf #将归档文件解开
三、压缩及解压(按压缩强度从小到大)
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并压缩成zx
tar Jxf etc.tar.xz #解压并解档xz格式压缩包
测试:
du -sh #查看文件大小
测试:查看文件 etc.tar 的大小