• Linux命令笔记三


    基础运维类命令

    如何对文件打包、压缩与解压缩

    Linux运维中,对于压缩常用的命令主要有tar、gzip/gunzip和bzip2和bunzip2,而使用最多的就是tar指令,tar指令参数非常多,功能也很强大,但使用最频繁的参数只有几个,也就是只需要记住这几个参数就能轻松玩转tar命令了。

    文件归档并压缩解压命令tar

    tar是Linux下经常使用的归档工具,可以对文件或者目录进行打包归档,归成一个文件,但是并不进行压缩。其格式如下:

    tar [主选项 + 辅助选项] 文件或者目录

    tar 命令主选项含义

    主选项含    义
    -c (--create)创建新的文件
    -r (--append)把要归档的文件追加到档案文件的末尾
    -t (--list)列出档案文件中已经归档的文件列表
    -x (--extract)从打包的档案文件中还原出文件
    -u (--update)

    更新档案文件,用新的文件替换档案中的原始文件

    tar 命令辅助选项含义

    辅助选项含    义
    -z调用 gzip 命令在文件打包的过程中压缩/解压文件

    -w

    在还原文件时,把所有文件的修改时间设定为现在时间
    -j调用 bzip2 命令在文件打包的过程中压缩/解压文件
    -Z调用compress命令过滤档案
    -f-f 选项后面紧跟档案文件的存储设备,默认是磁盘,需要指定档案文件名;如果是磁带,只需指定磁带设备名即可。注意,在 -f 选项之后不能再跟任何其他选项,也就是说 -f 必须是 tar 命令的最后一个选项 
    -v指定在创建归档文件过程中,显示各个归档文件的名称
    -p在文件归档的过程中,保持文件的属性不发生变化

    -N

    "yyyy/mm/dd"

    在指定日期之后的文件才会被打包到档案文件中
    --exclude file

    在打包过程中,不将指定 file 文件打包

    下面看几个 tar 命令使用的例子

    将 /etc 目录下的所有文件打包,并显示打包的详细文件,设置打包文件名未 etc.tar ,同时保存文件到 /opt 目录下

    tar -cvf /opt/etc.tar /etc

    这里的档案名为 etc.tar , 档案名可以随意起,Linux上利用 tar 命令打包出来的档案文件一般用 .tar 作为标识。

    将 /etc 目录下的所有文件打包并压缩,然后显示打包的详细文件,设置打包文件名为 etc.tar.gz,同时保存文件到 /opt 目录下。

    1. tar -zxvf /opt/etc.tar.gz /etc
    2. tar -jcvf /opt/etc.tar.bz2 /etc

    zcvf 选项表示在打包完成后调用 gzip 命令对档案文件进行压缩,这里的档案名 etc.tar.gz 也可以随意起, .tar 表示是用 tar 命令打包的, .gz 表示调用了 gzip 命令进行了压缩。同理,jcvf 选项表示在打包完成后调用 bzip2 命令对档案文件进行压缩,档案命名标识中 .bz2 表示调用了 bzip2 命令进行了压缩处理。

    查阅上面 /opt/etc.tar.gz 压缩包的内容

    1. tar -ztvf /opt/etc.tar.gz
    2. tar -jvvf /opt/etc.tar.bz2

    将 /opt/etc.tar.gz 解压到 /ust/local/src 下

    1. cd /usr/local/src
    2. tar -zxvf /opt/etc.tar.gz

    将 /etc 目录下的所有文件打包备份到 /opt 目录下,并保存每个文件的权限。

    1. cd /opt
    2. tar -zcvpf /opt/etc.tar.gz /etc

    在 /opt 目录下,仅解压 /opt/etc.tar.gz 压缩文件中的 /etc/inittab 文件夹

    1. cd /opt
    2. tar -zxvf /opt/etc.tar.gz etc/inittab

    首先可以通过 tar -zxvf 查看 etc.tar.gz 文件中包含的文件然后找到需要解压的文件,通过上面的方式解压。后面指定的需要解压出来的文件一定要是通过 tar -ztvf 显示出来的文件完整路径。这样就在 /opt 目录下解压出了一个 etc 目录,而 etc 目录下的 inittab 就是需要的文件。

    打包备份 /var/log 目录中 2019/7/21 以后的文件。

    1. tar -N "2019/7/21" -zcvf log.tar.gz /var/log
    2. pwd
    3. /opt/oracle
    4. ls
    5. log.tar.gz

    打包备份 /home 目录和 /etc 目录,但是不备份 /home 下的 ixdba 目录。

    tar -exclude /home/ixdba -zcvf myfile.tar.gz /home/* /etc

    将 /etc 目录打包压缩后直接解压到 /opt 

  • 相关阅读:
    4.Spring Boot
    关于环保电缆,你了解多少
    resnet152 辣椒病虫害图像识别1.0
    【计算机毕业设计】基于微信小程序的电子购物系统的设计与实现【源码+lw+部署文档】
    扩散模型(Diffusion Model,DDPM,GLIDE,DALLE2,Stable Diffusion)
    45:第四章:开发文件服务:6:第三方云存储解决方案【阿里云OSS】;(购买OSS服务;开通服务;创建一个Bucket;)
    敬请期待!
    读书笔记-学习GNU Emacs-2
    H5/CSS 笔试面试考题(81-90)
    每日学习2
  • 原文地址:https://blog.csdn.net/xujingcheng123/article/details/125354115