tar命令在Unix和类Unix系统中被广泛用于打包和压缩文件。以下是对tar命令的详细说明:
一、命令概述
tar命令的名称来源于“tape archive”(磁带存档),最初设计用于在磁带上创建备份。现在,它已成为在Unix和类Unix系统中打包和压缩文件的常用工具。
二、基本用法
- 创建tar存档
tar -cvf archive.tar file1 file2 directory1
-c
:创建一个新的存档。-v
:显示操作过程中的详细信息。-f
:指定存档文件的名称。
- 解压tar存档
tar -xvf archive.tar
-x
:提取存档中的文件。-v
:显示详细信息。-f
:指定存档文件的名称。
- 查看tar存档内容
tar -tvf archive.tar
-t
:显示存档中的内容。
三、压缩和解压缩
- 使用gzip压缩和解压
- 压缩:
tar -czvf archive.tar.gz files/directory
-z
:使用gzip压缩。- 解压:
tar -xzvf archive.tar.gz
- 压缩:
- 使用bzip2压缩和解压
- 压缩:
tar -cjvf archive.tar.bz2 files/directory
-j
:使用bzip2压缩。- 解压:
tar -xjvf archive.tar.bz2
- 压缩:
四、其他常见选项
- 指定目标目录:
-C /path/to/target_directory
- 在解压时,可以使用
-C
选项指定目标目录。
- 在解压时,可以使用
- 追加文件到已存在的存档:
-r
tar -rvf archive.tar newfile
-r
:追加文件到存档中。
- 从存档中删除文件:
--delete
tar --delete -f archive.tar file-to-delete
--delete
:从存档中删除文件。
五、注意事项
- 在使用tar命令时,
-c
、-x
和-t
选项只能单独使用,不能同时存在于一个命令中。 -f
选项后面必须紧跟存档文件的名称,并且不能与其他选项或参数混淆。- 使用tar命令进行压缩时,通常需要先使用tar进行打包,然后再使用gzip或bzip2等压缩工具进行压缩。
六、示例
- 打包整个/etc目录到/tmp/etc.tar:
tar -cvf /tmp/etc.tar /etc
- 打包并gzip压缩/etc目录到/tmp/etc.tar.gz:
tar -zcvf /tmp/etc.tar.gz /etc
- 追加文件original-ks.cfg到已存在的mytest.tar存档中:
tar -rvf mytest.tar original-ks.cfg
以上是对tar命令的详细说明,包括基本用法、压缩和解压缩、其他常见选项、注意事项和示例。希望这些信息能帮助您更好地理解和使用tar命令。