首页 > 系统相关 >Linux命令篇 - tar 命令

Linux命令篇 - tar 命令

时间:2023-06-11 16:11:24浏览次数:40  
标签:解压 文件 bz2 tar 压缩 gz 命令 Linux

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

标签:解压,文件,bz2,tar,压缩,gz,命令,Linux
From: https://www.cnblogs.com/HOsystem/p/17473084.html

相关文章

  • npm run refresh 命令报错 -4048
    Youcanrerunthecommandwith`--loglevel=verbose`toseethelogsinyour我的操作是把C:\Users\{账户}下的.npmrc文件,删除即可 参考文章:npm-install命令报错-4048_第三人格书的博客-CSDN博客......
  • Linux下安装python3.7.9
    操作系统与原有python[pythondemo@localhost~]$cat/etc/centos-releaseCentOSLinuxrelease7.4.1708(Core)[pythondemo@localhost~]$pythonPython2.7.5(default,Aug42017,00:39:18)[GCC4.8.520150623(RedHat4.8.5-16)]onlinux2Type"help",......
  • Linux命令行与shell脚本编程大全学习笔记
    理解Linux文件权限执行ls-l命令获取当前目录下所有文件、目录和设备的权限。显示的列表字段分别为:文件类型,比如目录(d)、文件(-)、字符型文件(c)或块设备(b);文件的权限;文件的硬链接总数;文件属主的用户名;文件属组的组名;文件的大小(以字节为单位);文件的上次修改时间;文件名或目录名。输出......
  • Maven常用命令及其作用
    一、Maven常用命令及其作用1、mavenclean:对项目进行清理,删除target目录下编译的内容2、mavencompile:编译项目源代码3、maventest:对项目进行运行测试4、mavenpacket:打包文件并存放到项目的target目录下,打包好的文件通常都是编译后的class文件5、maveninstall:在本地......
  • 第16章 命令模式(Command Pattern)
    命令模式(CommandPattern)——.NET设计模式系列之十七TerryLee,2006年7月概述在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求......
  • Linux下六个有关file使用的实例
    简介file的官方解释为:file - determine file type也就是说可以识别文件类型的意思,也可用来辨别一些文件的编码格式。它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的,所以加不加后缀真的无所谓,谁会爱上谁,说起Windows吗,啥也不说了。实例下面......
  • Linux平台下的ELF文件结构探索
    本文以目标文件的结构为引子,通过探索在Linux环境下,一个具体的目标文件的结构来窥探ELF文件的结构。了解ELF文件的结构,对于加深对链接的理解、认识操作系统背后机理都有很大好处。编译和链接在正式讨论目标文件的结构之前,需要先对一个C/C++程序从源代码到可执行程序的构建过程有所了......
  • linux学习笔记:网路诊断工具-mtr命令
    网络诊断工具-mtr命令最近在面试的过程中,被问到了mtr命令,一脸懵逼,据面试官了解,该命令在公司里是经常使用的,借此我也来学习一下!网络诊断的背景网络诊断工具包括ping,traceroute和mtr,它们使用Internet控制消息协议(ICMP)数据包来测试Internet上两点之间的连接和传输。当用户在Intern......
  • 【Linux的高级应用编程】TCP/IP网络编程函数解析
    TCP/IP网络编程函数解析 Sailor_forever socket(建立一个socket通信)相关函数accept,bind,connect,listen表头文件#include<sys/types.h>#include<sys/socket.h>定义函数intsocket(intdomain,inttype,intprotocol);函数说明socket()用来建立一个新的socket,也就是向系统注......
  • 【Linux内核及驱动编程】Linux信号机制分析
           Linux信号机制分析 Sailor_forever  【摘要】本文分析了Linux内核对于信号的实现机制和应用层的相关处理。首先介绍了软中断信号的本质及信号的两种不同分类方法尤其是不可靠信号的原理。接着分析了内核对于信号的处理流程包括信号的触发/注册/执行及注销等。最后......