tar
是 Linux 中用于归档文件的常用命令,支持打包、压缩、解压等操作。以下是详细用法和示例:
tar [选项] [输出文件名] [输入文件/目录]
选项 | 说明 |
---|---|
-c |
创建新的归档文件(打包) |
-x |
解压归档文件 |
-f |
指定归档文件名(必须紧跟文件名) |
-v |
显示操作过程(verbose) |
-z |
使用 gzip 压缩/解压(.tar.gz 或 .tgz ) |
-j |
使用 bzip2 压缩/解压(.tar.bz2 ) |
-J |
使用 xz 压缩/解压(.tar.xz ) |
-t |
列出归档内容(不解压) |
-r |
向归档中追加文件 |
-C |
指定解压目录 |
打包为 .tar
(不压缩):
tar -cvf archive.tar /path/to/files/
打包并用 gzip
压缩(.tar.gz
):
tar -czvf archive.tar.gz /path/to/files/
打包并用 bzip2
压缩(.tar.bz2
):
tar -cjvf archive.tar.bz2 /path/to/files/
打包并用 xz
压缩(.tar.xz
):
tar -cJvf archive.tar.xz /path/to/files/
解压 .tar
:
tar -xvf archive.tar
解压 .tar.gz
或 .tgz
:
tar -xzvf archive.tar.gz
解压 .tar.bz2
:
tar -xjvf archive.tar.bz2
解压 .tar.xz
:
tar -xJvf archive.tar.xz
解压到指定目录:
tar -xzvf archive.tar.gz -C /target/directory/
tar -tvf archive.tar.gz
tar -rvf archive.tar newfile.txt
如何排除某些文件?
使用 --exclude
:
tar -czvf archive.tar.gz --exclude="*.log" /path/to/files/
如何压缩多个目录?
直接列出路径:
tar -czvf archive.tar.gz /path1 /path2
如何保留文件权限?
添加 -p
选项:
tar -czvpf archive.tar.gz /path/to/files/
格式 | 命令选项 | 压缩率 | 速度 |
---|---|---|---|
.tar |
-cf |
无 | 最快 |
.tar.gz |
-czf |
中等 | 中等 |
.tar.bz2 |
-cjf |
较高 | 较慢 |
.tar.xz |
-cJf |
最高 | 最慢 |
掌握这些命令后,你可以高效地管理 Linux 中的文件归档与压缩需求!