tar 打包和压缩文件
tar是 Linux/Unix 中的一个常用工具,用于创建和提取归档文件。tar的全称是 “tape archive”,它原本设计用于将文件存储到磁带设备上,现在广泛用于文件归档和压缩。
基本命令格式:
tar [选项] [归档文件名] [文件或目录]
常用选项
操作选项(必选一个):
-c:创建归档文件(create)。
-x:从归档文件中解压文件(extract)。
-t:列出归档文件中的内容(list)。
-u:更新归档文件(append)。
-r:向归档文件追加文件(仅适用于未压缩的归档文件)。
辅助选项:
-f <文件>:指定归档文件名。
-v:详细显示处理过程(verbose)。
-z:通过 gzip 压缩或解压归档文件。
-j:通过 bzip2 压缩或解压归档文件。
-J:通过 xz 压缩或解压归档文件。
--exclude=<模式>:排除符合模式的文件或目录。
其他常用选项:
--directory=<目录>:切换到指定目录再操作。
--wildcards:支持通配符匹配文件名。
--gzip:使用 gzip 压缩(等同于-z)。
--bzip2:使用 bzip2 压缩(等同于-j)。
--xz:使用 xz 压缩(等同于-J)。
示例:
tar -cvf archive.tar file1 file2 dir1
将 file1、file2 和 dir1 打包成 archive.tar。
tar -czvf archive.tar.gz file1 file2 dir1
将file1、file2 和 dir1 打包并使用 gzip 压缩为 archive.tar.gz。
tar -xvf archive.tar
提取archive.tar中的所有文件。
tar -xzvf archive.tar.gz
解压并提取archive.tar.gz。
tar -xvf archive.tar -C /path/to/dir
将archive.tar解压到/path/to/dir。
tar -tvf archive.tar
显示archive.tar中的文件列表。
tar -tvf archive.tar --wildcards '*.txt'
列出归档文件中所有.txt文件。