当前位置:首页>Linux>Linux杂记 -- 使用 'tar' 命令进行文件压缩

Linux杂记 -- 使用 'tar' 命令进行文件压缩

  • 2026-09-02 19:16:26
Linux杂记 -- 使用 'tar' 命令进行文件压缩

常用选项

选项说明
-c--create创建新归档
-x--extract从归档中提取文件
-t--list列出归档内容
-f--file=ARCHIVE使用归档文件或目录 ARCHIVE
-v--verbose详细列出文件

压缩选项

选项说明
-a--auto-compress使用归档后缀确定压缩程序
-j--bzip2通过 bzip2 过滤归档
-J--xz--lzma通过 xz 过滤归档
-z--gzip通过 gzip 过滤归档

8.1 压缩文件夹

这将创建一个文件夹的简单归档:

tar -cf archive.tar folder_name

详细输出显示哪些文件和目录被添加到归档中,使用 -v 选项: 

tar -cvf archive.tar folder_name

要使用 'gzip' 压缩归档文件夹,必须使用 -z 选项: 

tar -czf archive-name.tar.gz folder_name

你也可以使用 -j 选项用 'bzip2' 压缩归档:

 tar -cjf archive-name.tar.bz2 folder_name

或使用 -J 选项用 'xz' 压缩:

 tar -cJf archive-name.tar.xz folder_name

8.2 从归档中提取文件夹

这是在当前位置从归档中提取文件夹的示例:

 tar -xf archive-name.tar

如果你想将文件夹从归档提取到特定目标:

 tar -xf archive-name.tar -C destination_dir

8.3 列出归档内容

不提取而列出归档文件的内容:

 tar -tf archive.tar.gz

输出示例:

Folder-In-Archive/Folder-In-Archive/file1Folder-In-Archive/Another-Folder/Folder-In-Archive/Another-Folder/file2

8.4 列出归档内容

这是列出内容的示例:

tar -tvf archive.tar

选项 -t 用于列出。对于列出 tar.gz 归档的内容,你不再需要 -z 选项:

tar -tzvf archive.tar.gz

8.5 压缩并排除一个或多个文件夹

如果你想提取文件夹,但想在提取过程中排除一个或多个文件夹,可以使用 --exclude 选项:

tar -cf archive.tar ./my-folder/ --exclude="my-folder/sub1" --exclude="my-folder/sub3"

使用以下文件夹树:

my-folder/    sub1/    sub2/    sub3/

结果将是:

./archive.tarmy-folder/sub2/

8.6 剥离前导组件

要剥离任意数量的前导组件,使用 --strip-components 选项:

--strip-components=NUMBER    在提取时从文件名中剥离 NUMBER 个前导组件

例如,要剥离前导文件夹,使用:

tar -xf archive.tar --strip-components=1

最新文章

随机文章