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