Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rar, 偶尔也会见到.7z的压缩文件. 而在Linux下, 各种压缩格式会把人搞晕. 这里记一下一些常见压缩格式和解压方法.
Linux最常用的打包工具是tar
. tar只是把程序打包成一个文件, 需要借用其他工具实现压缩. tar
可以通过选项来调用控制压缩格式. tar默认生成的打包文件是.tar
结尾的, 此时只是打包了, 没有压缩. tar最基础的有三个选项:
-
-f
: 该选项后面接解压的文件名. 一般f作为一堆选项的最后一个. 如-czf
-
-c
: 压缩 -
-x
: 解压 -
-v
: 显示详细过程. 其实我不爱用.
ubuntu内建了不少压缩和解压工具, 例如bzip
, zip
, bzip2
等. 这里也大概介绍一下简单实用
zip格式
unzip all.zip
- 压缩是
zip all.zip a.txt b.txt
rar格式
-
unrar x all.rar
或unrar e all.rar
unrar
要额外安装,sudo apt install unrar
. 压缩时rar a all a.txt b.txt
7z格式
7z e all.7z
- 压缩时:
7z a file.7z a.txt b.txt
7z需要额外安装:
sudo apt install p7zip-full p7zip-rar
iso格式
- 解压可以用7z:
7z -x file.iso
- 可以用加载的方法先加载, 但不能更改. 可以复制出来.
mount -o loop file.iso /mnt/tmp
cp -r /mnt/tmp/* .
umount /mnt/tmp
- 压缩的话, 对于设备可以:
dd if=/dev/cdrom of=file.iso
, 对于文件或文件夹:mkisofs -r -o file.iso myfolder/
tar格式
直接 tar -xf file.tar
gz格式以及 tgz 或 tar.gz格式
-
gzip -d all.gz
或gunzip all.gz
-
tar -xzf all.tgz
, 或者gunzip
后再tar
处理.
bz2格式 以及 tgz 或 tar.bz2 格式
-
bzip2 -d all.bz2
或bunzip2 all.bz2
-
tar -xjf all.tgz
或实用bzip后再tar. tar -xjf all.tar.bz2
xz格式和tar.xz格式
xz -d all.xz
tar -xJf all.tar.xz
- 压缩文件:
xz examplefile
lzma格式 和 tar.lzma或.tlz格式
-
lzma -d all.lzma
或unlzma all.lzma
- 将内容放入一个文件可以:
lzma -d --stdout all.lzma > examplefile
-
tar --lzma -xf all.lzma
或lzma -cd file.tar.lzma | tar xvf -
- 压缩文件:
lzma file
或lzma -c --stdout all > all.lzma
lz格式 和 tar.lz格式
这种是使用lzip生成的格式
-
lzip -d all.tar.lz
解压 tar --lzip -xf all.tar.lz
.Z格式以及 tar.z 格式
uncompress all.Z
tar -xZf all.tar.z
压缩对应的是
compress
命令, 好像默认没有.
lzo格式和tar.lzo格式
-
tar --lzop -xf all.tar.lzo
或lzop -d -c all.tar.lzo | tar xvf -
shar格式
比较少见的格式. shell archive 的简写. 据说用于脚本压缩.
unshar all.shar
- 压缩文件:
shar examplefile > examplefile.shar
需额外安装:
sudo apt-get install sharutils
kgb 格式
比较少见的格式, 据说支持zip, gzip, 7zip, rar
格式.
kgb x all.kgb
kgb all.kgb a.txt b.txt
需要额外安装:
sudo apt install kgb
ar格式 (.a格式)
rar格式的前身, 在一些老的debian系统还会见到.
-
ar -xv fill.a
解压 -
ar cvsr all.a filelist
压缩
cpio格式
内置命令cpio, 将输入的一系列文件读取内容并输出. 比较少用.
-
cpio -idv <backup.cpio
解压 -
ls | cpio -ov > backup.cpio
压缩
zpac和pax
这两种是更新的打包处理方法, 使用PAQ context mixing algorithms
算法,
-
zpaq c examplefile.tar examplefile
压缩 -
pax -wf examplefile.tar examplefile
压缩 -
pax -r <examplefile.tar
解压
需要额外安装:
sudo apt install pax zpac
网友评论