常用选项
| 选项 | 说明 |
|---|
-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 -C destination_dir
8.3 列出归档内容
不提取而列出归档文件的内容:
输出示例:
Folder-In-Archive/Folder-In-Archive/file1Folder-In-Archive/Another-Folder/Folder-In-Archive/Another-Folder/file2
8.4 列出归档内容
这是列出内容的示例:
选项 -t 用于列出。对于列出 tar.gz 归档的内容,你不再需要 -z 选项:
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