[转] 修炼一名程序员的职业水准  • • •  SSH Proxy       all posts in Archive

Linux 中的包和压缩

与 Windows 大家已经习以为常的 RAR 压缩相比,Linux里面的包和压缩格式看起来是一团乱码,还是整理一下相关概念。
RPM (Redhat Package Manager)
最初是Red Hat Linux提供的一种二进制包封装格式,后缀为.rpm,基本是Red Hat 系列的Linux发行版本的标准使用.
解包:rpm2cpio FileName.rpm | cpio -div
DEB
是Debain Linux提供的一种二进制包封装格式,后缀名是.deb.
解包:ar p FileName.deb data.tar.gz | tar zxf -
TAR (Tape Archive)
后缀名.tar。常用于将多个文件或者目录归档为tar文件。最初目的是创建和读取归档文件并磁盘备份。
tar在创建归档文件的时候,会增加额外的开销,归档的后的文件更大一些:
解包: tar xvf  FileName.tar
打包:tar cvf   FileName.tar DirName
ZIP
后缀名.zip。ZIP是有专利的,是主流的压缩工具,同时也是归档工具,目前Windows和Linux都内置了对ZIP的支持。它的问题是压缩效率不够高。
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
RAR (Roshal ARchive)
后缀.rar,最初是用于DOS,后来移植到其他平台,不仅是压缩工具,也是归档工具。RAR编码器是有专利的,但是编译好的解压程序依然存在与若干平台。
解压:rar a FileName.rar
压缩:rar e FileName.rar
7-ZIP
后缀.7z。开源的压缩格式。因为使用RAR特定许可协议,所以提供了对RAR压缩格式的支持。它的压缩率比较高,使用Unicode来存档,可以避免系统间的乱码问题。
Ubuntu安装 : sudo apt-get install p7zip-ful
解压:7z e archive.7z
压缩:7z a -t7z archive.7z dir1
COMPRESS
后缀名.Z。早期的压缩格式,压缩率较低。
解压:uncompress FileName.Z
压缩:compress FileName
GZIP (GUN Zip)
后缀名.gz。它是一个GNU自由软件的文件压缩程序,只是一个数据压缩工具,而不是归档工具。
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
BZIP2
后缀名.bz2。bzip2比传统的gzip或者ZIP的压缩效率更高,但是它的压缩速度较慢。bzip2只是一个数据压缩工具,而不是归档工具。程序本身不包含用于多个文件、加密或者文档切分的工具,相反按照UNIX的传统需要使用如tar或者GnuPG这样的外部工具。
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName