tar
是一个在Linux和Unix系统中用于创建和处理归档文件的命令。
下面是tar
命令的详细用法,包括它的所有常用选项和一些示例。
基本语法
bash
tar [选项] [归档文件] [文件或目录]
常用选项
基本操作
-c
:创建一个新的归档文件(create)。-x
:解压归档文件(extract)。-f
:指定归档文件的名称(file)。这是一个必选项,需要紧跟在创建或解压命令后面。
压缩选项
-z
:使用gzip压缩归档文件(compress with gzip)。-j
:使用bzip2压缩归档文件(compress with bzip2)。-J
:使用xz压缩归档文件(compress with xz)。
显示选项
-v
:显示操作过程中的文件信息(verbose)。-t
:列出归档文件的内容(list)。
其他常用选项
-C
:指定解压缩的目标目录(change to directory)。-r
:向现有的归档文件中添加文件(append)。-u
:更新现有归档文件中的文件(update)。-A
:将归档文件合并(concatenate archives)。
示例
创建归档文件
创建一个包含目录和文件的归档文件:
bash
tar -cvf archive.tar file1 file2 dir1
使用gzip压缩创建归档文件:
bash
tar -czvf archive.tar.gz file1 file2 dir1
使用bzip2压缩创建归档文件:
bash
tar -cjvf archive.tar.bz2 file1 file2 dir1
使用xz压缩创建归档文件:
bash
tar -cJvf archive.tar.xz file1 file2 dir1
解压归档文件
解压不压缩的归档文件:
bash
tar -xvf archive.tar
解压gzip压缩的归档文件:
bash
tar -xzvf archive.tar.gz
解压bzip2压缩的归档文件:
bash
tar -xjvf archive.tar.bz2
解压xz压缩的归档文件:
bash
tar -xJvf archive.tar.xz
列出归档文件内容
列出不压缩归档文件的内容:
bash
tar -tvf archive.tar
列出gzip压缩归档文件的内容:
bash
tar -tzvf archive.tar.gz
指定解压目录
将归档文件解压到指定目录:
bash
tar -xzvf archive.tar.gz -C /path/to/destination
向现有归档文件添加文件
向现有的归档文件中添加文件:
bash
tar -rvf archive.tar newfile
更新现有归档文件中的文件
更新现有的归档文件:
bash
tar -uvf archive.tar updatedfile
合并归档文件
合并多个归档文件:
bash
tar -Avf archive1.tar archive2.tar
更多选项
--delete
:从归档文件中删除文件(注意:此选项可能不被所有tar
版本支持)。
bash
tar --delete -f archive.tar unwantedfile
--exclude
:在创建归档文件时排除指定文件或目录。
bash
tar --exclude='*.log' -cvf archive.tar dir1
-P
:保留文件的绝对路径。
bash
tar -cvPf archive.tar /absolute/path/to/file
-p
:保留文件权限。
bash
tar -xvpf archive.tar
--strip-components
:在解压时去掉路径的指定层级。
bash
tar -xvzf archive.tar.gz --strip-components=1