实习第二天,反反复复敲“linux/QNX操作命令”

上一篇分享了Git操作的适应心得,这次想聊聊另一个新人绕不开的话题——命令行操作。

相信不少人和我一样,在学校里对Linux命令也就是“能用”的水平:ls看看文件,cd切切目录,vim改改代码。但进了公司,尤其是做嵌入式或车载开发,面对的不只是Linux服务器,可能还有QNX这类实时操作系统(RTOS)。

第一次连上QNX设备,我习惯性敲了个top——command not found。再敲systemctl——还是没有。当时就懵了:“这跟Linux不一样啊?”

后来才发现,QNX和Linux虽然都是类Unix系统,很多基础命令一样,但在进程管理、系统信息查看这些核心操作上完全不同。这篇博客就整理了我实习期间最常用的Linux和QNX命令,希望能帮到同样在嵌入式领域“摸爬滚打”的伙伴们。

一、通用基础:Linux和QNX都“说同一种话”

无论Linux还是QNX,文件目录操作基本是一样的。这些都是肌肉记忆级别的命令:

命令 作用 常用示例
pwd 我在哪? pwd → /home/user/project
ls 这屋里有什么? ls -la 看所有文件(含隐藏)的详细信息
cd 去哪个目录 cd ~/project 去项目目录
cp 复制文件/目录 cp -r src/ dst/ 递归复制目录
mv 移动或重命名 mv old.txt new.txt
mkdir 创建目录 mkdir -p a/b/c 递归创建多级目录
rm 删除(慎用!) rm -rf / 是删库跑路,千万别试

新手避坑:想删东西又不确定的时候,先用mv移到/tmp目录,确认无误再删。

二、Linux场景:排查问题的“三板斧”

在公司里,最常用Linux的场景是连上服务器看日志、查进程、调网络。我总结了一套“三板斧”:

看日志 —— tail -f + grep🔍

日志是程序员的“眼睛”。出问题第一件事就是看日志:

点击查看代码
# 实时追踪日志(按 Ctrl+C 退出)
tail -f /var/log/app.log

# 从日志里筛选错误
grep "ERROR" /var/log/app.log

# 组合技:实时看错误日志
tail -f /var/log/app.log | grep "ERROR"

📊 看系统状态 —— top / ps

点击查看代码
top           # 实时看CPU/内存占用,按 q 退出[reference:19]
ps aux | grep "进程名"   # 查找特定进程[reference:20]

线上CPU飙高时,top一看哪个进程占满核,再用ps定位具体信息,问题就找到一半了。

🌐 看网络 —— ping + curl + ss

点击查看代码
ping 8.8.8.8          # 测试网络通不通[reference:22]
curl -I http://xxx    # 只看HTTP响应头[reference:23]
ss -tunlp             # 看哪些端口在监听(比netstat新)[reference:24]

🚀 启停服务 —— systemctl

点击查看代码
systemctl start nginx     # 启动服务
systemctl status nginx    # 查看状态
systemctl enable nginx    # 开机自启[reference:25]

三、QNX特殊之处:实时系统,命令不一样

如果说Linux是“通用操作系统”,那QNX就是“实时微内核系统”。最直观的差异就是——命令不一样。

🔍 查看进程 —— pidin(QNX的灵魂命令)

Linux用ps和top,QNX用pidin:

点击查看代码
pidin            # 查看所有进程(类似 ps -ef)
pidin ar         # a=所有进程,r=正在运行[reference:30]
pidin mem        # 查看内存信息[reference:31]
pidin cpu        # 查看CPU负载[reference:32]
pidin -p <pid> threads  # 查看某进程的线程及优先级[reference:33]

💾 查看系统信息 —— sin / showmem

点击查看代码
uname -a         # 系统版本(Linux和QNX通用)
sin              # QNX系统信息[reference:35]
showmem -S       # QNX查看内存详情[reference:36]

🌐 网络相关 —— ifconfig / netstat

点击查看代码
ifconfig               # 查看网络接口
ifconfig eth0 up       # 激活网口[reference:38]
netstat -an            # 查看所有网络连接[reference:39]
sin net                # QNX查看网络栈信息[reference:40]

写在最后

刚开始接触命令行时,我也觉得命令太多记不住。后来发现不需要死记硬背——常用的就那么十几个,用多了自然就熟了。关键是理解每个命令能解决什么问题,遇到场景知道该用什么工具,具体参数可以现查。

posted @ 2026-06-27 16:17  郊游  阅读(1)  评论(0)    收藏  举报