当前位置: 首页 > news >正文

Linux命令--压缩/解压缩--使用/实例

原文网址:Linux命令--压缩/解压缩--使用/实例_IT利刃出鞘的博客-CSDN博客

简介

        本文介绍Linux的压缩和解压缩相关命令。

tar(.tar.gz, .tar.bz2等)

示例

①将某个目录dirA制作为压缩包。

  tar czf dirA.tar.gz  dirA    //将目录dirA压缩为文件包dirA.tar.gz,以gzip方式进行压缩
  tar cjf dirA.tar.bz2 dirA    //将目录dirA压缩为文件包dirA.tar.bz2,以bzip2方式进行压缩

②将某个压缩包文件dirA.tar.gz解开。(解开时,只用xf即可,它会自动解析格式

  tar xzf dirA.tar.gz          //在当前目录下解开dirA.tar.gz,先使用gzip方式解压缩,然后解包
  tar xjf dirA.tar.bz2         //在当前目录下解开dirA,tar.bzip2,先使用bzip2方式解压缩,然后解包
  tar xzf dirA.tar.gz  -C<dir> //将dirA.tar.gz解开到<dir>目录下
  tar xjf dirA.tar.bz2 -C<dir> //将dirA.tar.bz2解开到<dir>目录下

注意:.tar.gz和.tgz是一种格式。

选项

选项

含义

-A或--catenate

新增文件到已存在的备份文件。

-b<区块数目>或--blocking-factor=<区块数目>

设置每笔记录的区块数目,每个区块大小为12Bytes。

-B或--read-full-records

读取数据时重设区块大小。

-c或--create

建立新的备份文件。

-C<目的目录>或--directory=<目的目录>

切换到指定的目录。

-d或--diff或--compare

对比备份文件内和文件系统上的文件的差异。

-f<备份文件>或--file=<备份文件>

指定备份文件。

-F<Script文件>或--info-script=<Script文件>

每次更换磁带时,就执行指定的Script文件。

-g或--listed-incremental

处理GNU格式的大量备份。

-G或--incremental

处理旧的GNU格式的大量备份。

-h或--dereference

不建立符号连接,直接复制该连接所指向的原始文件。

-i或--ignore-zeros

忽略备份文件中的0Byte区块,也就是EOF。

-j使用bzip2方式进行处理,它与“c”结合就表示压缩,与“x”结合就表示解压缩。
-J使用xz方式进行处理,它与“c”结合就表示压缩,与“x”结合就表示解压缩。

-k或--keep-old-files

解开备份文件时,不覆盖已有的文件。

-K<文件>或--starting-file=<文件>

从指定的文件开始还原。

-l或--one-file-system

复制的文件或目录存放的文件系统,必须与tar指令执行时所处的文件系统相同,否则不予复制。

-L<媒体容量>或-tape-length=<媒体容量>

设置存放每体的容量,单位以1024Bytes计

-m或--modification-time

还原文件时,不变更文件的更改时间。

-M或--multi-volume

在建立,还原备份文件或列出其中的内容时,采用多卷册模式。

-N<日期格式>或--newer=<日期时间>

只将较指定日期更新的文件保存到备份文件里。

-o或--old-archive或--portability

将资料写入备份文件时使用V7格式。

-O或--stdout

把从备份文件里还原的文件输出到标准输出设备。

-p或--same-permissions

用原来的文件权限还原文件。

-P或--absolute-names

文件名使用绝对名称,不移除文件名称前的"/"号。

-r或--append

新增文件到已存在的备份文件的结尾部分。

-R或--block-number

列出每个信息在备份文件中的区块编号。

-s或--same-order

还原文件的顺序和备份文件内的存放顺序相同。

-S或--sparse

倘若一个文件内含大量的连续0字节,则将此文件存成稀疏文件。

-t或--list

列出备份文件的内容。

-T<范本文件>或--files-from=<范本文件>

指定范本文件,其内含有一个或多个范本样式,让tar解开或建立符合设置条件的文件。

-u或--update

仅置换较备份文件内的文件更新的文件。

-U或--unlink-first

解开压缩文件还原文件之前,先解除文件的连接。

-v或--verbose

显示指令执行过程。

-V<卷册名称>或--label=<卷册名称>

建立使用指定的卷册名称的备份文件。

-w或--interactive

遭遇问题时先询问用户。

-W或--verify

写入备份文件后,确认文件正确无误。

-x或--extract或--get

从备份文件中还原文件。

-X<范本文件>或--exclude-from=<范本文件>

指定范本文件,其内含有一个或多个范本样式,让ar排除符合设置条件的文件。

-z或--gzip或--ungzip

通过gzip指令处理备份文件。与‘V’结合就表示压缩,与“x”结合就表示解缩。

-Z或--compress或--uncompress

通过compress指令处理备份文件。

-<设备编号><存储密度>

设置备份用的外围设备编号及存放数据的密度。

--after-date=<日期时间>

此参数的效果和指定"-N"参数相同。

--atime-preserve

不变更文件的存取时间。

--backup=<备份方式>或--backup

移除文件前先进行备份。

--checkpoint

读取备份文件时列出目录名称。

--concatenate

此参数的效果和指定"-A"参数相同。

--confirmation

此参数的效果和指定"-w"参数相同。

--delete

从备份文件中删除指定的文件。

--exclude=<范本样式>

排除符合范本样式的文件。

--group=<群组名称>

把加入设备文件中的文件的所属群组设成指定的群组。

--help

在线帮助。

--ignore-failed-read

忽略数据读取错误,不中断程序的执行。

--new-volume-script=<Script文件>

此参数的效果和指定"-F"参数相同。

--newer-mtime

只保存更改过的文件。

--no-recursion

不做递归处理,也就是指定目录下的所有文件及子目录不予处理。

--null

从null设备读取文件名称。

--numeric-owner

以用户识别码及群组识别码取代用户名称和群组名称。

--owner=<用户名称>

把加入备份文件中的文件的拥有者设成指定的用户。

--posix

将数据写入备份文件时使用POSIX格式。

--preserve

此参数的效果和指定"-ps"参数相同。

--preserve-order

此参数的效果和指定"-A"参数相同。

--preserve-permissions

此参数的效果和指定"-p"参数相同。

--record-size=<区块数目>

此参数的效果和指定"-b"参数相同。

--recursive-unlink

解开压缩文件还原目录之前,先解除整个目录下所有文件的连接。

--remove-files

文件加入备份文件后,就将其删除。

--rsh-command=<执行指令>

设置要在远端主机上执行的指令,以取代rsh指令。

--same-owner

尝试以相同的文件拥有者还原文件。

--suffix=<备份字尾字符串>

移除文件前先行备份。

--totals

备份文件建立后,列出文件大小。

--use-compress-program=<执行指令>

通过指定的指令处理备份文件。

--version

显示版本信息。

--volno-file=<编号文件>

使用指定文件内的编号取代预设的卷册编号。

unzip(.zip)

解压.zip文件

例:unzip xxx.zip

gunzip(.gz)

解压缩.gz文件

例:gunzip xxx.gz  (或gzip -d xxx.gz)

cpio

1.解压文件

  • 解压cpio文件:cpio -idmv < filename.cpio 
  • 解压img文件: cpio -idmv < filename.img

注意:cpio不能解压到指定目录,只能解压到当前目录,防止解压后混乱,方法如下:

  1. mkdir tmp;
  2. cp filename.cpio tmp;
  3. cpio -idmv --no-absolute-filenames < filename.cpio;

这样,就能解压到tmp目录了

2.备份还原

备份:cpio -covB > [file|device] 将数据备份到文件或设备上
还原:cpio -icduv < [file|device} 将数据还原到系统中

常用参数:

-o   :将数据copy到文件或设备上
-i   :将数据从文件或设备上还原到系统中
-t   :查看cpio建立的文件或设备内容
-c   :一种比较新的portable format方式存储
-v   :在屏幕上显示备份过程中的文件名
-B   :让预设的blocks可以增加到5120bytes,默认是512bytes,这样可以使备份速度加快
-d   :自动建立目录,这样还原时才不会出现找不到路径的问题
-u   :更新,用较新的文件覆盖旧的文件
-m   :创建文件时保留以前文件的修改时间
--no-absolute-filenames:

.cpio.gz

有xxx.cpio.gz文件

gunzip xxx.cpio.gz        //生成xxx.cpio文件
cpio -idmv < xxx.cpio       //生成xxx文件夹

相关文章:

  • Lua脚本如何调用C/C++模块,Windows以及Linux版本演示
  • springboot+jsp球队球员比赛数据管理系统java
  • upload-labs靶场通关指南(9-11关)
  • 【Arduino+ESP32专题】案例:使用INA3221监控电压电流
  • 微信小程序——语法篇
  • 【数据结构】交换排序之冒泡排序与快速排序
  • 第二十七章 使用后台任务页面
  • 【Hive】建表时的存储格式
  • 计算机网络 | 计算机网络体系结构
  • 【云原生】Docker的安装和卸载
  • 古琴【A5】良宵引
  • Causality
  • 【云原生 • Kubernetes】kubernetes 核心技术 - 持久化存储
  • 剑指offer--重建二叉树
  • 索引优化分析_预热_JOIN
  • 【Linux系统编程】快速查找errno错误码信息
  • 4. 路由到控制器 - Laravel从零开始教程
  • bearychat的java client
  • co.js - 让异步代码同步化
  • ECS应用管理最佳实践
  • ES学习笔记(12)--Symbol
  • Facebook AccountKit 接入的坑点
  • PAT A1050
  • PHP变量
  • ReactNativeweexDeviceOne对比
  • Vue全家桶实现一个Web App
  • Windows Containers 大冒险: 容器网络
  • 反思总结然后整装待发
  • 将 Measurements 和 Units 应用到物理学
  • 每天一个设计模式之命令模式
  • 一道闭包题引发的思考
  • 一道面试题引发的“血案”
  • ionic入门之数据绑定显示-1
  • ​水经微图Web1.5.0版即将上线
  • #define
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (27)4.8 习题课
  • (BFS)hdoj2377-Bus Pass
  • (floyd+补集) poj 3275
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (转)创业家杂志:UCWEB天使第一步
  • .NET 5种线程安全集合
  • .NET CLR Hosting 简介
  • .NET Core 2.1路线图
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .NET的数据绑定
  • .NET简谈设计模式之(单件模式)
  • /etc/sudoer文件配置简析
  • @Autowired标签与 @Resource标签 的区别
  • @Transient注解
  • [ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解
  • [AIGC] Spring Interceptor 拦截器详解