博客
关于我
Linux打包命令 - tar
阅读量:800 次
发布时间:2023-02-04

本文共 1905 字,大约阅读时间需要 6 分钟。

tar 命令详解:文件打包与压缩的最佳选择

tar 命令的核心功能

在 Linux 系统中,tar 命令是处理文件打包与压缩的首选工具。它能够将多个文件或文件夹打包成一个大文件,并支持结合 gzipbzip2 进行压缩。与 Windows 系统中的工具(如 WinRAR)不同,tar 的打包方式是将文件夹内的所有文件分别压缩,而非将多个文件整合成一个大文件。

tar 命令的基本用法

1. 打包与压缩

要打包并压缩文件或文件夹,可以使用以下命令:

tar -jcv -f filename.tar.bz2 文件或文件夹
  • -j:选择 bzip2 作为压缩算法,生成 .tar.bz2 文件。
  • -c:表示开始打包操作。
  • -v:显示打包过程中的详细信息。
  • -f:指定打包文件的名称。

例如,打包 /root/etc 文件夹并压缩为 .tar.bz2 文件:

tar -jcv -f /root/etc.tar.bz2 /root/etc

2. 查阅打包文件内容

要查看打包文件中的文件列表,可以使用 -tv 选项:

tar -jtv -f filename.tar.bz2

例如,查看 /root/etc.tar.bz2 文件内容:

tar -jtv -f /root/etc.tar.bz2

此时,你会看到每个文件的路径和修改时间。注意到文件名中没有根文件夹(/),这是因为 tar 会自动移除打包文件中的绝对路径,以避免解压时路径冲突。

3. 解压缩命令

要解压缩文件,可以使用 -x 选项。默认情况下,解压文件会在当前工作目录下创建文件夹:

tar -jxv -f filename.tar.bz2

例如,解压 /root/etc.tar.bz2 文件:

tar -jxv -f /root/etc.tar.bz2

4. 指定解压目录

如果希望解压文件直接位于指定文件夹中,可以使用 -C 选项:

tar -jxv -f filename.tar.bz2 -C 目标文件夹

例如,将 /root/etc.tar.bz2 解压到 /tmp 文件夹:

tar -jxv -f /root/etc.tar.bz2 -C /tmp

5. 解压单个文件

如果只需要解压某个特定的文件,可以在命令末尾指定该文件名:

tar -jxv -f filename.tar.bz2 文件名

例如,解压 /etc/shadow 文件:

tar -jxv -f /root/etc.tar.bz2 etc/shadow

6. 排除特定文件

有时你可能不希望将某个文件打包到压缩文件中,可以使用 --exclude 选项:

tar -jcv -f filename.tar.bz2 --exclude=文件或文件夹 /路径

例如,排除 /etc/passwd 文件和 /etc 文件夹:

tar -jcv -f /root/system.tar.bz2 --exclude=/etc/passwd --exclude=/etc /etc /root

7. 仅备份新文件

要备份比特定时间更 recent 的文件,可以使用 --newer-mtime 选项:

tar -jcv -f filename.tar.bz2 --newer-mtime="时间戳" /路径

例如,备份比 /etc/passwd 新的文件(假设修改时间为 2008-09-29):

tar -jcv -f /root/etc.newer.then.passwd.tar.bz2 --newer-mtime="2008/09/29" /etc/*

在解压时,可以使用 grep 命令过滤出新文件:

tar -jtv -f /root/etc.newer.then.passwd.tar.bz2 | grep -v '/$'

tar 文件的命名规则

  • 仅打包文件:生成的文件名为 *.tar
  • 结合压缩:根据压缩算法选择适当的扩展名:
    • *.tar.gz(使用 gzip)。
    • *.tar.bz2(使用 bzip2)。

注意事项

  • 选项顺序-f 选项必须单独放在前面,避免与其他选项混淆。
  • 权限与属性:使用 -p 选项可以保留文件的权限和属性,适用于重要数据的备份。
  • 绝对路径tar 会自动移除打包文件中的绝对路径,以防止解压时路径冲突。

最终总结

tar 命令是 Linux 系统中处理文件打包与压缩的强大工具。通过合理使用 tar 的各种选项,可以实现文件的完整备份、特定文件的解压、文件夹的打包等多种场景。熟练掌握 tar 命令,将极大提升你的系统管理效率。

转载地址:http://obkfk.baihongyu.com/

你可能感兴趣的文章
Nginx 的 proxy_pass 使用简介
查看>>
Nginx 的 SSL 模块安装
查看>>
Nginx 的优化思路,并解析网站防盗链
查看>>
Nginx 的配置文件中的 keepalive 介绍
查看>>
nginx 禁止以ip形式访问服务器
查看>>
Nginx 结合 consul 实现动态负载均衡
查看>>
Nginx 负载均衡与权重配置解析
查看>>
Nginx 负载均衡详解
查看>>
nginx 配置 单页面应用的解决方案
查看>>
nginx 配置https(一)—— 自签名证书
查看>>
nginx 配置~~~本身就是一个静态资源的服务器
查看>>
Nginx 配置服务器文件上传与下载
查看>>
Nginx 配置清单(一篇够用)
查看>>
Nginx 配置解析:从基础到高级应用指南
查看>>
Nginx 集成Zipkin服务链路追踪
查看>>
nginx 集群配置方式 静态文件处理
查看>>
nginx+php的搭建
查看>>
nginx+tomcat+memcached
查看>>
Nginx+Tomcat实现动静分离
查看>>
nginx+Tomcat性能监控
查看>>