内容提要
-
通配符
-
压缩、打包、解压缩
通配符
-
*:匹配任意单个或多个字符
举例:

注意:通配符可以用于rm、cp、mv、ls等指令中
-
?:匹配任意单个字符
举例:

-
[..]:匹配[]范围中的任意字符
举例:
权限说明
| 权限类型 | 权限数字 | 操作文件 | 操作目录 |
|---|---|---|---|
| r:读 | 4 | cat、more、less、head、tail、grep等 | ls |
| w:写 | 2 | >(覆盖写入)、>>(追加写入)、touch、rm | mkdir、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压缩指令不能混合使用,主要通过压缩文件的扩展名区分
776

被折叠的 条评论
为什么被折叠?



