语法:
tar [选项...] [FILE]..
选项:
-c : create :创建新的归档文件(打包),不压缩
-x : extract :从归档文件中提取文件(解包)
-C : 解压缩到指定目录
-f <文件名> : file : 指定归档文件名
-v : verbose :显示操作的详细信息
-z : gzip : 通过gzip压缩归档文件
-j : bzip2 :通过bzip2压缩归档文件
-C <目录> : 切换到指定目录
--exclude=<模式> : 排除匹配模式的文件
-t:--list : 列出归档文件的内容
-p或--same-permissions 用原来的文件权限还原文件。等同于: --preserve-permissions
-r或--append : 追加文件到已存在的归档文件
示例:
1. 创建归档文件,打包文件和目录:
#语法:
tar -cvf 归档文件路径.tar 文件/目录
#把 doc 打包到名为 doc.tar 的文件中
tar -cf doc.tar /home/user/doc/
2.在打包时排除特定文件或目录,以避免将其包含在归档中
--exclude=<模式> : 排除匹配模式的文件:
#打包 doc 目录时,排除以 .txt 结尾的文件
tar -cf doc.tar --exclude='*.txt' /home/user/doc/
3.要创建一个保留权限和所有权的归档文件
--preserve-permissions 等同于 -p:
#打包 doc 目录时,保留原始文件的权限和所有权信息
tar --preserve-permissions -cf doc.tar /home/user/doc/
4.解包归档文件, 还原其中包含的文件和目录
-C : 指定目录:
#语法:
tar -xvf 压缩包/归档文件
#解压 doc.tar
tar -xvf doc.tar
#解压到 指定路径
tar -xvf doc.tar -C /tmp/
5.压缩归档文件,tar 与压缩工具一起使用,以创建压缩的归档文件:
#常见的压缩:-z(使用gzip压缩)和 -j(使用bzip2压缩)
#gzip 压缩:
tar -czvf doc.tar.gz /home/user/doc.txt
#解压:当前目录
tar -xzvf doc.tar.gz
#bzip2 压缩:
tar -cjvf doc.tar.gz /home/user/doc.txt
#解压:home目录
tar -xjvf doc.tar.gz -C /tmp/
6.--list参 或 -t:列出归档文件中的内容,而无需实际提取它们
tar --list -f /tmp/mysql-boost-5.7.27.tar.gz
tar -tf /tmp/mysql-boost-5.7.27.tar.gz |head
7.追加文件到已存在的归档中:
#语法:
tar -rvf 归档文件 新文件
#将名为 newfile 的文件添加到已存在的名为 archive.tar 的归档文件中
tar -rvf archive.tar newfile