• 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 

  • 相关阅读:
    域控制器的深度详解!
    React源码解读之任务调度
    Zabbix“专家坐诊”第208期问答汇总
    Linux部署项目实用命令
    Linux下安装mongodb详细教程
    使用C#实现服务端与客户端的简陋聊天
    猿创征文|Docker实战:docker 安装mongodb
    Java网络编程(二)Socket 套接字(TCP和UDP),以及TCP的回显
    全球名校AI课程库(28)| MIT麻省理工 · 基因组学机器学习课程『Machine Learning for Genomics』
    【各exporter、prometheus、grafana、alertManager】架构与部署
  • 原文地址:https://blog.csdn.net/xujingcheng123/article/details/125354115