tar 命令学习笔记

一、基本用法

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.gz
  • tar 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

  1. man tar
  2. /^ *-T:
    • / 表示「开始查找」,和 vim 里一样
    • ^ 表示「从每一行的行首开始」,和正则表达式一样
    • 注意,第三个字符是空格 space
    • * 是通配符
    • -T 是需要查找的选项

这个方法有局限,只有选项或参数位于一行的行首才有效,像 tar --files-from 这个选项就查不到,因为它所在的行是这样的:-T, --files-from=FILE

你可能感兴趣的:(tar 命令学习笔记)