Linux tar 命令中文文档

admin, 12 一月, 2025

Linux tar 命令中文文档

tar 命令是 Linux 系统中常用的打包和压缩工具,它可以将多个文件或目录合并成一个文件(归档文件),并且可以选择对其进行压缩,以方便存储和传输。

一、命令格式

tar [选项] [归档文件名] [文件或目录列表]

二、常用选项

-c:创建新的归档文件。例如:tar -cvf archive.tar file1 file2 dir1,这会将 file1、file2 和 dir1 打包成名为 archive.tar 的归档文件,-v 选项用于显示详细的打包过程信息,方便查看进度。

-x:解包归档文件。比如:tar -xvf archive.tar,它会将 archive.tar 中的文件和目录解包到当前目录。若加上 -v 选项同样可显示解包详细信息。

-t:查看归档文件的内容。像 tar -tvf archive.tar,能列出归档文件里包含的文件和目录信息,包括权限、所有者、大小、修改时间等,通过 -v 详细展示。

-f:指定归档文件名。这是必选选项,用于紧跟其后给出要操作的归档文件名,如上述示例中的 archive.tar。

-z:使用 gzip 算法对归档文件进行压缩或解压缩。在创建压缩归档时:tar -czvf archive.tar.gz file1 file2,会生成以 .tar.gz 为后缀的压缩文件;解压缩时:tar -xzvf archive.tar.gz。

-j:使用 bzip2 算法进行压缩或解压缩,类似 -z。创建时:tar -cjvf archive.tar.bz2 file1 file2,解压时:tar -xjvf archive.tar.bz2。

-v:详细模式,在打包、解包、查看内容过程中,输出详细信息,展示每个文件的处理情况,让用户清楚操作进度。

-p:保留原始文件的权限和属性。当打包或解包时,确保文件的所有者、所属组、权限等信息不被改变,例如:tar -cpvf archive.tar dir1。

三、使用示例

  • 打包多个文件:

◦ 假设要将当前目录下的 test1.txt、test2.txt 和 images 目录打包成 myfiles.tar,使用命令:tar -cvf myfiles.tar test1.txt test2.txt images。执行后,会生成 myfiles.tar 归档文件,并且屏幕上会显示每个文件或目录被添加到归档文件的过程。

  • 解包归档文件:

◦ 若收到 myfiles.tar,要解包到当前目录,运行:tar -xvf myfiles.tar,文件和目录将被还原到当前目录下相应位置,若文件已存在可能会覆盖。

  • 查看归档文件内容:

◦ 想提前了解 myfiles.tar 里有什么,执行:tar -tvf myfiles.tar,会列出其中所有文件和目录的详细信息,如权限 drwxr-xr-x 表示目录权限,-rw-r--r-- 表示文件权限,还有文件大小、修改时间等。

  • 创建压缩归档:

◦ 用 gzip 压缩上述文件,命令为:tar -czvf myfiles.tar.gz test1.txt test2.txt images,生成 myfiles.tar.gz 压缩归档文件,相比普通归档文件占用空间更小,适合传输和存储。

  • 解压压缩归档:

◦ 对于 myfiles.tar.gz,解压使用:tar -xzvf myfiles.tar.gz,即可还原文件和目录。若用 bzip2 压缩的归档文件,解压就用相应的 tar -xjvf 命令。

四、注意事项

  • 路径问题

在指定要打包或解包的文件、目录时,要注意相对路径和绝对路径的使用。如果使用绝对路径打包,解包时也会按绝对路径还原,可能会将文件放置到意想不到的位置,建议优先使用相对路径。

  • 覆盖风险

解包时,若目标目录已有同名文件,默认会覆盖,操作前要确认是否需要备份原文件,避免数据丢失。

压缩算法选择:gzip 和 bzip2 各有优劣,gzip 压缩速度相对较快,bzip2 压缩比更高,即压缩后文件更小,但耗时可能更长,根据实际需求选择。