admin管理员组

文章数量:1794759

【linux

【linux

文章目录
  • 前言
  • 打包压缩
    • 1. zip/unzip
    • 2. gzip/gunzip
    • 3. xz
      • xz与gzip的区别
        • 空间占用
        • 时间对比
    • 4. bzip2
    • 前四个压缩工具总结
    • 5. 打包命令——tar
      • 常用命令选项
      • 打压缩包
      • 查看压缩包
      • 解压
  • 总结


前言

环境准备: linux操作系统 VMware Workstation16.x Centos7


打包压缩
  • 压缩
    • 为什么要打压缩包?
      • 备份的时候,能节约空间
      • 网络传送的时候,能节约时间
  • 打包压缩:
    • 目的:备份,还原

    打包压缩:

    • 打包:很多文件放到一起成一个文件
    • 压缩:减少占用磁盘空间的操作

    大文件超过4G的,无法传输 => 大文件的切割工具:将大文件切割(split)成很多小文件,然后我们就可以上传了

  • Windows里的.rar压缩文件传递到linux里,是否能打开?
    • .zip : windows和linux都支持
    • .rar文件在linux里默认是不支持的 =>
    • linux里的所有的压缩文件,windows里的都能打开
    • windows里的压缩文件,在linux里不一定就可以打开
  • linux和Windows之间文件上传与下载的解决方法: (1). xftp => 在Windows安装 (2). moba => 在Windows安装 (3). lrzsz => 在linux里安装,在Windows里安装了xshell但是没安装xftp,在xshell中使用lrzsz工具
    • lrzsz的速度没有xftp快
    • 下载与使用:yum install lrzsz rz:recieve => linux里接受从windows里上传的文件 sz:send => 将linux里的playbook.sh文件传到windows里

  • curl命令在linux里的使用 curl => 理解为linux里的字符界面的浏览器 下载 curl => 是默认安装在centos7的系统里,默认下载文件寻访在当前目录下 -O => 下载到当前文件夹 -o /backup/nginx.tar.gz => 指定下载到/backup目录下叫nginx.tar.gz

    % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1048k 100 1048k 0 0 572k 0 0:00:01 0:00:01 --:--:-- 572k [root@master ~]# ls /backup beijing filepath.txt hubei nginx.tar.gz yunnan [root@master ~]# [root@master ~]# curl -o /backup/nginx-1.21.6.tar.gz nginx/download/nginx-1.21.6.tar.gz 将nginx/download/nginx-1.21.6.tar.gz # 文件下载到本地的/backup目录下叫nginx-1.21.6.tar.gz 1. zip/unzip

    zip只能对文件进行压缩,不能对文件夹进行压缩

    • zip的使用
      • 如:zip passewd.zip passwd
        • passwd.zip => 打包压缩文件名
        • passwd => 源文件名
    • unzip的使用 unzip => 是解压的命令
    [root@localhost backup]# unzip passwd.zip Archive: passwd.zip inflating: passwd

    Archive 附件: 一个压缩包或者压缩文件就称为一个附件 存档文件,归档文件 其实就是将一个文件压缩或者很多文件放到一个文件里,把很多东西放到一起 => 这个过程就称呼归档,存档 deflated 泄气(压缩) inflate: 解压

    2. gzip/gunzip

    .gz压缩文件

    直接在原文件上进行压缩,添加后缀名.gz [root@localhost backup]# gzip passwd

    查看压缩文件里的内容 [root@localhost backup]# zcat passwd.gz

    解压文件 [root@localhost backup]# gunzip passwd.gz

    3. xz
    • xz 也是linux系统默认安装的压缩工具 .xz压缩文件

    压缩

    [root@localhost backup]# xz passwd [root@localhost backup]# ls beijing filepath.txt guangdong hunan passwd.xz passwd.zip shenzhen

    查看压缩文件里的内容 [root@localhost backup]# xzcat passwd.xz

    解压文件并查看

    [root@localhost backup]# unxz passwd.xz [root@localhost backup]# ls beijing filepath.txt guangdong hunan passwd passwd.zip shenzhen [root@localhost backup]# xz与gzip的区别 空间占用

    xz的压缩效果比gzip好,压缩后占用的空间比较少,压缩需要的时间长 gzip压缩速度快,但是效果一般

    文件比较小,使用xz或者gzip都可以 如果文件比较大,建议使用xz压缩,可以节约更多磁盘空间

    时间对比 4. bzip2

    bzip2 也是linux里的压缩工具 .bz2压缩文件

    解压:bunzip2

    查看压缩文件的内容bzcat

    前四个压缩工具总结

    zip、gzip、xz、bzip2

    • 都是只能给一个文件打压缩包,不推荐给文件或者多个文件夹打压缩包
    5. 打包命令——tar

    用途:制作归档文件、释放归档文件 格式:tar [选项]… 归档文件名 源文件或目录 解压:tar [选项]… 归档文件名 [-C 目标目录] 使用tar命令打的压缩包叫tarball => 即tar包 => 归档文件:将很多个文件或者文件夹打包到一个文件里,然后可以对归档文件进行压缩 .tar => 其实是归档,不进行压缩 .tar.gz => 先归档,然后调用gzip进行压缩 =>速度快 .tar.xz => 先归档,然后调用xz进行压缩 =>压缩效果好 .tar.bz2=> 先归档,然后调用bzip2进行压缩

    常用命令选项 -c:创建 .tar 格式的包文件 create -x:解开.tar格式的包文件 -v:输出详细信 -f:表示使用归档文件 file -t:列表查看包内的文件 list -p:保持原文件的原来属性 -P:保持原文件的绝对路径 -z 调用gzip去压缩 -J 调用xz去压缩 -j 调用bzip2去压缩 打压缩包

    tar -czf => .tar.gz tar czf => .tar.gz tar cJf => .tar.xz tar cjf => .tar.bz2

  • 打包压缩一个文件或者文件夹
  • [root@master luoyawei]# cp /boot . -r [root@master luoyawei]# ls boot passwd # 将当前目录下的passwd文件打包成passwd.tar.gz压缩包 [root@master luoyawei]# tar czf passwd.tar.gz passwd 压缩文件 源文件 [root@master luoyawei]# ls boot passwd passwd.tar.gz
  • 文件和文件夹可以一起打包到一个压缩文件里
  • [root@master luoyawei]# tar czf /lianxi/luoyawei/boot_passwd.tar.gz /boot /etc/passwd tar: 从成员名中删除开头的“/” [root@master luoyawei]# tar czf /lianxi/luoyawei/boot_passwd_log.tar.gz /boot /etc/passwd /var/log tar: 从成员名中删除开头的“/” [root@master luoyawei]#
  • 排除多个文件或者文件夹 include 包含 exclude 排除
  • [root@master luoyawei]# tar --exclude=/boot/{grub2,grub,efi} -czf /lianxi/luoyawei/no_grub2_boot.tar.gz /boot
  • linux 不看重后缀名,命名不小心错误,可以file一下可以看出是什么压缩包
  • [root@master luoyawei]# tar czf passwd.tar.xz passwd [root@master luoyawei]# ls boot passwd passwd.tar.gz passwd.tar.xz [root@master luoyawei]# file passwd.tar.gz passwd.tar.gz: gzip compressed data, from Unix, last modified: Tue Apr 12 19:55:59 2022 [root@master luoyawei]# file passwd.tar.xz passwd.tar.xz: gzip compressed data, from Unix, last modified: Tue Apr 12 19:57:08 2022
  • 打包文件,里面嵌入当前的日期 date 是linux里查看时间的命令 格式化输出日期:
  • +%Y year 年 %m month 月 %d day 日 %H hour 小时 %M minute 分钟 %S seconde 秒 %F 效果跟%Y-%m-%d类似

    [root@hunan-wangzhe-5 lianxi]# date +%Y%m%d 20211027 [root@hunan-wangzhe-5 lianxi]# date +%Y-%m-%d 2021-10-27 [root@localhost lianxi]# echo $(date +'%F %H:%M:%S') 2022-05-07 19:18:47

    获得日期给变量,然后调用变量

    [root@master luoyawei]# ctime=$(date +%Y%m%d) [root@master luoyawei]# echo $ctime 20220412 [root@master luoyawei]# [root@master luoyawei]# tar czf boot-$ctime.tar.gz /boot

    小结:

  • 如果文件名一样,后面打包的文件会覆盖原来的文件
  • 可以指定压缩包存放路径(绝对路径)
  • 使用绝对路径打压缩包
  • [root@localhost luoyawei]# mkdir /weihong [root@localhost luoyawei]# pwd /lianxi/luoyawei [root@localhost luoyawei]# tar czf /weihong/passwd.tar.gz /etc/passwd tar: 从成员名中删除开头的“/” [root@localhost luoyawei]# ls /weihong passwd.tar.gz 查看压缩包

    tar tf

    解压

    tar xf

    • xf # Extract all files from archive.tar. Extract 提取,解压

    可以指定压缩包解压路径,默认解压在当前文件夹

    [root@master luoyawei]# tar xf /weihong/passwd.tar.gz [root@master luoyawei]# ls boot etc hosts.tar.gz [root@master luoyawei]# ls etc/ passwd [root@master luoyawei]# tar tf /weihong/passwd.tar.gz etc/passwd

    tar xf <压缩包名> -C <解压到的路径>

    [root@master luoyawei]# ls /nongda_weihong/ [root@master luoyawei]# tar xf /weihong/passwd.tar.gz -C /nongda_weihong/ [root@master luoyawei]# ls /nongda_weihong/ etc
    总结

    本文章主要介绍了linux里的打包压缩相关命令,前半部分介绍了四种主要的压缩工具zip,gzip,xzip,bzip2,后面部分介绍了tar命令的打包与解包使用。

    本文标签: Linux