Skip to main content

文件操作

目录

  1. 解压缩

解压缩

tar

tar [OPTION...] [FILE]...

常用选项:

  • -C, --directory=DIR : change to directory DIR
    • 压缩时归档:
    /home/user/documents/
    ├── project/
    │ ├── file1.txt
    │ └── file2.txt
    # 将 project 目录中的文件打包成一个归档 project.tar.gz,但希望归档内的路径不包含 /home/user/documents/project/ 的完整路径,而是从 project/ 目录开始。
    tar -czvf project.tar.gz -C /home/user/documents project/

常用示例:

1. tar + gzip (.tar.gz)

压缩率: 中等。gzip 是常见的压缩算法,压缩速度快,但压缩比率一般。

tar -czvf archive.tar.gz directory/

zz

2. tar + bzip2 (.tar.bz2)

压缩率: 高。bzip2 提供更高的压缩率,但速度较慢。

tar -cjvf archive.tar.bz2 directory/
3. tar + xz (.tar.xz)

压缩率: 很高。通常能提供比 gzipbzip2 更高的压缩率,但压缩时间也较长。

tar -cJvf archive.tar.xz directory/
4. tar + zstd (.tar.zst)

压缩率: 高。zstd 是一种现代压缩算法,通常能在压缩率和速度之间取得较好的平衡。

tar --use-compress-program=zstd -cvf archive.tar.zst directory/
5. tar + lzma (.tar.lzma)

压缩率: 很高。lzmaxz 的前身,具有很高的压缩率,但速度较慢。

tar --lzma -cvf archive.tar.lzma directory/
6. tar + 7z (.tar.7z)

压缩率: 非常高。7z7-Zip 的压缩格式,具有极高的压缩率,但压缩速度也较慢。

tar -cvf - directory/ | 7z a -si archive.tar.7z
7. tar + brotli (.tar.br)

压缩率: 高。brotli 是一种由 Google 开发的压缩算法,压缩率高且解压速度快。

tar --use-compress-program=pbzip2 -cvf archive.tar.br directory/
# brotli
tar --use-compress-program=brotli -cvf archive.tar.br directory/