LInux打包命令tar
一般形式:
tar -cvf xxx.tar ./dir #将 ./dir 目录打包到 xxx.tar
tar -xvf xxx.tar #将 xxx.tar 解打包到当前目录
tar -xvf xxx.tar -C ./dir #将 xxx.tar 解打包到 ./dir 目录
tar -tvf xxx.tar #将 xxx.tar 包中的内容列出
.tar.gz
的压缩格式只需要添加 -z
参数
.tar.bz2
的压缩格式只需要添加-j
参数
tar -zcvf xxx.tar.gz [files]
tar -zxvf xxx.tar.gz -C [path]
tar -jcvf xxx.tar.bz2 [files]
tar -jxvf xxx.tar.bz2 -C [path]
linux终端下输入tar --help
可以查看tar的基本使用和各个选项的作用,下面总结常用的几个用法:
- tar 打包
- tar 解包
- tar 压缩包
- tar 解压包
- tar 查看包内文件
1. tar打包
tar命令用来打包:
tar [选项] [xxx.tar] [要打包的目录和文件]
选项 | 含义 |
---|---|
-c | 将多个文件或目录打包到新创建的文 |
-v | 显示打包文件过程 |
-f | 指定包的文件名(扩展名要指定清晰方便阅读) |
-A | 追加 tar 文件到归档文件 |
举个例子
将当前目录打包到test.tar并显示打包过程:
tar -cvf test.tar .
将/etc目录下的vim和ssh目录打包到家目录下的test.tar
tar -cvf ~/test.tar /etc/vim/ /etc/ssh/
2. tar解打包
tar [选项] [xxx.tar]
选项 | 含义 |
---|---|
-x | 对 tar 包做解打包操作。 |
-v | 显示解打包的具体过程。 |
-f | 指定要解压的 tar 包的包名。 |
-t | 只查看 tar 包中有哪些文件或目录,不对 tar 包做解打包操作。 |
-C | 后加指定解打包位置(路径) |
举个例子
将test.tar解除打包:
tar -xvf test.tar
#默认会解包到当前目录下,相当于:
tar -xvf test.tar -C .
列出test.tar包中的文件:
tar -tvf test.tar
3. tar打包并压缩/解压
tar [选项] [xxx.tar]
选项 | 含义 |
---|---|
-j | 压缩和解压缩 .tar.bz2 格式 |
-z | 压缩和解压缩 .tar.gz 格式 |
使用的方式和前面打包和解包一样,只不过在选项里添加了一个-j
或-z
指定压缩或解压的方式。
举个例子
把/tmp目录打包压缩为".tar.gz"格式:
tar -zcvf tmp.tar.gz /tmp/
把tmp.tar.gz压缩包解压到当前目录
tar -zxvf tmp.tar.gz
tar -zxvf tmp.tar.gz -C .
把/tmp目录打包压缩为".tar.bz2"格式:
tar -jcvf tmp.tar.bz2 /tmp/
把tmp.tar.bz2压缩包解压到当前目录
tar -jxvf tmp.tar.bz2
tar -jxvf tmp.tar.bz2 -C .
4. tar查看包内文件
使用 -t
选项
查看tmp.tar.gz压缩包的内容,仅查看而不解压:
tar -tvf tmp.tar.gz
修改时间:2023.10.25
参考:C语言中文网 linux --help