1e41f4b71Sopenharmony_ci# Shell
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ciThe shell provided by the OpenHarmony kernel supports basic debugging functions and provides commands related to the system, files, and network. It also supports commands customized based on service requirements.
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ciThe shell function is used for debugging only. Currently, it does not support the functions such as tab completion and undo with a key.
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ciSome commands can be used only after the corresponding options are enabled by using **make menuconfig**.
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ci## Common Shell Commands
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci### cat
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ciDisplays the content of a text file. This command can be used only after **LOSCFG_FS_VFS** is enabled.
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci#### Format
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_cicat [FILE]
18e41f4b71Sopenharmony_ci
19e41f4b71Sopenharmony_ci#### Parameters
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ci| Parameter| Description  | Value Range      |
22e41f4b71Sopenharmony_ci| ---- | ---------- | -------------- |
23e41f4b71Sopenharmony_ci| FILE | File path.| An existing file.|
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ci### cd
26e41f4b71Sopenharmony_ci
27e41f4b71Sopenharmony_ciChanges the current directory. This command can be used only after **LOSCFG_FS_VFS** is enabled.
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci#### Format
30e41f4b71Sopenharmony_ci
31e41f4b71Sopenharmony_cicd [path]
32e41f4b71Sopenharmony_ci
33e41f4b71Sopenharmony_ci#### Parameters
34e41f4b71Sopenharmony_ci
35e41f4b71Sopenharmony_ci| Parameter| Description  | Value Range      |
36e41f4b71Sopenharmony_ci| ---- | ---------- | -------------- |
37e41f4b71Sopenharmony_ci| path | File path.| Path of the new directory.|
38e41f4b71Sopenharmony_ci
39e41f4b71Sopenharmony_ci### cp
40e41f4b71Sopenharmony_ci
41e41f4b71Sopenharmony_ciCopies a file. This command can be used only after **LOSCFG_FS_VFS** is enabled.
42e41f4b71Sopenharmony_ci
43e41f4b71Sopenharmony_ci#### Format
44e41f4b71Sopenharmony_ci
45e41f4b71Sopenharmony_cicp [SOURCEFILE] [DESTFILE]
46e41f4b71Sopenharmony_ci
47e41f4b71Sopenharmony_ci#### Parameters
48e41f4b71Sopenharmony_ci
49e41f4b71Sopenharmony_ci| Parameter      | Description      | Value Range                                 |
50e41f4b71Sopenharmony_ci| ---------- | -------------- | ----------------------------------------- |
51e41f4b71Sopenharmony_ci| SOURCEFILE | Path of the file to copy.  | Currently, only files are supported. Directories are not supported. The file cannot be empty.|
52e41f4b71Sopenharmony_ci| DESTFILE   | Path of the file created.| Directory and file names are supported. The directory must exist.         |
53e41f4b71Sopenharmony_ci
54e41f4b71Sopenharmony_ci### date
55e41f4b71Sopenharmony_ci
56e41f4b71Sopenharmony_ciQueries the system date and time.
57e41f4b71Sopenharmony_ci
58e41f4b71Sopenharmony_ci#### Format
59e41f4b71Sopenharmony_ci
60e41f4b71Sopenharmony_cidate
61e41f4b71Sopenharmony_ci
62e41f4b71Sopenharmony_ci#### Parameters
63e41f4b71Sopenharmony_ci
64e41f4b71Sopenharmony_ciNone.
65e41f4b71Sopenharmony_ci
66e41f4b71Sopenharmony_ci### free
67e41f4b71Sopenharmony_ci
68e41f4b71Sopenharmony_ciDisplays the memory usage of the system.
69e41f4b71Sopenharmony_ci
70e41f4b71Sopenharmony_ci#### Format
71e41f4b71Sopenharmony_ci
72e41f4b71Sopenharmony_cifree [ -k | -m ]
73e41f4b71Sopenharmony_ci
74e41f4b71Sopenharmony_ci#### Parameters
75e41f4b71Sopenharmony_ci
76e41f4b71Sopenharmony_ci| Parameter| Description         | Value Range|
77e41f4b71Sopenharmony_ci| ---- | ----------------- | -------- |
78e41f4b71Sopenharmony_ci| -k   | Display the memory usage in KiB.| N/A      |
79e41f4b71Sopenharmony_ci| -m   | Display the memory usage in MiB.| N/A      |
80e41f4b71Sopenharmony_ci
81e41f4b71Sopenharmony_ci### help
82e41f4b71Sopenharmony_ci
83e41f4b71Sopenharmony_ciDisplays all commands in this operating system.
84e41f4b71Sopenharmony_ci
85e41f4b71Sopenharmony_ci#### Format
86e41f4b71Sopenharmony_ci
87e41f4b71Sopenharmony_cihelp
88e41f4b71Sopenharmony_ci
89e41f4b71Sopenharmony_ci#### Parameters
90e41f4b71Sopenharmony_ci
91e41f4b71Sopenharmony_ciNone.
92e41f4b71Sopenharmony_ci
93e41f4b71Sopenharmony_ci### ifconfig
94e41f4b71Sopenharmony_ci
95e41f4b71Sopenharmony_ciDisplays the IP address, network mask, gateway, and MAC address of a network adapter. This command can be used only after **LWIP_SHELLCMD_ENABLE** is enabled.
96e41f4b71Sopenharmony_ci
97e41f4b71Sopenharmony_ci#### Format
98e41f4b71Sopenharmony_ci
99e41f4b71Sopenharmony_ciifconfig
100e41f4b71Sopenharmony_ci
101e41f4b71Sopenharmony_ci#### Parameters
102e41f4b71Sopenharmony_ci
103e41f4b71Sopenharmony_ciNone.
104e41f4b71Sopenharmony_ci
105e41f4b71Sopenharmony_ci### ls
106e41f4b71Sopenharmony_ci
107e41f4b71Sopenharmony_ciDisplays the content of a directory. This command can be used only after **LOSCFG_FS_VFS** is enabled.
108e41f4b71Sopenharmony_ci
109e41f4b71Sopenharmony_ci#### Format
110e41f4b71Sopenharmony_ci
111e41f4b71Sopenharmony_cils  [DIRECTORY]
112e41f4b71Sopenharmony_ci
113e41f4b71Sopenharmony_ci#### Parameters
114e41f4b71Sopenharmony_ci
115e41f4b71Sopenharmony_ci| Parameter     | Description  | Value Range                                                    |
116e41f4b71Sopenharmony_ci| --------- | ---------- | ------------------------------------------------------------ |
117e41f4b71Sopenharmony_ci| DIRECTORY | Path of the directory.| If **DIRECTORY** is not specified, the content of the current directory is displayed.<br>If **DIRECTORY** is a valid directory, the content of the specified directory is displayed.<br>Currently, LiteOS-M does not support the root directory /.|
118e41f4b71Sopenharmony_ci
119e41f4b71Sopenharmony_ci### memusage
120e41f4b71Sopenharmony_ci
121e41f4b71Sopenharmony_ciDisplays the memory waterline.
122e41f4b71Sopenharmony_ci
123e41f4b71Sopenharmony_ci#### Format
124e41f4b71Sopenharmony_ci
125e41f4b71Sopenharmony_cimemusage [-k/-m]
126e41f4b71Sopenharmony_ci
127e41f4b71Sopenharmony_ci#### Parameters
128e41f4b71Sopenharmony_ci
129e41f4b71Sopenharmony_ci| Parameter| Description         | Value Range|
130e41f4b71Sopenharmony_ci| ---- | ----------------- | -------- |
131e41f4b71Sopenharmony_ci| -k   | Display the memory usage in KiB.| N/A      |
132e41f4b71Sopenharmony_ci| -m   | Display the memory usage in MiB.| N/A      |
133e41f4b71Sopenharmony_ci
134e41f4b71Sopenharmony_ci### mkdir
135e41f4b71Sopenharmony_ci
136e41f4b71Sopenharmony_ciCreates a directory. This command can be used only after **LOSCFG_FS_VFS** is enabled.
137e41f4b71Sopenharmony_ci
138e41f4b71Sopenharmony_ci#### Format
139e41f4b71Sopenharmony_ci
140e41f4b71Sopenharmony_cimkdir [DIRECTORY]
141e41f4b71Sopenharmony_ci
142e41f4b71Sopenharmony_ci#### Parameters
143e41f4b71Sopenharmony_ci
144e41f4b71Sopenharmony_ci| Parameter     | Description  | Value Range                             |
145e41f4b71Sopenharmony_ci| --------- | ---------- | ------------------------------------- |
146e41f4b71Sopenharmony_ci| DIRECTORY | Path of the directory.| The value of **DIRECTORY** can be an absolute path or a relative path.|
147e41f4b71Sopenharmony_ci
148e41f4b71Sopenharmony_ci### ping
149e41f4b71Sopenharmony_ci
150e41f4b71Sopenharmony_ciChecks whether the network is connected. This command can be used only after **LWIP_SHELLCMD_ENABLE** is enabled.
151e41f4b71Sopenharmony_ci
152e41f4b71Sopenharmony_ci#### Format
153e41f4b71Sopenharmony_ci
154e41f4b71Sopenharmony_ciping [ip]
155e41f4b71Sopenharmony_ci
156e41f4b71Sopenharmony_ci#### Parameters
157e41f4b71Sopenharmony_ci
158e41f4b71Sopenharmony_ci| Parameter| Description                      | Value Range|
159e41f4b71Sopenharmony_ci| ---- | ------------------------------ | -------- |
160e41f4b71Sopenharmony_ci| ip   | IPv4 address of the network to test.| N/A      |
161e41f4b71Sopenharmony_ci
162e41f4b71Sopenharmony_ci### pwd
163e41f4b71Sopenharmony_ci
164e41f4b71Sopenharmony_ciDisplays the current path. This command can be used only after **LOSCFG_FS_VFS** is enabled.
165e41f4b71Sopenharmony_ci
166e41f4b71Sopenharmony_ci#### Format
167e41f4b71Sopenharmony_ci
168e41f4b71Sopenharmony_cipwd
169e41f4b71Sopenharmony_ci
170e41f4b71Sopenharmony_ci### rm
171e41f4b71Sopenharmony_ci
172e41f4b71Sopenharmony_ciDeletes a file or folder. This command can be used only after **LOSCFG_FS_VFS** is enabled.
173e41f4b71Sopenharmony_ci
174e41f4b71Sopenharmony_ci#### Format
175e41f4b71Sopenharmony_ci
176e41f4b71Sopenharmony_cirm [FILE] or rm [-r/-R] [FILE]
177e41f4b71Sopenharmony_ci
178e41f4b71Sopenharmony_ci#### Parameters
179e41f4b71Sopenharmony_ci
180e41f4b71Sopenharmony_ci| Parameter | Description                       | Value Range                        |
181e41f4b71Sopenharmony_ci| ----- | ------------------------------- | -------------------------------- |
182e41f4b71Sopenharmony_ci| FILE  | File or folder name.| The value of **FILE** can be an absolute path or a relative path.|
183e41f4b71Sopenharmony_ci| -r/-R | If **FILE** is a folder, -r/-R needs to be set.   | N/A                              |
184e41f4b71Sopenharmony_ci
185e41f4b71Sopenharmony_ci### rmdir
186e41f4b71Sopenharmony_ci
187e41f4b71Sopenharmony_ciDeletes a folder. This command can be used only after **LOSCFG_FS_VFS** is enabled.
188e41f4b71Sopenharmony_ci
189e41f4b71Sopenharmony_ci#### Format
190e41f4b71Sopenharmony_ci
191e41f4b71Sopenharmony_cirmdir [DIRECTORY]
192e41f4b71Sopenharmony_ci
193e41f4b71Sopenharmony_ci#### Parameters
194e41f4b71Sopenharmony_ci
195e41f4b71Sopenharmony_ci| Parameter     | Description  | Value Range                             |
196e41f4b71Sopenharmony_ci| --------- | ---------- | ------------------------------------- |
197e41f4b71Sopenharmony_ci| DIRECTORY | Path of the directory.| The value of **DIRECTORY** can be an absolute path or a relative path.|
198e41f4b71Sopenharmony_ci
199e41f4b71Sopenharmony_ci### task
200e41f4b71Sopenharmony_ci
201e41f4b71Sopenharmony_ciDisplays the status of each task.
202e41f4b71Sopenharmony_ci
203e41f4b71Sopenharmony_ci#### Format
204e41f4b71Sopenharmony_ci
205e41f4b71Sopenharmony_citask
206e41f4b71Sopenharmony_ci
207e41f4b71Sopenharmony_ciThe displayed information includes the task No., priority, status, stack information, signal, event, CPU usage, and task name.
208e41f4b71Sopenharmony_ci
209e41f4b71Sopenharmony_ci### touch
210e41f4b71Sopenharmony_ci
211e41f4b71Sopenharmony_ciCreates a file. This command can be used only after **LOSCFG_FS_VFS** is enabled.
212e41f4b71Sopenharmony_ci
213e41f4b71Sopenharmony_ci#### Format
214e41f4b71Sopenharmony_ci
215e41f4b71Sopenharmony_citouch [FILE]
216e41f4b71Sopenharmony_ci
217e41f4b71Sopenharmony_ci#### Parameters
218e41f4b71Sopenharmony_ci
219e41f4b71Sopenharmony_ci| Parameter| Description| Value Range                        |
220e41f4b71Sopenharmony_ci| ---- | -------- | -------------------------------- |
221e41f4b71Sopenharmony_ci| FILE | File name.| The value of **FILE** can be an absolute path or a relative path.|
222e41f4b71Sopenharmony_ci
223e41f4b71Sopenharmony_ci### stack
224e41f4b71Sopenharmony_ci
225e41f4b71Sopenharmony_ciDisplays the stack information of a task. This command can be used only after **LOSCFG_DEBUG_TOOLS** is enabled. Enabling this function affects the performance.
226e41f4b71Sopenharmony_ci
227e41f4b71Sopenharmony_ci#### Format
228e41f4b71Sopenharmony_ci
229e41f4b71Sopenharmony_cistack [ID]
230e41f4b71Sopenharmony_ci
231e41f4b71Sopenharmony_ci#### Parameters
232e41f4b71Sopenharmony_ci
233e41f4b71Sopenharmony_ci| Parameter| Description| Value Range                |
234e41f4b71Sopenharmony_ci| ---- | -------- | ------------------------ |
235e41f4b71Sopenharmony_ci| ID   | Task ID.| The task corresponding to the task ID must exist.|
236e41f4b71Sopenharmony_ci
237e41f4b71Sopenharmony_ci### hwi
238e41f4b71Sopenharmony_ci
239e41f4b71Sopenharmony_ciQueries the interrupt usage. This command can be used only after **LOSCFG_DEBUG_TOOLS** is enabled. Enabling this function affects the performance.
240e41f4b71Sopenharmony_ci
241e41f4b71Sopenharmony_ci#### Format
242e41f4b71Sopenharmony_ci
243e41f4b71Sopenharmony_cihwi
244e41f4b71Sopenharmony_ci
245e41f4b71Sopenharmony_ci### st
246e41f4b71Sopenharmony_ci
247e41f4b71Sopenharmony_ciQueries scheduling information. This command can be used only afterf **LOSCFG_DEBUG_TOOLS** is enabled. Enabling this function affects the performance.
248e41f4b71Sopenharmony_ci
249e41f4b71Sopenharmony_ci#### Format
250e41f4b71Sopenharmony_ci
251e41f4b71Sopenharmony_cist -s | st -e
252e41f4b71Sopenharmony_ci
253e41f4b71Sopenharmony_ci#### Parameters
254e41f4b71Sopenharmony_ci
255e41f4b71Sopenharmony_ci| Parameter| Description              | Value Range|
256e41f4b71Sopenharmony_ci| ---- | ---------------------- | -------- |
257e41f4b71Sopenharmony_ci| -s   | Start to record scheduling information.      | N/A      |
258e41f4b71Sopenharmony_ci| -e   | Stop recording and print scheduling information.| N/A      |
259