文件操作
目录
解压缩
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
)
压缩率: 很高。通常能提供比
gzip
和bzip2
更高的压缩率,但压缩时间也较长。
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
)
压缩率: 很高。
lzma
是xz
的前身,具有很高的压缩率,但速度较慢。
tar --lzma -cvf archive.tar.lzma directory/
6. tar + 7z (.tar.7z
)
压缩率: 非常高。
7z
是7-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/