- Shell 命令:在 VxWorks Shell(类似于 Linux 的 Bash)中直接执行的命令,用于文件系统管理、网络诊断、进程控制等。
- WindSh 命令:在 WindSh (Wind Shell) 中执行的命令,主要用于内核调试、对象查看和控制(任务、信号量、消息队列等)。
下面我将详细介绍这两类中最常用和核心的命令。

Shell 命令
这些命令通常在目标板上通过串口或 Telnet/SSH 连接后,直接输入执行,它们提供了与操作系统底层交互的能力。
文件和目录操作
| 命令 | 描述 | 示例 |
|---|---|---|
ls |
列出目录内容 | ls / (列出根目录) |
cd |
切换当前目录 | cd /ram (切换到 /ram 目录) |
pwd |
显示当前工作目录 | pwd |
mkdir |
创建新目录 | mkdir /tmp/mydir |
rm |
删除文件或目录 | rm myfile.txt rm -r mydir (递归删除目录) |
cp |
复制文件或目录 | cp src.txt dest.txt cp -r src_dir dest_dir |
mv |
移动/重命名文件或目录 | mv old_name.txt new_name.txt mv file.txt /tmp/ |
cat |
显示文件内容 | cat /etc/version |
more |
分页显示文件内容 | more long_file.txt |
less |
更强大的分页显示 | less long_file.txt |
touch |
创建一个空文件或更新文件时间戳 | touch newfile.txt |
dd |
复制并转换文件 | dd if=/dev/zero of=/ram/testfile bs=1M count=10 (创建一个 10MB 的测试文件) |
网络诊断
| 命令 | 描述 | 示例 |
|---|---|---|
ping |
测试网络连通性 | ping 192.168.1.1 |
ifconfig |
配置和显示网络接口信息 | ifconfig (显示所有接口) ifconfig e0 192.168.1.100 (设置 IP 地址) |
route |
显示和操作 IP 路由表 | route (显示路由表) route add default 192.168.1.1 (添加默认网关) |
netstat |
显示网络连接、路由表、接口统计等 | netstat -i (显示接口统计) netstat -an (显示所有连接) |
ftp / tftp |
文件传输客户端 | ftp 192.168.1.2 tftp -g -r file.txt 192.168.1.2 |
系统信息
| 命令 | 描述 | 示例 |
|---|---|---|
version |
显示 VxWorks 版本信息 | version |
uptime |
显示系统运行时间 | uptime |
date |
显示或设置系统日期和时间 | date date "12/25/2025 10:00:00" |
cpuUsage |
显示 CPU 使用率 | cpuUsage |
memShow |
显示内存使用情况 | memShow |
其他常用命令
| 命令 | 描述 | 示例 |
|---|---|---|
reboot |
重新启动系统 | reboot |
-> |
进入 WindSh 调试环境 | -> (在 Shell 中输入此符号进入) |
WindSh 命令
这些命令在 WindSh 环境下执行,通常以 -> 或 vxWorks> 作为提示符,它们是调试和分析 VxWorks 内核的关键工具。
任务管理
| 命令 | 描述 | 示例 |
|---|---|---|
sp |
显示当前任务的堆栈使用情况 | sp |
i |
显示所有任务的详细信息 | i |
taskName |
通过任务 ID 获取任务名称 | taskName 0x10000 |
taskId |
通过任务名称获取任务 ID | taskId "tLogTask" |
taskResume |
恢复一个被挂起的任务 | taskResume taskId |
taskSuspend |
挂起一个任务 | taskSuspend taskId |
taskDelete |
删除一个任务 | taskDelete taskId |
wdogShow |
显示看门狗信息 | wdogShow |
同步对象管理 (信号量、互斥锁等)
| 命令 | 描述 | 示例 |
|---|---|---|
semShow |
显示信号量信息 | semShow semId semShow (显示所有) |
semGive |
释放一个信号量 | semGive semId |
semTake |
获取一个信号量(会阻塞) | semTake semId |
mutexShow |
显示互斥锁信息 | mutexShow mutexId |
msgQShow |
显示消息队列信息 | msgQShow msgQId |
pipeShow |
显示管道信息 | pipeShow pipeId |
内存管理
| 命令 | 描述 | 示例 |
|---|---|---|
memPartShow |
显示内存分区信息 | memPartShow memPartId memPartShow (显示所有) |
malloc |
从系统默认堆中分配内存 | malloc(1024) |
free |
释放内存 | free(ptr) |
模块和符号管理
| 命令 | 描述 | 示例 |
|---|---|---|
ld |
加载一个可加载模块到目标机 | ld "myModule.out" |
unld |
从目标机卸载一个模块 | unld "myModule" |
symbols |
显示模块的符号表 | symbols "myModule" |
x |
执行符号(函数) | x myFunction |
wd |
设置监视点 | wd 0x10000 (监视地址 0x10000) |
tr |
设置跟踪点 | tr myFunction (跟踪函数调用) |
执行控制
| 命令 | 描述 | 示例 |
|---|---|---|
cont |
继续执行被暂停的任务 | cont |
step |
单步执行(进入函数) | step |
next |
单步执行(跳过函数) | next |
如何获取帮助
在 VxWorks 中,最强大的命令是 help。
-
Shell 帮助: 在 Shell 提示符下,直接输入
help,会列出所有可用的 Shell 命令。
(图片来源网络,侵删)-> help
-
WindSh 帮助: 在 WindSh 提示符下,输入
help会列出所有 WindSh 命令。-> help
对于特定命令,可以使用
help <command>来获取详细用法。-> help i -> help semShow
实用技巧
-
命令自动补全:在 WindSh 中,按下
Tab键可以补全命令、任务名或符号名,这能大大提高效率。 -
命令历史:使用上下箭头键可以浏览之前执行过的命令。
(图片来源网络,侵删) -
从主机下载文件:使用
cp命令配合主机路径,如果你的 TFTP 服务器地址是 192.168.1.10:# 从 TFTP 服务器下载文件到目标板 /tmp 目录 cp /host:/tftpboot/myApp /tmp/myApp
-
执行 Shell 脚本:可以将一系列命令写入一个文件,然后在 Shell 中使用
source或 命令执行它。# script.cmd cd /ram ls echo "Hello from script" # 执行脚本 -> source script.cmd
| 命令类型 | 主要用途 | 核心命令示例 |
|---|---|---|
| Shell 命令 | 文件管理、网络配置、系统监控、程序加载 | ls, cd, ifconfig, ping, reboot, ld |
| WindSh 命令 | 内核调试、任务/信号量等对象分析、内存查看、断点设置 | i, sp, semShow, memPartShow, x, cont, help |
理解这两类命令的区别和用途,是高效开发和调试 VxWorks 系统的基础,建议你将这份清单作为参考,并在实际操作中不断熟悉和掌握它们。
