王占宇
王占宇
26天前 · 3 人阅读

参考资源:https://www.shiyanlou.com/courses/running

1 压缩文件后缀说明

2 zip压缩打包

2.1 压缩文件

解释说明:

  • zip -r -q -o shiyanlou.zip /home/shiyanlou/Desktop 将目录/home/shiyanlou/Desktop 打包成一个文件.
  • -r 表示递归打包包含子目录的全部内容
  • -q 表示为安静模式,即不向屏幕输出信息
  • -o表示输出文件,需在其后紧跟打包输出文件名
  • du -h shiyanlou.zip 查看打包后文件的大小
  • file shiyanlou.zip 查看打包后的文件信息
zip -r -9 -q -o shiyanlou_9.zip /home/shiyanlou/Desktop -x ~/*.zip
zip -r -1 -q -o shiyanlou_1.zip /home/shiyanlou/Desktop -x ~/*.zip
参数 -[1-9]用于设置压缩级别,1 表示最快压缩但体积大,9 表示体积最小但耗时最久。最后那个 -x 是为了排除我们上一次创建的 zip 文件,否则又会被打包进这一次的压缩文件中,注意:这里只能使用绝对路径,否则不起作用。
du -h -d 0 *.zip ~ | sort           
-h       human-readable
-d       max-depth查看文件的深度
zip -r -e -o shiyanlou_encryption.zip /home/shiyanlou/Desktop  创建加密的压缩包,需要输密码
zip -r -l -o shiyanlou.zip /home/shiyanlou/Desktop 在 Linux 创建的 zip 压缩文件在 Windows 上解压后没有任何问题, 需要加上 -l 参数将 LF 转换为 CR+LF 

2.2 unzip解压缩zip文件

unzip shiyanlou.zip   解压缩到当前目录
unzip -q shiyanlou.zip -d ziptest  使用安静模式,将文件解压到指定目录 
unzip -l shiyanlou.zip             -l 查看压缩包的内容
unzip -O GBK 中文压缩文件.zip       Windows 系统上面创建的压缩文件,如果有有包含中文的文档或以中文作为文件名的文件时默认会采用 GBK 或其它编码,而 Linux 上面默认使用的是 UTF-8 编码,如果不加任何处理,直接解压的话可能会出现中文乱码的问题,为了解决这个问题,我们可以在解压时指定编码类型。使用 -O(英文字母,大写 o)参数指定编码类型。

3 rar打包压缩命令

sudo apt-get install rar unrar  安装rar/unrar
rar a shiyanlou.rar .  把当前路径下的内容压缩到shiyanlou.rar, a表示添加到当前目录
rar d shiyanlou.rar gvim.desktop  删除shiyanlou.rar中的gvim.desktop文件
rar l shiyanlou.rar  查看压缩文件
unrar x shiyanlou.rar 全路径解压缩
unrar e shiyanlou.rar tmp/  解压缩到tmp路径下
备注:rar 命令参数中没有-

4 tar打包工具

tar -cf shiyanlou.tar /home/shyanlou/Desktop  创建一个tar压缩包,其中-c表示创建一个 tar 包文件,-f 用于指定创建的文件名,注意文件名必须紧跟在 -f 参数之后,比如不能写成 tar -fc shiyanlou.tar,可以写成 tar -f shiyanlou.tar -c ~。还可以加上 -v 参数以可视的的方式输出打包的文件。上面会自动去掉表示绝对路径的 /,还可以使用 -P 保留绝对路径符。
tar -xf shiyanlou.tar -C tardir   解包一个文件(-x 参数)到指定路径的已存在目录(-C 参数)
tar -tf shiyanlou.tar   只查看不解包文件 -t 参数
tar -cphf etc.tar /etc    -p 保留文件的属性,-h备份链接指向的源文件而不是链接本身
tar -czf shiyanlou.tar.gz /home/shiyanlou/Desktop  压缩成*.tar.gz
tar -xzf shiyanlou.tar.gz   解压缩
  • 压缩工具与参数说明


5 总结

  • zip:
    打包 :zip something.zip something (目录请加 -r 参数)
    解包:unzip something.zip
    指定路径:-d 参数
  • tar:
    打包:tar -zcvf something.tar something
    解包:tar -zxvf something.tar
    指定路径:-C 参数
收藏 0
关键词: shiyanlou zip tar rar 打包 home
评论