Linux命令之 tar命令
warning:
这篇文章距离上次修改已过1792天,其中的内容可能已经有所变动。
tar命令用于把零散的文件打包成一个文件,方便备份和网络传输。
[waring]tar本身不具有压缩功能。他是调用压缩功能实现的.[/waring]命令语法
tar[必要参数][选择参数][文件]
附加参数
参数 | 说明 |
---|---|
-A | 新增压缩文件到已存在的压缩 |
-B | 设置区块大小 |
-c | 建立新的压缩文件 |
-d | 记录文件的差别 |
-r | 添加文件到已经压缩的文件 |
-u | 添加改变了和现有的文件到已经存在的压缩文件 |
-x | 从压缩的文件中提取文件 |
-t | 显示压缩文件的内容 |
-z | 支持gzip解压文件 |
-j | 支持bzip2解压文件 |
-Z | 支持compress解压文件 |
-v | 显示操作过程 |
-l | 文件系统边界设置 |
-k | 保留原有文件不覆盖 |
-m | 保留文件不被覆盖 |
-W | 确认压缩文件的正确性 |
-b | 设置区块数目 |
-C | 切换到指定目录 |
-f | 指定压缩文件 |
常用范例
文件打包
# 仅打包,不压
tar -cvf test.tar test
# 打包后,以 gzip 压缩
tar -zcvf test.tar.gz test
#打包后,以 bzip2 压
tar -zcvf test.tar.bz2 test

查看tar包内
tar -ztvf test.tar.gz

解压tar包
tar -zxvf test.tar.gz
只解压tar包内部分文件
tar -zxvf test.tar.gz test

文件备份下来,并且保存其权限
tar -zcvpf test.tar.gz test
在 文件夹当中,比某个日期新的文件才备份
tar -N "2020/04/25" -zcvf test.tar.gz test
备份文件夹内容是排除部分文件
tar --exclude scf/service -zcvf scf.tar.gz scf/*
常见解压/压缩命令
tar
#解包:
tar xvf FileName.tar
#打包:
tar cvf FileName.tar DirName
.gz
#解压1:
gunzip FileName.gz
#解压2:
gzip -d FileName.gz
#压缩:
gzip FileName
.tar.gz 和 .tgz
#解压:
tar zxvf FileName.tar.gz
#压缩:
tar zcvf FileName.tar.gz DirName
.bz2
#解压1:
bzip2 -d FileName.bz2
#解压2:
bunzip2 FileName.bz2
#压缩:
bzip2 -z FileName
.tar.bz2
#解压:
tar jxvf FileName.tar.bz2
#压缩:
tar jcvf FileName.tar.bz2 DirName
.bz
#解压1:
bzip2 -d FileName.bz
#解压2:
bunzip2 FileName.bz
#压缩:未知
.tar.bz
#解压:
tar jxvf FileName.tar.bz
#压缩:未知
.Z
#解压:
uncompress FileName.Z
#压缩:
compress FileName
.tar.Z
#解压:
tar Zxvf FileName.tar.Z
#压缩:
tar Zcvf FileName.tar.Z DirName
.zip
#解压:
unzip FileName.zip
#压缩:
zip FileName.zip DirName
.rar
# 解压:
rar x FileName.rar
# 压缩:
rar a FileName.rar DirName