本文整理 Linux 中常用的打包/压缩/解压命令, 方便参考. 文中仅简明提及各命令的常见用法, 完整的语法介绍请参看其它资料.

1. tar

经常会看到文件后缀中带 .tar 的文件, 这些文件基本都是直接通过 tar 命令打包 / 压缩 / 解压.

例如: .tar, .tar.gz, .tgz, .tar.xz, .tar.bz, .tar.lzma …

命令格式: tar [选项...] [FILE]...

压缩算法 文件后缀 压缩 解压
不压缩 .tar tar cf FileName.tar DirName tar xf FileName.tar
gzip .tar.gz .tgz tar zcf FileName.tar.gz DirName
tar zcvf FileName.tgz DirName
tar zxf FileName.tar.gz
tar zxvf FileName.tgz
compress .tar.Z tar Zcf FileName.tar.Z DirName tar Zxf FileName.tar.Z
bzip2 .tar.bz2 tar jcf FileName.tar.bz2 DirName tar jxf FileName.tar.bz2
xz .tar.xz tar Jcf FileName.tar.xz DirName tar Jxf FileName.tar.xz
  • 最简单的使用方法:
    • 压缩: tar acf FileName.xxx DirName, 其中 xxx 为文件后缀, tar 会使用归档后缀名来决定使用哪个压缩程序. 例如: tar acvf FileName.tar.gz DirName 则会使用 gzip 压缩.
    • 解压: tar xf FileName.xxx , 其中 xxx 为文件后缀, tar 会根据后缀名自行决定如何解压.
  • 常用命令选项:

    • c: 创建一个新归档 ( create )
    • x: 从归档中解出文件 ( extract )
    • v: 详细地列出处理的文件, 很多人喜欢诸如 tar cvf FileName.tar DirName 的形式, 就是喜欢看哗哗的刷屏, 呵呵~
    • C: 解压到指定目录. 例如: tar xf FileName.tar.gz -C DirName
    • –exclude: 压缩时排除指定文件. 例如: tar zcf FileName.tar.gz * --exclude "*.jpg"
    • –exclude-vcs: 压缩时排除版本控制文件. 例如: tar zcf FileName.tar.gz * --exclude-vcs
  • 指定压缩/解压方法时可能因为未安装相应的工具而报错, 可直接 yum 安装

    • compress: yum install ncompress
    • bzip2: yum install -y bzip2
    • lzma: yum install -y lzma

2. zip / unzip

安装: yum install zip unzip

解压:unzip FileName.zip

压缩:zip FileName.zip DirName

3. rar

安装: 去 www.rarlab.com 找一个喜欢的版本下载链接, 然后下载… 似乎没有 Free 的

1
2
3
4
5
6
7
8
9
# 下载
wget https://www.rarlab.com/rar/rarlinux-x64-5.9.0.tar.gz

# 解压
tar xf rarlinux-x64-5.9.0.tar.gz

# 编译安装
cd rar
make install

解压:rar x FileName.rar
压缩:rar a FileName.rar DirName