• 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 xf dirA.tar.gz(或者:tar xzf dirA.tar.gz)
      • 在当前目录下解压dirA.tar.gz,先使用gzip方式解压缩,然后解包
    • tar xf dirA.tar.bz2(或者:tar xjf dirA.tar.bz2)
      • 在当前目录下解压dirA,tar.bzip2,先使用bzip2方式解压缩,然后解包
    • tar xf dirA.tar.gz  -C dir(或者:tar xzf dirA.tar.gz  -C dir)
      • 将dirA.tar.gz解压到dir目录下(dir目录必须存在)
    • tar xf dirA.tar.bz2 -C dir(或者:tar xjf dirA.tar.bz2 -C dir)
      • 将dirA.tar.bz2解压到dir目录下(dir目录必须存在)

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

    选项

    选项

    含义

    -A或--catenate

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

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

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

    -B或--read-full-records

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

    -c或--create

    建立新的备份文件。

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

    切换到指定的目录。

    -d或--diff或--compare

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

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

    指定备份文件。

    -F或--info-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=

    此参数的效果和指定"-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文件夹

  • 相关阅读:
    Eigen库学习(2)--------------几何模块
    React 的 useContext 的使用
    java-php-python-ssm基于的燕理快递中转站系统的设计与实现计算机毕业设计
    00后程序员,2023年终总结
    【Spring】事务实现原理
    深度学习 --- stanford cs231学习笔记五(训练神经网络的几个重要组成部分之二,数据的预处理)
    标记肽Bz-Pro-Phe-Arg-pNA、59188-28-2
    Git同时配置Gitee和GitHub
    EtherCAT转Modbus网关做为 MODBUS 从站配置案例
    【C++】构造函数调用规则 ( 默认构造函数 | 默认无参构造函数 | 默认拷贝构造函数 | 构造函数调用规则说明 )
  • 原文地址:https://blog.csdn.net/feiying0canglang/article/details/126495146