Linux tar压缩与解压
tar命令是系统自带的压缩与解压工具。
tar命令可将文件与文件夹压缩为.tar压缩文件,以及解压。
1 语法
tar [选项] 文件
 
2 常用选项
| 选项 | 作用 | 
|---|---|
| -c | create,创建tar压缩文件 | 
| -x | extract,解压文件 | 
| -f | file,指定压缩文件名称 | 
| -v | verbose,显示运行详情 | 
| -C | 指定当前目录 | 
3 压缩示例
准备数据:
创建文件夹/xt1/sub2/sub3/sub4
sub3中创建文件file1.txt,file2.txt,file3.txt
mkdir -p /xt1/sub2/sub3/sub4
cd /xt1/sub2/sub3
touch file1.txt file2.txt file3.txt
ls /xt1/sub2/sub3
 

例1:将文件夹/xt1/sub2/sub3 压缩到 /xt1_bak/xt1.tar中
准备文件夹/xt1_bak
mkdir /xt1_bak
 
压缩
tar -cvf /xt1_bak/xt1.tar /xt1/sub2/sub3
 

下载xt1.tar用解压软件打开

压缩文件中带子原目录的层级结构 xt1/sub2/sub3。通常我们只需要sub3,或者一级都不要。
两种解决方法:
1)cd 命令切换当前目录到要相应目录
2)-C选项指定压缩的当前目录
第1种方法更麻烦,但更灵活,推荐使用。
例2:将文件夹/xt1/sub2/sub3 压缩到 /xt1_bak/xt1.tar中,压缩文件中无xt1到sub3的各级文件夹。
解压
cd /xt1/sub2/sub3
tar -cvf /xt1_bak/xt1.tar *
 

查看解压文件

压缩包中直接存放file1.txt等文件。
例3:将文件夹/xt1/sub2/sub3 压缩到 /xt1_bak/xt1.tar中,压缩文件中只保留最后一级文件夹。
cd /xt1/sub2
tar -cvf /xt1_bak/xt1.tar sub3
 

查看压缩文件

例4:通过-C将文件夹/xt1/sub2/sub3 压缩到 /xt1_bak/xt1.tar中,压缩文件中只保留最后一级文件夹。
切回用户主目录
cd
 
压缩
tar -cvf /xt1_bak/xt1.tar -C /xt1/sub2 sub3
 
注意事项:sub2与sub3有空格。即-C指定压缩的当前路径是/xt1/sub2,压缩文件夹是sub3。

4 解压示例
例1:将/xt1_bak/xt1.tar中的内容解压到/xt2中。
mkdir /xt2
 
解压
tar -xvf /xt1_bak/xt1.tar -C /xt2
 
