Linux 使用 tar 命令压缩目录下所有文件

2024-07-10 16:15:50 浏览数 (2)

本文介绍使用 tar 命令压缩文件的操作,以及 tartar.gz tar.bz2 之间的关系。

使用 tar 命令压缩

一层目录

要将目录下的所有文件压缩为一个 tar 包,可以使用 tar 命令。

以下是一个简单的示例,假设要将当前目录下的所有文件和子目录压缩为一个名为 archive.tar 的 tar 包:

1.切换到指定目录

代码语言:bash复制
cd /path/to/directory

2.利用 * 压缩全部文件

代码语言:sh复制
tar -cvf archive.tar *

注意要先 cd 到指定目录,才可以压缩目录下的文件。也可以在命令行中实现:

代码语言:sh复制
tar -czvf archive.tar.gz -C /path/to/directory .

这里的 -C 选项用于切换到指定目录,然后压缩该目录下的所有文件和子目录。

两层目录

如果在外层执行 tar -cvf /path/to/directory ,会把该层 ./dir 也压缩,这样解压出来就多了一层目录。这一点经常导致上传压缩包执行程序时使用的相对路径报错。

参数含义:

  • tar: 调用 tar 命令。
  • -c: 创建一个新的 tar 包。
  • -v: 显示详细信息(可选,显示正在处理的文件)。
  • -f: 指定输出文件的名称。
  • *: 表示当前目录下的所有文件和子目录。

进一步压缩 tar 包

此时可以对 tar 包进一步压缩。可以使用 -z 选项(gzip 压缩)或 -j 选项(bzip2 压缩)。例如,使用 gzip 压缩:

代码语言:sh复制
tar -czvf archive.tar.gz *

使用 bzip2 压缩:

代码语言:sh复制
tar -cjvf archive.tar.bz2 *
tar

0 人点赞