Linux的压缩与解压缩
一、使用tar命令进行打包与解包
1.0、tar命令简介和常用选项
tar命令是Linux中经常使用的归档工具,它的主要功能是【对文件或者目录进行打包归档】,归档为一个文件,但是并不进行压缩;tar命令的归档操作效果如下:
序号 | tar命令常用选项 | 说明 |
1 | -c,--create | 创建一个新的归档 |
2 | -x,--extract | 从现有归档中提取出文件 |
3 | -t,--list | 列出存档的目录 |
4 | -f,--file=ARCHIVE | 输出结果到文件或设备 |
5 | -z,--gzip | 通过gzip/gunzip进行压缩/解压缩,使用.tar.gz后缀 |
6 | -j,--bzip2 | 使用bzip2进行压缩/解压,使用.tar.bz2后缀,通常比gzip有更好的压缩率 |
7 | -J,--xz | 使用xz压缩/解压,使用.tar.xz后缀,通常比bzip2有更好的压缩率 |
8 | -C,--directory=DIR | 解包至目录DIR |
9 | -v,--verbose | 详细地列出处理的文件 |
10 | -p,--preserve-permissions | 在提取档案时保留文件和目录的权限,而不减去umask |
GNU tar 1.35: 3.4 所有 tar 选项 如何在 Linux 中使用 “tar” 存档和提取文件/目录 |
序号 | tar常用命令 |
1 | |
2 | |
3 | |
1.1、tar命令的归档压缩用法
1.1.1、将指定目录或文件归档
#《1》将指定目录或文件归档
#1-将指定单个目录及其包含内容都归档在指定目录且命名命令(如:将/etc目录及其内容都归档在/opt目录下且命名为etc.tar)
tar -cvf /opt/etc.tar /etc#2-将指定单个目录及其包含内容都归档在当前工作目录且命名命令(如:将/etc目录及其内容都归档在当前工作目录下且命名为etc.tar)
tar -cvf etc.tar /etc#3-将指定多个目录及其包含内容都归档在指定目录且命名命令(如:将/etc /mnt /boot目录及其内容都归档在/opt目录下且命名为test.tar)
tar -cvf /opt/test.tar /etc /mnt /boot#4-将指定多个文件都归档在指定目录且命名命令(如:将/etc/host.conf、/root/anaconda-ks.cfg、/proc/version文件都归档到/opt目录下命名为testfile.tar)
tar -cvf /opt/testfile.tar /etc/host.conf /root/anaconda-ks.cfg /proc/version
1.1.2、将指定目录或文件归档压缩
#《2》将指定目录或文件归档压缩#1-将指定单个目录及其包含内容都归档在指定目录并压缩且命名命令(如:将/etc目录及其内容都归档在/opt目录下并压缩且命名为etc.tar.gz)
tar -zcvf /opt/etc.tar.gz /etc#2-将指定多个目录及其包含内容都归档在指定目录并压缩且命名命令(如:将/etc、/root、/proc目录及其内容都归档在/opt目录下并压缩且命名为testmutifloder.tar.gz)
tar -zcvf /opt/testmutifloder.tar.gz /etc /root /boot
1.2、tar命令的解包解压缩用法
1.2.1、将指定归档文件进行解包
#1-将指定的归档文件进行解包到当前工作目录下(如:将/opt目录下的etc.tar归档文件解包到当前工作目录下)
tar -xvf /opt/etc.tar#2-将当前工作目录下的归档文件解包到指定目录下(如:将当前工作目录下的etc.tar归档文件解包到/opt目录下)
tar -xvf etc.tar -C /opt
1.2.2、将指定归档压缩文件进行解包解压缩
#1-将指定目录下的归档压缩文件解压到当前工作目录下命令(如:将/opt目录下的etc.tar.gz归档压缩文件解压到当前工作目录下)
tar -zxvf /opt/etc.tar.gz#2-将指定目录下的归档压缩文件解压到制定工作目录下命令(如:将/opt目录下的etc.tar.gz归档压缩文件解压到/data目录下)
tar -zxvf /opt/etc.tar.gz -C /data
1.3、tar命令的归档压缩与解包解压缩方法2
#1-tar命令的归档压缩命令(如:将/etc目录及其内容都归档压缩到当前工作目录下的etc.tar.bz2文件下)
tar -jcvf etc.tar.bz2 /etc#1.1-tar命令的归档压缩命令(如:将/etc目录及其内容都归档压缩到/opt目录下的etc.tar.bz2文件下)
tar -jcvf /opt/etc.tar.bz2 /etc#2-tar命令解包解压缩命令(如:将当前工作目录下的etc.tar.bz2文件解包解压缩到当前工作目录下)
tar -jxvf etc.tar.bz2#2.1-tar命令解包解压缩命令(如:将当前工作目录下的etc.tar.bz2文件解包解压缩到/opt目录下)
tar -jxvf etc.tar.bz2 -C /opt#3-tar命令的归档压缩命令(如:将/etc目录及其内容都归档压缩到当前工作目录下的etc.tar.xz文件下)
tar -Jcvf etc.tar.xz /etc#3.1-tar命令的归档压缩命令(如:将/etc目录及其内容都归档压缩到/opt目录下的etc.tar.xz文件下)
tar -Jcvf /opt/etc.tar.xz /etc#4-tar命令解包解压缩命令(如:将当前工作目录下的etc.tar.xz文件解包解压缩到当前工作目录下)
tar -Jxvf etc.tar.xz
tar xvf etc.tar.xz#4.1-tar命令解包解压缩命令(如:将当前工作目录下的etc.tar.xz文件解包解压缩到/opt目录下)
tar -Jxvf etc.tar.xz -C /opt
tar -xvf etc.tar.xz -C /opt
二、使用gzip/gunzip进行压缩与解压缩
2.1、gzip/gunzip的简介
gzip/gunzip命令的功能是【将一般的文件进行压缩或解压缩;压缩文件预设的扩展名称是“.gz”】(其实,gunzip还是调用gzip实现解压缩的,因此无论是压缩还是解压都可以通过gzip来实现)。
注意:gzip只能对文件进行压缩,不能压缩目录,即使指定压缩的目录,也只能压缩目录内的所有文件。
GNU Gziphttps://www.gnu.org/software/gzip/manual/gzip.html13 gzip 命令示例 [在 Linux 中压缩文件]
https://cn.linux-console.net/?p=29424
2.2、gzip/gunzip的用法
#1-将文件压缩并删除原文件(如:压缩/opt/testfile.cfg文件)
gzip /opt/testfile.cfg#2-将压缩文件解压(如解压/opt/testfile.cfg.gz文件)
gunzip testfile.cfg.gz
gzip -d testfile.cfg.gz# 3-将文件压缩并保留原文件(如:压缩/opt/testfile.cfg文件)
gzip -k /opt/testfile.cfg
三、其他资料
如何在 Linux 中压缩文件 |Tar 命令 - GeeksforGeekshttps://www.geeksforgeeks.org/linux-unix/tar-command-linux-examples/
The gzip home pagehttps://gzip.org/