嵌入式Linux基础命令:入门必掌握的实用工具
摘要:本文介绍了嵌入式Linux开发中最常用的基础命令,涵盖文件操作、系统管理、网络配置、设备调试等核心功能。针对嵌入式环境特点,重点讲解了ls/cd/ps/top等基础命令,dd/mount等设备操作命令,以及dmesg/strace等调试工具。文章还提供了串口连接、后台运行等实用技巧,帮助开发者快速上手目标板调试。这些命令组合使用可解决大多数嵌入式开发中的系统管理和故障排查问题,是每位嵌入式L
作为一名嵌入式Linux开发者,无论是调试硬件、配置系统,还是部署应用程序,掌握基础命令都是迈向成功的第一步。嵌入式环境通常资源有限,没有图形界面,一切操作都依赖命令行。本文将为你梳理嵌入式Linux开发中最常用的命令,帮助你快速上手目标板调试与系统管理。
示例:

1. 文件系统导航与操作
ls – 列出目录内容
bash
ls # 列出当前目录文件 ls -l # 详细列表(权限、大小、时间) ls -a # 显示所有文件(包括隐藏文件)
在嵌入式系统中,常用ls -l /dev查看设备节点,或ls -l /sys查看内核导出信息。
cd – 切换目录
bash
cd /etc # 进入/etc目录 cd .. # 返回上一级 cd # 返回用户根目录
pwd – 显示当前路径
bash
pwd
常用于确认当前所在目录,避免操作错误。
mkdir / rmdir – 创建/删除空目录
bash
mkdir -p /data/logs # 递归创建多级目录 rmdir /tmp/test # 删除空目录(目录非空会报错)
rm – 删除文件或目录
bash
rm file.txt # 删除文件 rm -r /tmp/logs # 递归删除目录及其内容(谨慎使用!) rm -f file.txt # 强制删除,不提示
cp – 复制
bash
cp source.txt dest.txt # 复制文件 cp -r /mnt/usb /home/root # 递归复制整个目录
mv – 移动或重命名
bash
mv oldname.c newname.c # 重命名 mv /tmp/app /mnt/sdcard/ # 移动文件/目录
cat – 查看文件内容
bash
cat /proc/cpuinfo # 查看CPU信息 cat /etc/os-release # 查看系统版本
echo – 输出字符串或变量
bash
echo "Hello" > /dev/ttyS0 # 向串口发送数据 echo 1 > /sys/class/leds/led0/brightness # 点亮LED
2. 系统信息查看
uname – 显示系统信息
bash
uname -a # 内核名称、版本、硬件架构等 uname -r # 仅显示内核版本
在嵌入式调试中,uname -a可快速确认当前运行的kernel版本和交叉编译环境是否匹配。
df – 查看磁盘空间使用
bash
df -h # 以人类可读格式显示分区挂载和剩余空间
free – 查看内存使用
bash
free -m # 以MB显示内存使用情况
top – 动态查看进程资源占用
bash
top # 显示CPU、内存占用最高的进程(按q退出)
嵌入式系统常用top观察是否有进程异常占用CPU,或内存泄漏。
3. 进程管理
ps – 查看进程列表
bash
ps # 当前终端进程 ps aux # 显示所有进程(常用)
嵌入式环境中,ps | grep app可快速检查应用程序是否在运行。
kill – 终止进程
bash
kill -9 1234 # 强制杀死PID为1234的进程 kill -15 1234 # 正常终止进程(可被捕获清理)
配合ps找到进程ID后使用。
& – 后台运行
bash
./my_app & # 将程序放到后台运行 jobs # 查看后台任务 fg %1 # 将后台任务1调到前台
nohup – 忽略挂断信号运行
bash
nohup ./my_app & # 退出终端后程序仍继续运行
4. 网络配置与测试
ifconfig – 查看/配置网络接口
bash
ifconfig # 查看所有接口信息 ifconfig eth0 192.168.1.100 up # 配置静态IP并启用 ifconfig eth0 down # 禁用接口
在较新系统中推荐使用ip命令,但ifconfig在嵌入式环境中依然广泛使用。
ip – 现代网络配置工具
bash
ip addr show # 查看IP地址 ip link set eth0 up # 启用接口
ping – 测试网络连通性
bash
ping 192.168.1.1 # 发送ICMP请求 ping -c 4 google.com # 只发4个包后退出
route – 查看/设置路由表
bash
route -n # 显示路由表(数字形式) route add default gw 192.168.1.1 # 添加默认网关
netstat – 网络状态
bash
netstat -tulnp # 显示所有监听端口及对应进程
iwconfig – 无线网络配置(Wi-Fi)
bash
iwconfig wlan0 # 查看无线接口状态 iwlist wlan0 scan # 扫描附近Wi-Fi网络
5. 设备与文件系统
mount – 挂载存储设备
bash
mount /dev/mmcblk0p1 /mnt/sdcard # 挂载SD卡分区 mount -t nfs 192.168.1.10:/nfs_root /mnt/nfs # 挂载NFS(开发常用)
umount – 卸载设备
bash
umount /mnt/sdcard # 卸载前确保没有进程占用
dd – 磁盘复制与烧写
bash
dd if=u-boot.bin of=/dev/mmcblk0 bs=1M seek=1 # 烧写U-Boot到SD卡 dd if=/dev/zero of=/dev/mtdblock0 bs=1M count=1 # 擦除Flash区域
dd在嵌入式开发中常用于烧写固件、备份分区。
fdisk – 磁盘分区工具
bash
fdisk -l # 列出所有磁盘及分区 fdisk /dev/mmcblk0 # 进入交互式分区工具
6. 压缩与打包
tar – 归档文件
bash
tar -czf backup.tar.gz /home/root # 打包并压缩 tar -xzf backup.tar.gz # 解压 tar -xvf archive.tar # 解包(未压缩)
gzip / gunzip – 压缩/解压单个文件
bash
gzip large.log # 生成 large.log.gz gunzip large.log.gz # 解压
7. 调试与串口
dmesg – 查看内核环形缓冲区消息
bash
dmesg | tail -20 # 查看最后20条内核日志 dmesg | grep usb # 过滤USB相关消息
嵌入式驱动调试时,dmesg是查看设备初始化、错误信息的首要工具。
strace – 跟踪系统调用
bash
strace ./my_app # 跟踪程序所有系统调用(调试程序行为)
gdb – GNU调试器(如果已集成)
bash
gdb ./my_app # 启动调试(远程调试也常用)
minicom / picocom – 串口终端程序
bash
picocom -b 115200 /dev/ttyUSB0 # 连接串口设备,波特率115200
通常用于连接目标板的控制台。
8. 权限与用户
chmod – 修改文件权限
bash
chmod 755 script.sh # 赋予所有者rwx,其他用户rx chmod +x run.sh # 添加可执行权限
chown – 修改文件所有者
bash
chown root:root file # 将文件所有者改为root,组改为root
whoami / id – 查看当前用户
bash
whoami # 显示用户名 id # 显示UID、GID及所属组
9. 文件查找与内容搜索
find – 查找文件
bash
find / -name "*.ko" # 从根目录查找所有内核模块 find / -size +10M # 查找大于10MB的文件
grep – 文本搜索
bash
grep "error" /var/log/messages # 在日志中搜索error ps aux | grep "app" # 过滤出app进程
which – 查找可执行文件路径
bash
which python # 显示python命令的完整路径
10. 环境变量与模块
export – 设置环境变量
bash
export PATH=$PATH:/opt/bin # 临时添加路径 export LD_LIBRARY_PATH=/usr/local/lib # 指定动态库搜索路径
env – 查看所有环境变量
modprobe / insmod – 加载内核模块
bash
insmod my_driver.ko # 直接插入模块 modprobe usb_storage # 自动处理依赖并加载模块 lsmod # 查看已加载模块 rmmod my_driver # 卸载模块
11. 常用快捷键与技巧
-
Tab键:自动补全命令或路径。
-
Ctrl + C:终止当前运行的程序。
-
Ctrl + Z:将当前程序挂起到后台。
-
Ctrl + D:退出当前终端(或发送EOF)。
-
↑ / ↓:历史命令浏览。
-
history:查看最近执行过的命令列表。
-
!!:重复上一条命令。
结语
以上命令只是嵌入式Linux开发中的冰山一角,但掌握了它们,你已经能够独立完成系统信息查看、文件操作、网络配置、进程调试等基础工作。嵌入式开发往往需要频繁与硬件交互,因此建议在实际操作中多使用man命令查看帮助(如man ls),或借助--help选项(如ls --help)。
命令的熟练运用需要反复练习。你可以在开发板上搭建一个小型Linux环境,或者使用QEMU模拟目标板进行练习。当你遇到问题时,不妨先用dmesg查看内核日志,再用ps和top确认进程状态,最后结合grep、find等工具定位文件或配置。这一套流程几乎能覆盖绝大多数调试场景。
希望这篇博客能成为你嵌入式Linux学习之路上的一个实用参考。如果有什么命令是你经常使用但文中未提及的,欢迎在评论区补充交流!
更多推荐



所有评论(0)