鸿蒙开发进阶(OpenHarmony)系统命令功能总结

鸿蒙NEXT开发实战往期必看文章:

一分钟了解”纯血版!鸿蒙HarmonyOS Next应用开发!

“非常详细的” 鸿蒙HarmonyOS Next应用开发学习路线!(从零基础入门到精通)

HarmonyOS NEXT应用开发案例实践总结合(持续更新......)

HarmonyOS NEXT应用开发性能优化实践总结(持续更新......)


cpup

命令功能

cpup命令用于查询系统CPU的占用率。

命令格式

cpup [mode] [taskID]

参数说明

表1 参数说明

参数 参数说明 取值范围
mode - 缺省:显示系统最近10s内的CPU占用率。
- 0:显示系统最近10s内的CPU占用率。
- 1:显示系统最近1s内的CPU占用率。
- 其他数字:显示系统启动至今总的CPU 占用率。
[0, 0xFFFFFFFF]
taskID 任务ID号 [0, 0xFFFFFFFF]

使用指南

  • 参数缺省时,显示系统10s前的CPU占用率。

  • 只有一个参数时,该参数为mode,显示系统相应时间前的CPU占用率。

  • 输入两个参数时,第一个参数为mode,第二个参数为taskID,显示对应ID号任务的相应时间前的CPU占用率。

使用实例

举例:输入cpup 1 5

输出说明

示例 指令输出结果

OHOS # cpup 1 5pid 5 

CpuUsage in 1s: 0.0

date

命令功能

date命令用于查询系统日期和时间。

命令格式

  • date

  • date --help

  • date +[Format]

  • date -u

参数说明

表1 参数说明

参数 参数说明 取值范围
–help 使用帮助。 N/A
+Format 根据Format格式打印日期和时间。 –help中列出的占位符。
-u 显示UTC,而不是当前时区 N/A

使用指南

  • date参数缺省时,默认显示系统UTC日期和时间。

  • –help、+Format、-u不能混合使用。

  • 目前命令不支持设置时间和日期。

特殊说明

date -u参数 shell端暂不支持。切换mksh版本可全支持,方法:cd bin; ./mksh。

使用实例

举例:输入 date +%Y–%m–%d

输出说明

示例:按指定格式打印系统日期

OHOS:/$ date +%Y--%m--%d
1970--01--01

dmesg

命令功能

dmesg命令用于显示开机信息,以及系统启动过程和运行过程中的信息。

命令格式

dmesg

dmesg [-c/-C/-D/-E/-L/-U]

dmesg -s [size]

dmesg -l [level]

dmesg > [fileA]

参数说明

表1 参数说明

参数 参数说明 取值范围
-c 打印缓存区内容并清空缓存区。 N/A
-C 清空缓存区。 N/A
-D/-E 关闭/开启控制台打印。 N/A
-L/-U 关闭/开启串口打印。 N/A
-s size 设置缓存区大小 size是要设置的大小。 N/A
-l level 设置缓存等级。 [0, 5]
> fileA 将缓存区内容重定向写入文件。 N/A

使用指南

  • 该命令依赖于LOSCFG_SHELL_DMESG,在kernel/liteos_a中输入make menuconfig命令。此时会弹出配置项,找到Debug选项并进入,然后在配置项中开启"Enable Shell dmesg": Debug —> Enable a Debug Version —> Enable Shell —> Enable Shell dmesg

  • dmesg参数缺省时,默认打印缓存区内容。

  • 各“ - ”选项不能混合使用。

    1. 写入文件需确保已挂载文件系统。
    2. 关闭串口打印会影响shell使用,建议先连接telnet再尝试关闭串口。

使用实例

举例:输入dmesg > dmesg.log。

输出说明

示例 dmesg重定向到文件

OHOS # dmesg > dmesg.log
Dmesg write log to dmesg.log success

exec

命令功能

