Linux Command (5) -- tar

Posted by Dongbo on December 2, 2020

tar 也是 Linux 里常用来打包、压缩和解压文件的命令。另外类似的还有 zip/unzip 命令可用于压缩/解压 zip 文件,我之前在 Windows 和服务器之间传东西就老搞成 zip 格式来传输,也不知道是不是好的习惯。

tar 命令典型的用法如下:

1
2
3
4
5
tar -cvf a.tar ~/a.txt  # 打包a.txt为a.tar
tar -czvf a.tar ~/a.txt # 打包并压缩为a.tar

tar -xvf a.tar          # extract a.tar 的文件到当前目录
tar -xzvf a.tar         # 解压 a.tar 到当前目录

看下这些选项的具体含义

  • -c, --create
    创建新的 archive 文件,打包时候使用;不使用 --no-recursion 选项时将递归打包文件夹。

  • -x, --extract, --get
    从 archive 中提取文件。

  • -f, --file=ARCHIVE
    指定文件路径

  • -z, --gzip, --gunzip, --ungzip
    使用 gzip 压缩/解压文件

  • -v, --verbose
    列出所处理的文件名称

  • -C, --directory=DIR
    更改 tar 命令的工作目录,如 tar -C ../test cvf a.tar a.txt 将会进入上层目录的 test 文件夹,然后进行打包;也可用于指定解压的目录(已存在的目录),如 tar xvf a.tar -C ../test

  • --exclude=PATTERN
    tar 执行时除外 PATTERN 指定的文件,可用于打包是过滤 .log/.txt/.md 等不需要的文件

The End