归档和传输文件

归档和传输文件

管理压缩的tar存档

打包和压缩文件

打包
  • 也可以称为存档,将多个文档打包成一个文件进行存档。这个打包起来的文件是 一个结构化的文件数据序列,有自己的索引,索引到里面的不同文件中
存档
  • 压缩文件的本质是通过算法以一种更节省存储空间的方式来存储数据
命令
  • tar -cvf ~/etc.tar etc /etc 目录打包成 etc.tar 存储在当前用户家目录下
  • tar -cvf ~/test.tar 1.txt 2.txt 3.txt 将当前目录下的 1.txt,2.txt,3.txt 打包成 test.tar 存储在当前用户家目录下
  • dug-ms test.tar 查看文件总大小,兆为单位注意事项
  1. -c 表示创建;-v 显示详细过程;-f 指定文件,必须在选项的最后一位
  2. 用户需要具有读取权限,才能够通过 tar 命令进行打包,否则将被跳过
  3. 在归档过程中,tar 会存储文件的所有权及权限
解压缩

提取test.tar 存档文件

mkdir test/backup
wcd test/backup
tar -xvf ~/test.tar   #将文件提取到当前目录

#注意事项
① 通常会提取到空目录下,以确保不会覆盖现有同名文件。
② 使用 root 用户提取将保留的所有权和权限;普通用户提取将归该用户所有。
③ 默认提取的权限将减去 umask,可以用 -p 选项保留权限
压缩算法
  • 在这里插入图片描述

  • 注意事项:

    • ① 压缩的程度与数据类型有关,不能单纯考虑压缩算法
    • ② 压缩比越高的压缩算法,压缩时间越长,兼容性越差
实例
  • 以不同的压缩算法打包并压缩 /etc 进行归档
tar -cvzf etc.gz /etc #使用 gzip 算法

tar -cvjf etc.bz /etc #使用 bzip 算法

tar -cvJf etc.xz /etc #使用 xz 算法

du -ms <file> #依次查看压缩文件的大小
  • 解压缩归档的文件 etc.gz
tar -tf etc.gz #列出压缩文件的内容

tar -xf etc.gz #自动识别压缩算法进行解压,注意文件的覆盖
  • 解压缩归档的文件 etc.gz 到 ~/test
mkdir ~/test
tar -xvf etc.gz -C ~/test #使用 -C 选项指定解压缩的路径
  • zip 和unzip
zip -r -o test.zip test1.txt test2 #r 表示递归,o 指明输出包的名字

unzip <文件>   #解压文件

在系统之间安全地传输/同步文件

使用 SCP 传输文件

从远端复制到本地
  • scp servera:/home/student/etc.gz /test 将 servera 的 /home/student/etc.gz 复制到本地的 /test 目录下
递归复制整个目录
  • scp -r servera:/var/log /test 将 servera 的整个 /var/log 目录都复制到本地的 /test 目录下

使用sftp 传输文件

  • scp :使用非常简单,但是要求管理员了解对端的文件结构。在实际使用的时候 可能会带来一定的使用限制
  • sftp:同样是基于 ssh 协议进行身份验证以及传输过程中的加密。它通过建立与 远端主机的 sftp 连接进行交互式的文件传输
命令
  • sftp <hostname/ip> 默认使用当前用户
  • 查看及跳转目录:cd、pwd、ls、mkdir、rmdir,本地操作需要在命令前上 l(local)
  • 文件传输:put 上传文件;get 下载文件;-r 选项进行递归。 退出:exit
实例
  • 使用 sftp 向 servera 的 /home/student/test 上传输 etc.tar
sftp servera         #连接servera服务器
cd test				#切换到test目录
put etc.tar			# 传输文件

使用rsync 同步文件

  • sync,remote synchronize 顾名思义是一款实现远程同步功能的软件,它在同 步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息
特性
  • 能更新整个目录树和文件系统
  • 有选择性的保持符号链接、硬链接、文件所有者、权限、设备以及时间等
  • 对于多个文件来说,内部机制减少文件等待的延时
  • 能用 rsh、ssh 或直接端口做为传输入端口
  • 支持匿名 rsync 同步文件,是理想的镜像工具
语法
  • rsync [option]
  • -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性
  • -r, --recursive 对子目录以递归模式处理
  • -l, --links 保留软链接
  • -p, --perms 保持文件权限
  • -t, --times 保持文件时间信息
  • -g, --group 保持文件属组信息
  • -n,执行空运行,针对真实情况进行模拟,以确保重要的文件不被覆盖或删除
  • -A,保留 ACL 权限
  • -X,用于保留 SELinux 上下文
实例
  • 使用 rsync 向 servera 的 /home/student 同步 ~/abc 目录 的文件
rsync -va abc servera:/home/student
注意事项
  • ① rsync 默认只进行增量同步,不删除远端文件。假设本地删除了某文件,同步后不会删除 对端的文件。添加参数 --delete 可以执行删除
  • ② 同步目录的写法: /etc 同步/etc目录及以下目录 /etc/ 仅同步/etc目录以下的目录,不拷贝/etc
  • ③ 为减少同步的时间,存档模式不会保留硬链接数,直接同步文件内容,或 者说硬链接关系失效。如果要保留硬链接的话,需要使用 -H 选项

件,同步后不会删除 对端的文件。添加参数 --delete 可以执行删除

  • ② 同步目录的写法: /etc 同步/etc目录及以下目录 /etc/ 仅同步/etc目录以下的目录,不拷贝/etc
  • ③ 为减少同步的时间,存档模式不会保留硬链接数,直接同步文件内容,或 者说硬链接关系失效。如果要保留硬链接的话,需要使用 -H 选项
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值