linux学习随笔(文件压缩,持续更新...)
1.gzip
压缩文件
$gzip 文件名
解压缩文件
$gzip 文件名 -d
$gunzip 文件名
选项:
-c 将压缩后的文件内容写到标准输出端口,原文件不变。
-d 解压缩
-f 强制压缩
-h 显示有用信息
-r 递归压缩目录中的文件,不压缩目录
-t 检测压缩文件的完整性
-v 在压缩时显示详细信息
-number 设定压缩级别。number(1~9)数字越大压缩效率越高,默认为6
2.bzip2
牺牲速度以换取高质量的数据压缩。多数情况下,其用法与gzip类似,只是以bzip2压缩后的文件以.bz2为后缀。bzip2除了-r选项,其他的gzip选项bzip2都支持,但是bzip2和gzip的压缩选项有些不同。
3.xz
xz压缩工具命令操作用法与gzip及bzip2一样。
目标文件较gzip压缩文件(.gz或·tgz)小30%,较·bz2小15%。仅支持单文件压缩。
xz、gzip、bzip2都不支持压缩目录。
4.zip
zip程序既是文件压缩工具又是文件归档工具,Linux用户主要使用zip与Windows系统交换文件,而不是将其用于压缩或者归档文件。
压缩
zip [选项] 包名.zip 源文件或目录列表
解压缩
unzip [参数] <压缩文件> [压缩包中将被释放的文件]
-d 从压缩文件内删除指定的文件。
-q 不显示指令执行过程。
-r 递归处理,将指定目录下的所有文件和子目录一并处理。
-u 更换较新的文件到压缩文件内。
-v 显示指令执行过程或显示版本信息。
-number number是一个介于1-9的数值,-1 代表压缩速度更快,-9 代表压缩效果更好。
zip详细选项请看:https://www.runoob.com/linux/linux-comm-zip.html
unzip详细选项请看:https://www.runoob.com/linux/linux-comm-unzip.html
5.tar
xz、gzip、bzip都是文件压缩命令,使用这些命令会将一个大文件压缩成一个小文件。
tar是对文件的打包(归档),将多个文件或者目录合成一个大文件,因为在打包过程中添加了一些额外信息,所以打包后的文档会比原文档要大一些。
所以若是要压缩目录,就需要tar将目录打包成一个大文件,再由压缩命令进行压缩。
命令格式是:tar 功能 选项 文件
功能:
-c,--create 创建新的tar文件
-x,--extract,--get 解开tar文件
-t,--list 列出tar文件中包含的文件的信息
-r,--append 附加新的文件到tar文件中
-u,--update 用已打包的文件的较新版本更新tar文m89吗 件
-A,--catenate,--concatenate 将tar文件作为一个整体追加到另一个tar文件中
-d,--diff,--compare 将文件系统里的文件和tar文件里的文件进行比较
--delete 删除tar文件里的文件。注意,这个功能不能用于已保存在磁带上的tar文件。
常用选项:
-v,--verbose 列出每一步处理涉及的文件的信息,只用一个“v”时,仅列出文件名,使用两个“v”时,列出权限、所有者、大小、时间、文件名等信息。
-k,--keep-old-files 不覆盖文件系统上已有的文件。
-f,--file [主机名:]文件名 指定要处理的文件名。可以用“-”代表标准输出或标准输入。
-P,--absolute-names 使用绝对路径。
-j,--bzip2 调用bzip2执行压缩或解压缩。注意,由于部分老版本的tar使用-I实现本功能,因此,编写脚本时,最好使用--bzip2。
-J,--xz,--lzma 调用XZ Utils执行压缩或解压缩。依赖XZ Utils。
-z,--gzip,--gunzip,--ungzip 调用gzip执行压缩或解压缩。
-Z,--compress,--uncompress 调用compress执行压缩或解压缩。
常用的解压缩命令:
tar.gz文件:tar -zxvf XXX.tar.gz
tar.bz2文件:tar -jxvf XXX.tar.bz2
tar.xz文件:xz -d XXX.tar.xz
tar -xvf XXX.tar