OpenHarmony(鸿蒙南向开发)——轻量系统内核(LiteOS-M)【SHELL】
往期知识点记录:
- 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总
- 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~
- 子系统开发内核
- 轻量系统内核(LiteOS-M)
- 轻量系统内核(LiteOS-M)【中断管理】
- 轻量系统内核(LiteOS-M)【任务管理】
- 轻量系统内核(LiteOS-M)【内存管理】
- 轻量系统内核(LiteOS-M)【内核通信机制】
- 轻量系统内核(LiteOS-M)【时间管理】
- 轻量系统内核(LiteOS-M)【扩展组件】
- 轻量系统内核(LiteOS-M)【内存调测】
- 轻量系统内核(LiteOS-M)【异常调测】
- 轻量系统内核(LiteOS-M)【Trace调测】
- 轻量系统内核(LiteOS-M)【LMS调测】
- 轻量系统内核(LiteOS-M)【SHELL】
- 小型系统内核(LiteOS-A)【概述】
- 小型系统内核(LiteOS-A)【内核启动】
- 小型系统内核(LiteOS-A)【中断及异常处理】
- 标准系统内核(Linux)【New IP内核协议栈】
- 标准系统内核(Linux)【内核增强特性 > 任务调度】
- 持续更新中……
OpenHarmony内核提供的Shell支持调试常用的基本功能,包含系统、文件、网络相关命令。同时OpenHarmony内核的Shell支持添加新的命令,可以根据需求来进行定制。
Shell功能仅供调试使用,暂不支持tab按键补全,按键回退等功能。
部分命令需要通过make menuconfig开启对应选项才可使用。
常用命令介绍
cat
用于显示文本文件的内容。需开启LOSCFG_FS_VFS。
命令格式
cat [FILE]
参数说明
参数 | 参数说明 | 取值范围 |
---|---|---|
FILE | 文件路径。 | 已存在的文件。 |
cd
用来改变当前目录。需开启LOSCFG_FS_VFS。
命令格式
cd [path]
参数说明
参数 | 参数说明 | 取值范围 |
---|---|---|
path | 文件路径。 | 已存在的路径。 |
cp
拷贝文件,创建一份副本。需开启LOSCFG_FS_VFS。
命令格式
cp [SOURCEFILE] [DESTFILE]
参数说明
参数 | 参数说明 | 取值范围 |
---|---|---|
SOURCEFILE | 源文件路径。文件路径。 | 目前只支持文件,不支持目录;文件不可为空。 |
DESTFILE | 目的文件路径。 | 支持目录以及文件名;目录需有效。 |
date
用于查询系统日期和时间。
命令格式
date
参数说明
无
free
显示系统内存的使用情况。
命令格式
free [ -k | -m ]
参数说明
参数 | 参数说明 | 取值范围 |
---|---|---|
-k | 以KiB为单位显示。 | N/A |
-m | 以MiB为单位显示。 | N/A |
help
显示当前操作系统内所有操作指令。
命令格式
help
参数说明
无
ifconfig
用来查询网卡的IP地址、网络掩码、网关、硬件mac地址等参数。需开启LWIP_SHELLCMD_ENABLE。
命令格式
ifconfig
参数说明
无
ls
用来显示当前目录的内容。需开启LOSCFG_FS_VFS。
命令格式
ls [DIRECTORY]
参数 | 参数说明 | 取值范围 |
---|---|---|
DIRECTORY | 文件路径。 | DIRECTORY为空时,显示当前目录的内容。 |
DIRECTORY为有效目录路径时,会显示对应目录下的内容。 | ||
当前LiteOS-M不支持根目录 “/”。 |
memusage
用来显示内存使用水线。
命令格式
memusage [-k/-m]
参数 | 参数说明 | 取值范围 |
---|---|---|
-k | 以KiB为单位显示。 | N/A |
-m | 以MiB为单位显示。 | N/A |
mkdir
用来创建一个目录。需开启LOSCFG_FS_VFS。
命令格式
mkdir [DIRECTORY]
参数 | 参数说明 | 取值范围 |
---|---|---|
DIRECTORY | 文件路径。 | DIRECTORY可以传入绝对路径和相对路径。 |
ping
用来测试网络连接是否正常。需开启LWIP_SHELLCMD_ENABLE。
命令格式
ping [ip]
参数 | 参数说明 | 取值范围 |
---|---|---|
ip | 要测试是否网络连通的IPv4地址。 | N/A |
pwd
用来显示当前路径。需开启LOSCFG_FS_VFS。
命令格式
pwd
rm
用来删除文件或文件夹。需开启LOSCFG_FS_VFS。
命令格式
rm [FILE] or rm [-r/-R] [FILE]
参数 | 参数说明 | 取值范围 |
---|---|---|
FILE | 文件名,可以是文件或者文件夹 。 | FILE可以传入绝对路径和相对路径。 |
-r/-R | FILE是文件夹时需要有-r /-R。 | N/A |
rmdir
用来删除文件夹。需开启LOSCFG_FS_VFS。
命令格式
rmdir [DIRECTORY]
参数 | 参数说明 | 取值范围 |
---|---|---|
DIRECTORY | 文件路径。 | DIRECTORY可以传入绝对路径和相对路径。 |
task
用来显示当前各任务状态。
命令格式
task
显示内容主要包括任务号,优先级,状态,栈信息,信号,事件,CPU占用率,任务名称等
touch
用来创建文件。需开启LOSCFG_FS_VFS。
命令格式
touch [FILE]
参数 | 参数说明 | 取值范围 |
---|---|---|
FILE | 文件名。 | FILE可以传入绝对路径和相对路径。 |
stack
用来查看指定任务的栈内容。需开启编译选项 LOSCFG_DEBUG_TOOLS,功能开启会影响性能。
命令格式
stack [ID]
参数 | 参数说明 | 取值范围 |
---|---|---|
ID | 任务ID。 | 任务ID对应的任务需存在。 |
hwi
用来查看中断的占用率。需开启编译选项 LOSCFG_DEBUG_TOOLS,功能开启会影响性能。
命令格式
hwi
st
用来查看调度信息。需开启编译选项 LOSCFG_DEBUG_TOOLS,功能开启会影响性能。
命令格式
st -s | st -e
参数 | 参数说明 | 取值范围 |
---|---|---|
-s | 开始记录调度信息 | N/A |
-e | 停止记录并打印调度信息 | N/A |