Linux打包文件如何备份传输?

Linux打包整合文件/目录为单个归档,便于传输存储,常用tar工具配合压缩命令(如gzip/bzip2),需注意路径、权限及保留原始属性。

核心工具:tar命令

tar(Tape Archive)是Linux最基础的打包工具,可将多个文件/目录合并为.tar归档文件。
基本语法

tar [选项] 输出文件名.tar 输入文件/目录

常用场景示例

  1. 打包目录(保留原始权限):

    tar -cvf backup.tar /path/to/directory
    • -c:创建新归档
    • -v:显示打包过程(可选)
    • -f:指定输出文件名
  2. 打包多个文件

    tar -cvf documents.tar file1.txt file2.jpg /home/user/docs
  3. 排除特定文件

    tar -cvf backup.tar --exclude="*.tmp" /path/to/directory

打包与压缩的区别

  • 打包.tar):仅合并文件,不减小体积。
  • 压缩:通过算法减小文件大小,需配合压缩工具(如gzip、bzip2)。
    通常两者结合使用:先打包再压缩,生成如.tar.gz.tar.bz2等文件。

打包并压缩(一步操作)

tar支持直接调用压缩工具,通过不同选项实现:

压缩类型 命令示例 输出文件扩展名 特点
gzip tar -czvf archive.tar.gz /path .tar.gz 速度快,通用性强
bzip2 tar -cjvf archive.tar.bz2 /path .tar.bz2 压缩率高,速度较慢
xz tar -cJvf archive.tar.xz /path .tar.xz 最高压缩率,耗时较长

选项说明

  • -z:调用gzip
  • -j:调用bzip2
  • -J:调用xz

查看归档内容

不解压直接列出包内文件:

tar -tvf archive.tar.gz      # 查看.tar.gz内容
tar -tvf archive.tar.bz2     # 查看.tar.bz2内容

解包与解压

解压到当前目录

tar -xvf archive.tar          # 解包.tar文件
tar -xzvf archive.tar.gz      # 解压.tar.gz
tar -xjvf archive.tar.bz2     # 解压.tar.bz2
tar -xJvf archive.tar.xz      # 解压.tar.xz
  • -x:解包/解压
  • -v-f作用同打包时

解压到指定目录

tar -xzvf archive.tar.gz -C /target/directory

高级技巧

  1. 增量备份(仅备份新文件):

    tar -g snapshot.snar -czvf backup-incremental.tar.gz /path
  2. 保留文件权限与属性
    添加-p选项(如tar -cpzvf),适用于系统备份。

  3. 分卷压缩(大文件分割):

    tar -czvf - /large_dir | split -b 2G - backup_part.tar.gz.

    合并分卷:cat backup_part.tar.gz.* | tar -xzvf -


安全注意事项

  1. 验证文件来源:解压前检查归档文件完整性(如通过sha256sum校验)。
  2. 避免覆盖文件:解压时使用-k选项防止覆盖现有文件(tar -xkzvf)。
  3. 防范恶意包:切勿解压来源不明的归档文件,可能包含隐藏路径(如/etc/passwd覆盖攻击)。

  • 基础打包:tar -cvf
  • 打包+压缩:tar -czvf(gzip)、tar -cjvf(bzip2)、tar -cJvf(xz)
  • 解压:tar -xzvf(对应压缩格式)
  • 关键选项:-c(创建)、-x(解压)、-v(详情)、-f(文件名)、-C(指定目录)

提示:更多参数可通过man tar查看官方手册,或访问GNU Tar文档。


引用说明

  • Linux tar命令手册页(man tar
  • GNU Tar官方文档:https://www.gnu.org/software/tar/
  • 文件压缩算法对比参考:https://linuxhandbook.com/tar-commands/

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8151.html

(0)
酷番叔酷番叔
上一篇 3小时前
下一篇 3小时前

相关推荐

  • 重启整个网络服务会怎样?

    在Linux系统中,重启网络是管理服务器或解决连接问题的常见操作,不同发行版和网络管理工具对应不同的命令,以下是专业、可靠且经过验证的方法,操作前请确保拥有root权限(使用sudo -i或sudo前缀),通用方法:通过 systemctl(推荐)适用于大多数现代Linux系统(Ubuntu 18.04+、Ce……

    2025年6月17日
    1400
  • Linux版本号怎么查

    方法 1:使用 lsb_release 命令(推荐通用方法)适用于大多数主流发行版(Ubuntu/Debian/CentOS 7+),直接显示系统版本和代号:lsb_release -a输出示例: Distributor ID: UbuntuDescription: Ubuntu 22.04.3 LTSRele……

    2025年6月18日
    1500
  • 你知道吗?90%的人都不知道的真相

    环境准备Linux系统默认自带GCC编译器(GNU Compiler Collection),通过终端验证安装:gcc –version若未安装,使用包管理器安装:Debian/Ubuntu:sudo apt install build-essentialCentOS/RHEL:sudo yum groupi……

    3天前
    1000
  • Makefile中目标依赖命令如何协作?

    在 Linux 下编写和使用 Makefile 的完整指南Makefile 的核心价值Makefile 是 Linux 开发中的自动化构建工具,通过定义依赖关系和构建规则实现:高效编译:仅重新编译修改过的文件(增量编译)跨平台兼容:同一脚本在 GCC/Clang 等环境通用复杂项目管理:支持多目录、多目标的大型……

    2025年6月20日
    1600
  • 如何在 Linux 中设置软连接?

    软连接的核心作用跨文件系统链接:可链接不同磁盘分区或网络位置的文件/目录,灵活管理:源文件移动/重命名后,软连接自动失效(需重新创建),节省空间:仅存储目标路径信息(约几十字节),创建软连接的命令使用 ln 命令配合 -s 选项:ln -s [源文件/目录路径] [软连接路径]示例场景为文件创建软连接ln -s……

    2025年6月18日
    1300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信