03-Linux:通配符 , 压缩、打包、解压缩

内容提要

  • 通配符

  • 压缩、打包、解压缩

通配符

  • *:匹配任意单个或多个字符

举例:

注意:通配符可以用于rm、cp、mv、ls等指令中

  • :匹配任意单个字符

举例:

  • [..]:匹配[]范围中的任意字符

举例:

权限说明

权限类型权限数字操作文件操作目录
r:读4cat、more、less、head、tail、grep等ls
w:写2>(覆盖写入)、>>(追加写入)、touch、rmmkdir、rm、rmdir、mv(重命名)
x:执行1./文件名(此文件时可执行程序)cd、cp、mv(移动)
-:无权限0无操作无操作

权限补充说明:

  • 移动操作(mv)需要源目录和目标目录的执行权限(用于访问路径)

  • 同时需要源目录的写权限(删除原位置条目)和目标目录的写权限(创建新位置条目)

压缩与解压缩

指令

压缩指令:gzip

说明:Linux6压缩文件为.gz格式。只能压缩文件,不能压缩目录,只能压缩不能打包

执行者:所有用户

语法:

 gzip [选项] 文件路径

选项:

-r可以将目录下的文件递归压缩/解压缩(绕过文件目录找到文件进行压缩)

-l:显示已经压缩文件的压缩信息

-d解压缩

注意:gzip -r 命令会递归压缩指定的目录下的每个文件(每个文件单独压缩成.gz),不会将整个目录打包成一个压缩文件。

举例:

 gzip demo01.c
 # 解释:压缩当前路径下的demo01.c文件,压缩后的名称默认:demo01.c.gz,压缩后源文件(demo01.c)会被删除。
 ​
 gzip -d demo01.c.gz
 # 解释:解压缩当前路径下的demo01.c.gz,解压后源文件(demo01.c.gz)会被删除。
 -----------------------------------------------------------------------------------------------
 ​
 gzip -r chapter01
 # 解释:递归压缩chapter01目录中的文件,每个文件会单独压缩为`.gz`,压缩后删除源文件。
 # 举例:原始文件:chapter01/demo01.c  → 压缩后:chapter01/demo01.c.gz
 ​
 gzip -rd chapter01
 # 解释:解压缩chapter01/目录下的.gz文件,解压缩后,删除源文件。
 -----------------------------------------------------------------------------------------------
 ​
 gzip demo01.c demo02.c
 # 解释:批量压缩demo01.c,demo02.c,压缩后删除源文件
 ​
 gzip -d demo01.c.gz demo02.c.gz
 # 解释:批量解压demo01.c.gz,demo02.c.gz,解压缩后删除源文件

注意:如果已经是gz文件,就不能再次压缩

另一种解压【扩展】:

  • 语法:

      gunzip [选项] 文件/目录
  • 选项:

    • -r:可以将目录下的文件递归解压缩

  • 范例:

      gunzip demo01.c.gz                
      解释:解压demo01.c.gz
      
      gunzip -r chapter01
      解释:绕过指定目录递归解压demo01.c.gz,等价于 gzip -rd chapter01
更高的压缩效率指令:bzip2

说明:压缩文件为bz2格式,同样这种压缩不提供打包功能。

执行者:所有用户

语法:

 bzip2 [选项] 文件路径

选项:

-k:保留原文件,支持保留原文件

-d:解压缩

-f:覆盖式压缩/解压缩(压缩或者解压缩路径下,出现同名文件,用压缩或者解压缩后的文件覆盖)

举例:

bzip2 demo01.c
# 解释:压缩当前路径下的demo01.c文件,压缩后默认的名称为demo01.c.bz2,源文件会被删除

bzip2 -d demo01.c.bz2
# 解释:解压缩当前路径下的demo01.c.bz2文件,解压缩后源文件会被删除
----------------------------------------------------------------------------------------------

bzip2 -k demo02.c
# 解释:压缩当前路径下的demo02.c文件,压缩后默认的名称为demo02.c.bz2,源文件会保留

bzip2 -kdf demo02.c.bz2
# 解释:解压缩当前路径下的demo02.c.bz2文件,解压缩后,保留.bz2文件,覆盖掉之前的.c文件
----------------------------------------------------------------------------------------------

bzip2 -kf demo01.c demo02.c
# 解释:批量压缩demo01.c,demo02.c,保留.c文件,覆盖已经存在的同名的.bz2文件

bzip2 -df demo01.c.bz2 demo02.c.bz2
# 解释:批量解压缩demo01.c.bz2,demo02.c.bz2,删除.bz2文件,覆盖已经存在的.c文件

另一种解压【扩展】:

  • 语法:

      bunzip2 [选项] 文件名
  • 选项:

    • -f:如果压缩时保留了源文件,覆盖解压

  • 范例:

      bunzip2 -f demo02.c.bz2               
      解释:解压demo02.c.bz2,解压出demo02.c
      
      bunzip2 -f demo01.c.bz2 demo02.c.bz2  
      解释:批量解压,解压出demo01.c,demo02.c
总结
  • gzip和bzip2的区别:

    • gzip可以绕过目录递归压缩目录中的文件以及其子目录中的文件,bzip2不可以

    • 与gzip相比,bzip2有更高的压缩效率

  • gzip和bzip2压缩指令不能混合使用,主要通过压缩文件的扩展名区分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值