环境说明:
博客使用的linux版本:CentOS Linux release 7.7.1908 (Core)
终端汉化:汉化是为了方便学习,点击这里查看
一、linux常见压缩文件扩展名说明
扩展名 |
说明 |
*.gz |
gzip程序压缩的文件:仅压缩普通文件 |
*.bz2 |
bzip2程序压缩的文件:仅压缩普通文件 |
*.tar |
tar程序打包的数据,并没有经过压缩 |
*.tar.gz |
tar程序打包的文件,其中经过gzip的压缩 |
*.tar.bz2 |
tar程序打包的文件,其中经过bzip2的压缩 |
*.zip |
zip压缩文件 |
二、tar命令 – 打包和备份的归档工具
- tar命令简介:tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。
tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。
2. 语法格式:tar [参数] [文件或目录]
3. 常用参数:
参数 |
含义 |
-A |
新增文件到以存在的备份文件 |
-B |
设置区块大小 |
-c |
建立新的备份文件 |
-C <目录> |
切换工作目录,先进入指定目录再执行压缩/解压缩操作,可用于仅压缩特定目录里的内容或解压缩到特定目录 |
-d |
记录文件的差别 |
-x |
从归档文件中提取文件 |
-t |
列出备份文件的内容 |
-z |
通过gzip指令压缩/解压缩文件,文件名最好为*.tar.gz |
-Z |
通过compress指令处理备份文件 |
-f<备份文件> |
指定备份文件 |
-v |
显示指令执行过程 |
-r |
添加文件到已经压缩的文件 |
-u |
添加改变了和现有的文件到已经存在的压缩文件 |
-j |
通过bzip2指令压缩/解压缩文件,文件名最好为*.tar.bz2 |
-v |
显示操作过程 |
-l |
文件系统边界设置 |
-k |
保留原有文件不覆盖 |
-m |
保留文件不被覆盖 |
-w |
确认压缩文件的正确性 |
-p |
保留原来的文件权限与属性 |
-P |
使用文件名的绝对路径,不移除文件名称前的“/”号 |
-N <日期格式> |
只将较指定日期更新的文件保存到备份文件里 |
– -exclude=<范本样式> |
排除符合范本样式的文件 |
– -remove-files |
归档/压缩之后删除源文件 |
4.应用实例:
- 将所有.text的文件打成一个名为all.tar的包:
- 解压文件,将文件解压到当前目录
tar -xvf all.tar
三、gzip命令 – 压缩和解压文件
- gzip命令简介:
gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。gzip命令对文本文件有60%~70%的压缩率。减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。
- 语法格式: gzip [参数]
- 常用参数:
参数 |
含义 |
-a |
使用ASCII文字模式 |
-d |
解开压缩文件 |
-f |
强行压缩文件 |
-l |
列出压缩文件的相关信息 |
-c |
把压缩后的文件输出到标准输出设备,不去更动原始文件 |
-r |
递归处理,将指定目录下的所有文件及子目录一并处理 |
-q |
不显示警告信息 |
- 应用实例:
- 把当前目录下每个文件压缩成.gz文件
gzip *
- 显示压缩文件的详细信息
gzip -dv *
- 递归的压缩和解压目录
gzip -r test1
gzip -dr test1
四、bzip2命令 – bz2文件的压缩程序
- bzip2命令简介:Linux系统中bzip2命令的英文是“bunzip2”,即.bz2文件格式的压缩程序; bzip2命令系统默认是没有安装的,需要安装bzip2库才可以使用此命令。
bzip2命令采用新的压缩演算法,压缩效果比传统的LZ77/LZ78压缩演算法来得好。若没有加上任何参数,bzip2压缩完文件后会产生.bz2的压缩文件,并删除原始的文件。
注意:非内置命令,需要安装
- 常用参数:
参数 |
含义 |
-c |
将压缩与解压缩的结果送到标准输出 |
-d |
开始解压解压缩。bzip2,bunzip2 以及bzcat实际上是同一个程序,进行何种操作将根据程序名确定。指定该选项后将不考虑这一机制,强制 bzip2 进行解压缩。 |
-f |
bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖,请使用此参数 |
-k |
在压缩或解压缩时保留源文件(不删除这些文件,默认删除源文件)。 |
-s |
降低程序执行时内存的使用量 |
-t |
检查指定文件的完整性,但并不对其解压缩。 |
-v |
压缩或解压缩文件时,显示详细的信息 |
-z |
强制执行压缩 |
- 应用实例
- 压缩成 .bz2文件(保留源文件),检查文件完整性,然后解压文件
五、zip -压缩成.zip文件
- zip命令和unzip命令简介:
- zip程序将一个或多个压缩文件与有关文件的信息(名称、路径、日期、上次修改的时间、保护和检查信息以验证文件完整性)一起放入一个压缩存档中。可以使用一个命令将整个目录结构打包到zip存档中。
- **语法格式:**zip [参数] [文件]
- 常用参数:
参数 |
含义 |
-q |
不显示指令执行过程 |
-r |
递归处理,将指定目录下的所有文件和子目录一并处理 |
-z |
替压缩文件加上注释 |
-v |
显示指令执行过程或显示版本信息 |
-n<字尾字符串> |
不压缩具有特定字尾字符串的文件 |
- 应用实例
- 压缩当前目录下的所有文件
zip alltext.zip *
六、unzip -解压zip文件
- unzip命令简介:
unzip命令用于解压.zip文件 (zip压缩的文件)
- 语法格式: unzip [参数] [文件]
- 常用参数:
参数 |
含义 |
-d |
解压文件指定目录 |
-l |
显示压缩文件内所包含的文件 |
-v |
执行时显示详细的信息 |
-c |
将解压缩的结果显示到屏幕上,并对字符做适当的转换 |
-n |
解压缩时不要覆盖原有的文件 |
-j |
不处理压缩文件中原有的目录路径 |
4. 应用实例:
- 检查文件的完整性
- 将文件解压到当前目录下的test1 文件夹
unzip alltext.zip -d test1
- 将当前目录下的(1.text.zip 2.text.zip 3.text.zip)的.zip文件解压到当前目录
unzip *.text.zip .