exec命令属于shell内置命令,在exec执行命令时,不启用新的shell进程。目前实现最基础的执行用户态程序的功能

命令格式

exec <executable-file>

参数说明

表1 参数说明

参数 参数说明
executable-file 有效的可执行文件。

使用指南

该命令当前仅支持执行有效的二进制程序,程序成功执行,默认后台运行,但与Shell共用终端,可能会导致程序打印输出与Shell输出交错显示。

使用实例

举例:

输入exec helloworld。

输出说明

OHOS # exec helloworld
OHOS # hello world!

 说明: 可执行文件执行后,先打印“OHOS #”提示符原因:目前Shell “exec”命令执行均为后台执行,结果可能导致提示符提前打印。

free

命令功能

free命令可显示系统内存的使用情况。

命令格式

free [-b | -k | -m | -g | -t]

参数说明

表1 参数说明

参数 参数说明
无参数 以Byte为单位显示。
–help/-h 查看free命令支持的参数列表。
-b 以Byte为单位显示。
-k 以KiB为单位显示。
-m 以MiB为单位显示。
-g 以GiB为单位显示。
-t 以TiB为单位显示。

使用指南

无。

使用实例

举例:分别输入free、free -k、free -m.

输出说明

OHOS:/$ free
                total        used        free      shared     buffers
Mem:          2819652     2754468       65184           0           0
-/+ buffers/cache:        2754468       65184
Swap:               0           0           0
OHOS:/$ free -k
                total        used        free      shared     buffers
Mem:             2753        2692          60           0           0
-/+ buffers/cache:           2692          60
Swap:               0           0           0
OHOS:/$ free -m
                total        used        free      shared     buffers
Mem:                2           2           0           0           0
-/+ buffers/cache:              2           0
Swap:               0           0           0

表2 输出说明

输出 说明
total 表示系统动态内存池总量。
used 表示已使用内存总量。
free 表示未被分配的内存大小。
shared 表示共享内存大小。
buffers 表示缓冲区内存大小。

help

命令功能

help命令用于显示当前操作系统内所有操作指令和部分toybox指令。

命令格式

help

参数说明

使用指南

help用于显示当前操作系统内所有操作指令。

使用实例

举例:输入help

输出说明

查看系统内所有操作指令。

After shell prompt "OHOS # ":
Use `<cmd> [args ...]` to run built-in shell commands listed above.
Use `exec <cmd> [args ...]` or `./<cmd> [args ...]` to run external commands.

OHOS:/$ help
***shell commands:*
arp          cat          cat_logmpp   cd           chgrp        chmod
chown        cp           cpup         date         dhclient     dmesg
dns          format       free         help         hi3881       hwi
ifconfig     ipdebug      kill         log          ls           lsfd
memcheck     mkdir        mount        netstat      oom          panicreset
partinfo     partition    ping         ping6        pmm          pwd
reset        rm           rmdir        sem          shm          stack
statfs       su           swtmr        sync         systeminfo   task
telnet       touch        umount       uname        v2p          vmm
watch        writeproc
After shell prompt "OHOS # ":
Use `<cmd> [args ...]` to run built-in shell commands listed above.
Use `exec <cmd> [args ...]` or `./<cmd> [args ...]` to run external commands.
***toybox commands:
chgrp chmod chown cp date du free help ifconfig kill ls mkdir mount
mv ping ps reboot rm rmdir top touch umount uname
Use `toybox help [command]` to show usage information for a specific command.
Use `shell` to enter interactive legacy shell.
Use `alias` to display command aliases.

hwi

命令功能

hwi命令查询当前中断信息

命令格式

hwi

参数说明

使用指南

  • 输入hwi即显示当前中断号、中断次数及注册中断名称。

  • 若开关LOSCFG_CPUP_INCLUDE_IRQ打开,则还会显示各个中断的处理时间ATime、CPU占用率以及中断类型。

使用实例

举例:输入hwi

输出说明

  • 显示中断信息(LOSCFG_CPUP_INCLUDE_IRQ关闭)

    OHOS # hwi
     InterruptNo     Count     Name
            0:         0:
            1:   1025641:
            2:         0:
           29:    824049:
           37:         0:      rtc_alarm
           38:        24:      uart_pl011
           48:         3:      GPIO
           59:         0:
        
### HarmonyOS 开发进阶教程与高级内容 HarmonyOS华为推出的一款面向全场景的分布式操作系统,具备高度的灵活性和扩展性。对于已经掌握基础开发技能的开发者来说,深入学习其核心功能和高级特性是进一步提升开发能力的关键。 #### ArkTS 语言 ArkTS 是 HarmonyOS 的主要开发语言,它基于 TypeScript 并增强了对声明式 UI 和状态管理的支持。通过使用 ArkTS,开发者可以构建高性能、响应式的应用界面。例如: ```typescript // 简单的 ArkTS 示例代码 @Component struct HelloWorld { @State message: string = "Hello, HarmonyOS!" build() { Column() { Text(this.message) .fontSize(30) .onClick(() => { this.message = "Clicked!" }) } .width('100%') .height('100%') } } ``` 在上述代码中,`@Component` 装饰器用于定义一个组件,而 `@State` 则用于管理组件的状态变化。这种模式使得状态管理和 UI 更新更加直观和高效 [^1]。 #### Ability 框架 Ability 框架是 HarmonyOS 中的核心概念之一,它代表了应用程序的基本功能单元。每个 Ability 可以独立运行,并与其他 Ability 协作完成复杂的任务。开发者可以通过实现不同的 Ability 类型(如 Page Ability 和 Service Ability)来满足各种应用场景的需求。 #### ArkUI 开发 ArkUI 提供了一套完整的用户界面解决方案,支持声明式编程模型。这允许开发者用更少的代码创建出复杂的 UI 布局,并且能够自动处理布局的变化和数据绑定。此外,ArkUI 还提供了丰富的内置组件库以及自定义组件的能力,从而极大地简化了 UI 设计过程 [^1]。 #### 公共事件处理 公共事件处理机制让多个应用或服务之间能够方便地进行通信。通过订阅特定类型的事件并监听它们的发生,应用可以在不直接调用其他模块的情况下做出相应的反应。这种方式提高了系统的解耦性和可维护性。 #### 窗口管理 窗口管理系统负责协调所有打开的应用窗口,确保它们正确显示并且交互流畅。了解如何利用窗口管理 API 来控制窗口大小、位置以及其他属性可以帮助优化用户体验。 #### 网络编程 网络编程部分涵盖了从简单的 HTTP 请求到更复杂的数据同步策略等内容。掌握这些知识有助于开发具有强大联网功能的应用程序。 #### 安全管理 安全性始终是软件开发中的重要考量因素。HarmonyOS 提供了一系列安全相关的工具和服务,包括权限控制系统、加密算法支持等,帮助开发者保护用户的隐私信息。 #### 数据管理 有效的数据管理对于任何现代应用程序都是必不可少的。无论是本地存储还是云端同步,选择合适的数据持久化方案都能显著提高应用性能和可靠性。 #### 多媒体开发 多媒体开发涉及音频视频播放、图像处理等多个方面。利用 HarmonyOS 提供的强大 API 集合,开发者可以轻松集成高质量的媒体体验到他们的应用中去。 #### 一次开发多端部署 这一特性意味着开发者只需编写一次代码即可将其部署到多种设备上运行,大大减少了跨平台适配的工作量。同时这也要求代码本身要足够灵活以适应不同屏幕尺寸和硬件配置。 #### 应用测试 最后但同样重要的是,全面的应用测试保证了最终产品的稳定性和健壮性。熟悉自动化测试框架以及最佳实践方法论将极大增强产品质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值