Linux系统远程文件传输,文件归档及压缩。scp,rsync,tar,zip,xz,bz2,gz
linux中不同主机之间文件的传输
scp 文件的绝对路径 用户名@IP:要传送到的目录的绝对路径 上传
scp 用户名@IP:要下载的文件的绝对路径 要下载到本机目录的绝对路径 下载
注:scp在进行文件传输时,传送后若与当前系统保留权限不符,将会自动对权限进行降低。
对于文件较多文件“scp”命令就显得比较慢了,这时候就需要“rsync”命令,对文件进行同步
rsync 远程数据同步,比scp命令的速度快的多
rsync+参数+文件绝对路径 用户名@IP:要传送到的目录的绝对路径
rsync -r file|dir root@ip -r同步目录
-p 同步文件权限
-o 同步文件所有人
-g 同步文件组
-t 同步文件时间
-l 同步链接
-D 同步设备文件
例:以/mnt为例
rsync -r /mnt/ root@172.25.254.139:/mnt mnt后有个“/”同步mnt里的文件
rsync -r /mnt root@172.25.254.139:/mnt 去掉/mnt后的“/”,同步/mnt目录
rsync -ro /mnt/ root@172.25.254.139:/mnt 同步文件所有人
rsync -rog /mnt/ root@172.25.254.139:/mnt 同步文件所有人及组
rsync -rogt /mnt/ root@172.25.254.139:/mnt 同步文件所有人、组和时间戳
rsync -rpogt /mnt/ root@172.25.254.139:/mnt 同步文件所有人‘组、时间戳和权限
rsync -rl /mnt/ root@172.25.254.139:/mnt 同步链接
rsync -rD /dev/pts root@172.25.254.139:/mnt 同步设备文件
传输文件过大也会导致传输速率变慢,这时候就需要文件归档和压缩
linux中的文件压缩,和windows中的类似,分为zip,gz,bz2,xz
zip
zip -r 文件名.zip 文件名 压缩成zip格式
unzip 文件名.zip 解压zip格式压缩包
gz
gzip 文件名 压缩成gz格式
gunzip 文件名.gz 解压gz格式压缩包
bz2
bzip2 文件名 压缩成bz2格式
bunzip2 文件名.bz2 解压bz2格式压缩包
xz
xz 文件名 压缩成xz格式
unxz 文件名 解压xz格式压缩包
注:文件压缩中zip格式压缩后文件大小最大,xz最小。相应的xz需要的时间也最长。所以在压缩的时候需要考虑以下压缩大小与时间的需求。
文件压缩是将单一文件或者目录进行压缩,而我们有时候要对多个目录或文件进行操作,这时候就需要"归档"了。
tar 文件归档,所谓归档就是将多个文件归档成为一个文件,但是文件大小不会发生变化
tar -c 创建
-f 指定归档文件名称
-t 显示归档文件中的内容
-r 向归档文件中添加文件
--get 取出单个文件
--delete 删除单个文件
x 取出归档文件中的所有内容
-C 指定解档目录
还可以将归档与文件压缩结合起来:
-z gz格式压缩
-j bz2格式压缩
-J xz格式压缩
如对/etc/目录进行操作
tar -cf etc.tar /etc 将/etc/归档
tar -cf /root/Desktop/etc.tar /etc/ 将/etc/归档到指定位置
touch linux 建立一个新文件
tar -rf etc.tar linux 将新文件归档到etc.tar中
tar -f etc.tar --get linux 从etc.tar中解档出指定文件
tar -zcf etc.tar.gz /etc 把文件归档为tar并压缩成gz
tar -zxf etc.tar.gz 解压并解档gz格式压缩包
tar -jcf etc.tar.bz2 /etc 把文件归档为tar并压缩成bz2
tar -jxf etc.tar.bz2 解压并解档bz2格式压缩包
tar -Jcf etc.tar.xz /etc 把文件归档为tar并压缩成zx
tar -Jxf etc.tar.xz 解压并解档xz格式压缩包