一、tar
tar是Linux系统中最常用的压缩工具之一,它的一个优点是它可以保留文件的权限和所有权信息。tar可以创建.tar文件(通常称为"tarball"),或者与gzip或bzip2等工具结合使用来创建.tar.gz或.tar.bz2文件。gzip工具的压缩率通常比bzip2低,但是它的压缩和解压缩速度更快。bzip2工具的压缩率通常比gzip高,但是它的压缩和解压缩速度更慢。
压缩
tar -cvf archive.tar /path/to/file_or_directory
tar -czvf archive.tar.gz /path/to/file_or_directory
tar -cjvf archive.tar.bz2 /path/to/file_or_directory
如果想在压缩大文件时显示压缩进度,可以
tar -czvf yourfile.tar.gz yourdir --checkpoint=.1000
或者
sudo apt-get install pv
tar -czf - directory_to_compress | pv -s $(du -sb directory_to_compress | awk '{print $1}') > output.tar.gz
压缩完大文件后,如果想检查文件是否损坏,则
tar -tzf yourfile.tar.gz
解压
tar -xvf file_name.tar -C /path/to/directory
tar -xzvf archive.tar.gz -C /path/to/directory
tar -xjvf archive.tar.bz2 -C /path/to/directory
如果想在解压大文件时显示进度,则
pv yourfile.tar.gz | tar xzf - -C /destination/path
或者
tar --checkpoint=.10000 -xzf yourfile.tar.gz
二、zip
压缩
zip -r my_archive.zip my_folder
解压
unzip my_archive.zip -d /path/to/directory
三、7zip
7zip是一个开源的压缩和解压缩工具,它支持多种压缩格式,包括其自己的.7z格式,以及.zip、.tar、gzip、bzip2等格式。.7z格式的压缩率非常高,通常比.tar.gz或.tar.bz2文件更小。
安装
sudo apt-get install p7zip-full
压缩
7z a archive.7z /path/to/directory
解压
# -o和目录路径之间没有空格
7z x my_archive.7z -o/path/to/directory
四、rar
安装
sudo apt-get install rar unrar
压缩
rar a archive.rar /path/to/directory
解压
unrar x my_archive.rar /path/to/directory
五、lz4
LZ4是一种非常高速的无损数据压缩算法,它提供了比其他传统压缩方法更快的压缩和解压速度。
安装
sudo apt-get install liblz4-tool
压缩
lz4 file file.lz4
解压
lz4 -d file.lz4 file
六、zstd
Zstandard (zstd) 是一个高性能的压缩算法,它提供了非常高的压缩比和速度。
安装
sudo apt-get install zstd
压缩
# 压缩文件
zstd yourfile
如果你想压缩或解压缩一个目录,你需要使用tar
命令来创建一个tarball,然后再使用zstd
来压缩或解压缩这个tarball
# 压缩目录
tar -I zstd -cf yourdir.tar.zst yourdir
解压
# 解压文件
unzstd yourfile.zst
# 解压目录
unzstd -c yourdir.tar.zst | tar xf -