一、基本用法
1. 创建归档文件
-
tar cf example.tar file_1 file_2 file_n-
c=creat -
f=file=ARCHIVE
-
把命令选项翻译成日常用语:
cf = create a ARCHIVE file = 创建一个归档文件。
2. 创建并压缩归档文件
在 Linux 系统上,归档和压缩是两个不同的工作,归档的文件可以被压缩,也可以不压缩,这一点与 Windows 系统不同。Windows 常见的归档方式是通过 7zip/WinRAR 这类压缩解压软件把一系列文件压缩成单个文件,归档和压缩其实是同一件事。
-
tar czf example.tar.gz file_1 file_2 file_n-
z=gzip
-
-
tar cjf example.tar.bz2 file_1 file_2 file_n-
j=bzip2
-
把命令选项翻译成日常用语:
czf = create a gzipped ARCHIVE file = 创建一个 gzip 压缩的归档文件。
3. 列出归档文件内容
-
tar tf example.tar-
t=list
-
4. 提取归档文件内容
-
tar xf example.tar-
x=extract
-
tar xzf example.tar.gztar xjf example.tar.bz2
5. 模式与选项
tar 命令的参数有模式和选项的分别,模式参数必须写在选项参数前面。
| 参数 | 模式 | 选项 |
|---|---|---|
-c |
yes | |
-t |
yes | |
-x |
yes | |
-f |
yes | |
-j |
yes | |
-z |
yes |
二、高级用法
-
find . -iname 'file-a' | tar czf example.tar.gz --files-from=--
--files-from=也可以简写成-T,在-c模式下表示「根据指定的文件创建归档文件」。 - 末尾的减号
-非常重要,也很常见,用来表示标准输入/输出,在这里具体指find命令查找到的文件清单。
-
三、Tips
如何查找一个命令的某个指定选项的用法,比如:tar -T ?
man tar-
/^ *-T:-
/表示「开始查找」,和vim里一样 -
^表示「从每一行的行首开始」,和正则表达式一样 - 注意,第三个字符是
空格 space -
*是通配符 -
-T是需要查找的选项
-
这个方法有局限,只有选项或参数位于一行的行首才有效,像 tar --files-from 这个选项就查不到,因为它所在的行是这样的:-T, --files-from=FILE 。