最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

Linux命令篇 - tar 命令

来源:博客园


(相关资料图)

tar

GNU `tar" saves many files together into a single tape or disk archive, and can restore individual files from the archive.

tar:用于压缩和解压缩文件;

格式:tar [OPTION...] [FILE]...

# tar命令常用的功能# 以下功能是独立的, 一次只能使用一个- -c: 创建新的tar文件;- -x: 解开tar文件;- -t: 列出tar文件中含的文件的信息;- -r: 附加新的文件到tar文件中;# tar命令常用的参数- -z: 使用gzip进行解压缩- -j: 使用bzip2进行解压缩- -Z: 使用compress进行解压缩- -v: 显示解压缩执行过程- -f: 指定要处理的文件名# 压缩- tar -cvf xxx.tar /data  # 仅对 data 目录打包不进行压缩- tar -zcvf xxx.tar /data # 对 data 目录打包并以 tar.gz 方式压缩- tar -jcvf xxx.tar /data # 对 data 目录打包并以 tar.bz2 方式压缩# 解压- tar -xvf xxx.tar # 解包- tar -zxvf xxx.tar.gz # 解压 tar.gz 格式压缩包- tar -jxvf xxx.tar.bz2 # 解压 tar.bz2 格式压缩包- tat -zxvf xxx.tar.gz etc/passwd # 解压 tar.gz 格式压缩包, 直解压部分文件夹

常用参数:

OPTIONS意义
-A新增文件到以存在的备份文件
-B设置区块大小
-c建立新的备份文件
-C <目录>仅压缩指定目录里的内容或解压缩到指定目录
-d记录文件的差别
-x从归档文件中提取文件
-t列出备份文件的内容
-z通过gzip指令压缩/解压缩文件,文件名最好为*.tar.gz
-Z通过compress指令处理备份文件
-f<备份文件>指定备份文件
-v显示指令执行过程
-r添加文件到已经压缩的文件
-u添加改变了和现有的文件到已经存在的压缩文件
-j通过bzip2指令压缩/解压缩文件,文件名最好为*.tar.bz2
-v显示操作过程
-l文件系统边界设置
-k保留原有文件不覆盖
-m保留文件不被覆盖
-w确认压缩文件的正确性
-p保留原来的文件权限与属性
-P使用文件名的绝对路径,不移除文件名称前的“/”号
-N <日期格式>只将较指定日期更新的文件保存到备份文件里
-- -exclude=<范本样式>排除符合范本样式的文件
-- -remove-files归档/压缩之后删除源文件

参考案例:

压缩

  • 使用 gzip压缩格式对目录压缩 .tar.gz
# 使用gzip压缩格式对某个目录进行打包操作, 显示压缩过程, 压缩包规范后缀为.tar.gz# 格式: tar -zcvf 压缩名称.tar.gz 文件目录# 格式: tar zcvf 压缩名称.tar.gz 文件目录$ tar -zcvf backup1.tar.gz /etc....../etc/selinux/targeted/active/modules/100/passenger/cil/etc/selinux/targeted/active/modules/100/passenger/hll/etc/selinux/targeted/active/modules/100/passenger/lang_ext/etc/selinux/targeted/active/modules/100/pcmcia/......
  • 使用 bzip2压缩格式对目录压缩 .tar.bz2
# 使用bzip2压缩格式对某个目录进行打包操作, 显示压缩过程, 压缩包规范后缀为.tar.bz2# 格式: tar -jcvf 压缩名称.tar.bz2 /etc$ tar -jcvf backup2.tar.bz2 /etc# 问题描述: ## 使用 bz2 需要安装 bzip2 否则会出现 `tar (child):bzip2: Cannot exec :Nosuch of file or directory` 错误# 解决方法: ## $ yum install -y bzip2 # 安装 bzip2 即可解决
  • 对当前目录的 .cfg后缀文件进行打包,不进行压缩
# 将当前工作目录内所有以.cfg为后缀的文件打包, 不进行压缩$ tar -cvf backup3.tar *.cfg
  • 对当前目录的 .cfg后缀文件进行打包,不进行压缩,并删除原始文件
$ tar cvf backup4.tar *.cfg --remove-files

解压

  • .tar格式压缩文件解压,解压到当前工作目录
$ tar -xvf backup3.tar
  • tar.gz格式压缩文件解压,解压到当前工作目录
$ tar -zxvf backup1.tar.gz
  • tar.bz2格式压缩文件解压,解压到当前工作目录
$ tar -jxvf backup2.tar.bz2# 问题描述:## 在进行 backup2.tar.bz2 解压时出现: `tar (child): bzip2: Cannot exec: No such file or directory` 错误# 问题解决:## $ yum install -y bzip2 # 安装 bzip2 即可解决
  • tar.gz格式压缩文件解压,解压到 /etc工作目录
$ tar -zxvf backup1.tar.gz -C /etc

其它操作

  • 查看压缩包内文件信息(无需解压)
$ tar -tvf backup4.tar

关键词: