
# dmesg
#### 命令功能
dmesg命令用于控制内核dmesg缓存区。
#### 命令格式
dmesg
dmesg \[*-c \| -C \| -D \| -E \| -L \| -U*\]
dmesg -s \<size\>
dmesg -l \<level\>
dmesg \> file（开源版本暂不支持该命令）
#### 参数说明
表1参数说明 
| 参数           | 参数说明                   | 取值范围   |
|:---|:---|:---|
| -c           | 打印缓存区内容并清空缓存区          | N/A    |
| -C           | 清空缓存区                  | N/A    |
| -D \| -E     | 关闭/开启控制台打印，开源版本暂不支持该参数 | N/A    |
| -L \| -U     | 关闭/开启串口打印，开源版本暂不支持该参数  | N/A    |
| -s \<size\>  | 设置缓存区大小                | N/A    |
| -l \<level\> | 设置缓存区的日志打印等级           | 0 -- 5 |
| \> file      | 将缓存区内容写入文件，开源版本暂不支持该参数 | N/A    |
   
![](https://support.huaweicloud.com/maintenance-LiteOS/public_sys-resources/notice_3.0-zh-cn.png)
1. 写入文件需确保已挂载文件系统。
2. 关闭串口打印会影响Shell使用，建议先连接Telnet再尝试关闭串口。
 
#### 使用指南
- 该命令依赖于LOSCFG_SHELL_DMESG，使用时可以通过make menuconfig在菜单项中开启"Enable Shell dmesg"。
  ```
  Debug  ---> Enable a Debug Version---> Enable Shell---> Enable Shell dmesg
  ```
  
- 参数缺省时，默认打印缓存区内容。
- 各参数均不能混合使用。
 
#### 使用实例
举例：
输入dmesg后，接着输入dmesg -C和dmesg。
#### 输出说明
第一次执行dmesg后，可以看到输出了缓存区内容。接着执行dmesg -C清空缓存区内容，紧接着再次执行dmesg可以看到之前缓存区中的内容已经被清空：
```
Huawei LiteOS # dmesg
Huawei LiteOS # log level 4
Set current log level INFO
Huawei LiteOS # dmesg
Huawei LiteOS # dmesg -C
Huawei LiteOS # dmesg
Huawei LiteOS # dmesg
```
