文件压缩与解压
Linux上常见的压缩文件有如下:
1. zip命令
1.1 zip 打包文件夹
【命令解释】
-r 参数表示递归打包包含子目录的全部内容,-q 参数表示为安静模式,即不向屏幕输出信息,-o,表示输出文件,需在其后紧跟打包输出文件名。
du(disk usage)命令用于显示目录或文件大小。-h(或-- human-readable),以人类可读方式显示,以K、M、G为单位,提高信息可读性。 -d表示目录深度
【命令解释】
file查看文件类型
使用 "-数字"设置压缩级别
【命令解释】
9表示体积最小但耗时最久,1表示体积最大但速度最快。-x是排除上一次创建的zip文件
这里设置压缩级别为 9,表示体积最小。但是由于文件较小,所以差别不大。
1.2 创建加密zip
使用-e参数可以实现打包时加密
windows下的回车换行为回车+换行(CR + LF),而在Linux下为换行(LF),要想在Linux下创建的压缩文件在Windows下解压之后没有任何问题,需借助-l 参数将LF转换为CR + LF.
查看创建的压缩文件
命令方式:
可视化方式:
2. unzip
unzip 文件名.zip
解压后:
unzip -d 指定路径解压
【命令解释】
-q 安静模式,即不提醒。
-d 后接目录,将文件解压到指定目录,如果目录不存在则自动创建。
解压后:
unzip -l 查看压缩包不解压
【命令解释】
使用-l参数,可以实现不解压,查看压缩包 的内容。
编码问题
通常在Windows系统上创建的压缩文件,如果有包含中文文档或以中文命名的文件时,默认使用 GBK或其他编码,而Linux上默认使用UTF-8编码。因此通常需要在解压时指定编码类型。
unzip -O GBK 中文压缩文件.zip
3.tar
最常用的打包命令是tar,使用tar程序打包出来的包我们称为tar包,tar 包文件的命令通常都是以 .tar 结尾的。生成 tar 包后,就可以用其它的程序来进行压缩了。
3.1 tar -c 创建一个tar包
【命令解释】
-c表示生成新的tar包,-f指定包的文件名,-f后接文件名,所以不能写成:
tar -P -fc shiyanlou.art /home/shiyanlou/Desktop
-P(或–absolute-names)文件名使用绝对名称,不移除文件名称前的"/"。
3.2 tar -x 解压
【命令解释】
tar -xf 要解压的文件名 -C 要解压到的已经存在的目录
解包一个文件(-x 参数)到指定路径的已存在目录(-C 参数)
3.3 tar -t 只查看不解压文件
tar -t 参数 只查看不解压文件
在创建.tar的基础上添加-z参数来压缩文件。
压缩后:
解压:
自由练习
创建一个名为 test 的文件,分别用 zip 和 tar 打包成压缩包,分别解压到 /home/shiyanlou/test_dir 目录和 /home/shiyanlou/。