00. 目录
01. 命令概述
gunzip命令用来解压缩文件。gunzip是个使用广泛的解压缩程序,它用于解开被gunzip压缩过的文件,这些压缩文件预设最后的扩展名为.gz。事实上gunzip就是gzip的硬连接,因此不论是压缩或解压缩,都可通过gzip指令单独完成。
02. 命令格式
gunzip [ -acfhlLnNrtvV ] [-S 后缀] [ 文件名 ... ]
- 1
03. 常用选项
-a或——ascii:使用ASCII文字模式;
-c或--stdout或--to-stdout:把解压后的文件输出到标准输出设备;
-f或-force:强行解开压缩文件,不理会文件名称或硬连接是否存在以及该文件是否为符号连接;
-h或——help:在线帮助;
-l或——list:列出压缩文件的相关信息;
-L或——license:显示版本与版权信息;
-n或--no-name:解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其忽略不予处理;
-N或——name:解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其回存到解开的文件上;
-q或——quiet:不显示警告信息;
-r或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
-S或<压缩字尾字符串>或----suffix<压缩字尾字符串>:更改压缩字尾字符串;
-t或——test:测试压缩文件是否正确无误;
-v或——verbose:显示指令执行过程;
-V或——version:显示版本信息;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
04. 参考示例
4.1 解压文件
[deng@localhost test]$ gunzip passwd.gz
[deng@localhost test]$ ls
etc passwd passwd1.gz test
[deng@localhost test]$
- 1
- 2
- 3
- 4
4.2 详细显示压缩文件的信息(不解压)
[deng@localhost test]$ gunzip -l passwd1.gz
compressed uncompressed ratio uncompressed_name
952 2376 61.0% passwd1
[deng@localhost test]$
- 1
- 2
- 3
- 4
4.3 解压文件,显示指令执行过程
[deng@localhost test]$ gunzip -v passwd1.gz
passwd1.gz: 61.0% -- replaced with passwd1
[deng@localhost test]$ ls
etc passwd passwd1 test
[deng@localhost test]$
- 1
- 2
- 3
- 4
- 5
4.4 指定后缀解压
[deng@localhost test]$ gunzip -v -S "cgz" passwd.cgz
passwd.cgz: 61.0% -- replaced with passwd.
[deng@localhost test]$ ls
etc passwd. passwd1 test
[deng@localhost test]$
- 1
- 2
- 3
- 4
- 5
4.5 不删除原文件解压
[deng@localhost test]$ gunzip -c passwd.gz > passwd
- 1
4.6 gunzip等价于gzip -d
[deng@localhost test]$ gunzip passwd.gz
或者
[deng@localhost test]$ gzip -d passwd.gz
- 1
- 2
- 3
- 4
05. 附录
内核概述
内核简介
用户最常见到并与之交互的操作系统界面,其实只是操作系统最外面的一层。操作系统最重要的任务,包括管理硬件设备,分配系统资源等,我们称之为操作系统内在最重要的核心功能。而实现这些核心功能的操作系统模块,业界一般称之为操作系统“内核”。
实现原理
操作系统是位于应用和硬件之间的系统软件,向上提供易用的程序接口和运行环境,向下管理硬件资源。内核位于操作系统的下层,为操作系统上层的程序框架提供硬件资源的并发管理。
图1 操作系统架构
多内核架构和基本组成
业界的内核有很多,但无论是什么内核,基本上有几个最重要的组成单元是每个内核均要具备的,分别是:
- 负责持久化数据,并让应用程序能够方便的访问持久化数据的“文件系统”。
- 负责管理进程地址空间的“内存管理”。
- 负责管理多个进程的“进程管理”或者“任务管理“。
- 负责本机操作系统和另外一个设备上操作系统通信的“网络”。
OpenHarmony采用了多内核结构,支持Linux和LiteOS,开发者可按不同产品规格进行选择使用。Linux和LiteOS均具备上述组成单元,只是实现方式有所不同。多个内核通过KAL(Kernel Abstraction Layer)模块,向上提供统一的标准接口。
内核子系统位于OpenHarmony下层。需要特别注意的是,由于OpenHarmony面向多种设备类型,这些设备有着不同的CPU能力,存储大小等。为了更好的适配这些不同的设备类型,内核子系统支持针对不同资源等级的设备选用适合的OS内核,内核抽象层(KAL,Kernel Abstract Layer)通过屏蔽内核间差异,对上层提供基础的内核能力。
图2 OpenHarmony架构图
不同内核适配的系统及设备类型
OpenHarmony按照支持的设备可分为如下几种系统类型:
-
轻量系统(mini system) 面向MCU类处理器例如Arm Cortex-M、RISC-V 32位的设备,硬件资源极其有限,支持的设备最小内存为128KiB,可以提供多种轻量级网络协议,轻量级的图形框架,以及丰富的IOT总线读写部件等。可支撑的产品如智能家居领域的连接类模组、传感器设备、穿戴类设备等。
-
小型系统(small system) 面向应用处理器例如Arm Cortex-A的设备,支持的设备最小内存为1MiB,可以提供更高的安全能力、标准的图形框架、视频编解码的多媒体能力。可支撑的产品如智能家居领域的IP Camera、电子猫眼、路由器以及智慧出行域的行车记录仪等。
-
标准系统(standard system) 面向应用处理器例如Arm Cortex-A的设备,支持的设备最小内存为128MiB,可以提供增强的交互能力、3D GPU以及硬件合成能力、更多控件以及动效更丰富的图形能力、完整的应用框架。可支撑的产品如高端的冰箱显示屏。
OpenHarmony针对不同量级的系统,使用了不同形态的内核。轻量系统、小型系统可以选用LiteOS;小型系统和标准系统可以选用Linux。其对应关系如下表:
表1 系统关系对应表
class="table-box">系统级别 | 轻量系统 | 小型系统 | 标准系统 |
---|---|---|---|
LiteOS-M | √ | × | × |
LiteOS-A | × | √ | × |
Linux | × | √ | √ |
评论记录:
回复评论: