【Linux】压缩与解压缩
原文:https://zhuanlan.zhihu.com/p/33026265
本文总结tar、zip与unzip的使用,适用于Linux\Unix,包括Mac OS,下面统称Unix。这是张cheat sheet,我自己老是记不清压缩与解压缩的命令,每次用的时候都要现查,现在索性把常用的整理到一块,方便查询使用。
我们假设有一个文件demo.mp4和一个文件夹videos,下面以他们为例压缩与解压缩文件。
用tar压缩可以选择多种格式,不指定格式的话只是把多个文件打包成一个完整的文件,大小是不压缩的。其他三个格式gzip、bzip2、xz (lzma2)可以把文件压缩的更小,后缀通常分别是tar.gz、tar.bz2、tar.xz。gzip比较快,bzip2和xz可以把文件压得更小但更慢。我测试了一些文件,发现xz压缩的文件是最小的。
压缩单个文件
# -c意思是create,-f是生成的文件名,后接需要压缩的文件或文件夹 # -z -j -J分别代表gzip bzip2 xz三种压缩的格式 tar -cf demo.mp4.tar demo.mp4 tar -czf demo.mp4.tar.gz demo.mp4 tar -cjf demo.mp4.tar.bz2 demo.mp4 tar -cJf demo.mp4.tar.xz demo.mp4
压缩文件夹
# -c -f意思同上 # -z -j -J分别代表gzip bzip2 xz三种压缩的格式 tar -cf videos.tar videos tar -czf videos.tar.gz videos tar -cjf videos.tar.bz2 videos tar -cJf videos.tar.xz videos
解压缩
解压缩就是把选项-c替换成-x,如下
# -x意思是extract,-f是被解压缩的文件 # -z -j -J分别代表gzip bzip2 xz三种格式 tar -xf videos.tar tar -xzf videos.tar.gz tar -xjf videos.tar.bz2 tar -xJf videos.tar.xz
不过比较方便的是,可以不用指定压缩算法选项,如下
tar -xf videos.tar tar -xf videos.tar.gz tar -xf videos.tar.bz2 tar -xf videos.tar.xz
Zip与Unzip
zip和unzip的用法跟tar稍有不同
压缩文件或视频
zip demo.mp4.zip demo.mp4
zip -r videos.zip videos # 压缩文件夹需要加-r
解压缩
解压缩比较直观,直接命令接文件名就行了
unzip demo.mp4.zip
unzip videos.zip