嵌入式基本命令有哪些核心操作?

嵌入式系统开发中,命令行工具是与硬件交互、调试程序、管理文件的核心手段,无论是交叉编译环境搭建、内核调试,还是文件系统维护,都离不开一系列基础命令的支撑,这些命令通常通过串口、SSH或调试器终端进入嵌入式设备的系统后执行,其功能与Linux命令类似,但需考虑嵌入式资源受限的特性,部分命令可能存在功能简化或参数差异,以下从文件管理、进程控制、网络配置、系统监控及调试辅助五个维度,详细解析嵌入式开发中常用的基本命令。

嵌入式基本命令
(图片来源网络,侵删)

文件管理命令

嵌入式系统存储空间有限,文件操作需兼顾效率与安全性,常用命令如下:

目录与文件浏览

  • ls:列出目录内容,常用参数包括 -l(显示详细信息,如权限、所有者、大小)、-a(显示隐藏文件)、-h(以人类可读格式显示大小,如K/M)。
    示例:ls -lh /home 查看/home目录下文件的详细大小信息。
  • cd:切换目录,cd ..返回上级目录,cd -返回上一目录,cd ~进入用户主目录。
  • pwd:显示当前工作目录的绝对路径,常用于确认当前位置。

文件操作

  • cp:复制文件/目录,-r参数用于递归复制目录(如cp -r /source /destination)。
  • mv:移动文件/目录或重命名,如mv old.txt new.txt重命名,mv /file /newdir/移动文件。
  • rm:删除文件,-r递归删除目录,-f强制删除(不提示),需谨慎使用,尤其在存储空间紧张时。
  • touch:创建空文件或更新文件时间戳,如touch test.log创建新日志文件。

查看

  • cat:查看文件全部内容,适合小文件(如cat config.txt)。
  • less/more:分页查看文件,less支持向前/向后翻页(空格键下翻,b键上翻),q退出,适合大文件。
  • head/tail:查看文件开头/末尾内容,-n参数指定行数(如tail -n 20 log.txt查看日志末尾20行)。

文件权限与所有者

  • chmod:修改文件权限,添加权限、移除权限,r(读)、w(写)、x(执行),例如chmod +x script.sh赋予脚本执行权限。
  • chown:修改文件所有者,格式为chown 用户:组 文件,需root权限(如chown root:root system.conf)。

进程控制命令

嵌入式系统中,进程管理需关注资源占用与实时性,常用命令包括:

进程查看

  • ps:显示当前进程,-ef显示所有进程(全格式),-aux显示详细进程信息(包括CPU/内存占用)。
    示例:ps -ef | grep app筛选包含“app”的进程。
  • top/htop:动态查看进程状态,按CPU/内存排序,实时更新进程资源占用(htoptop的增强版,支持交互操作)。

进程控制

  • kill:终止进程,通过PID(进程ID)操作,-9强制终止(如kill 1234kill -9 1234)。
  • killall:通过进程名终止所有匹配进程,如killall nginx终止所有nginx进程。
  • nohup:让进程在后台运行且忽略挂断信号,常用于嵌入式服务启动(如nohup ./server &)。

进程优先级

  • nice/renice:调整进程优先级(值越高优先级越低),nice -n 10 command以低优先级运行命令,renice 10 PID修改已运行进程的优先级。

网络配置命令

嵌入式设备常作为网络节点,需通过命令管理网络连接:

网络状态查看

  • ifconfig/ip:查看/配置网络接口,ifconfig eth0 up/down启用/禁用网卡,ip addr show显示IP地址详情(现代嵌入式系统推荐ip命令)。
  • ping:测试网络连通性,如ping 192.168.1.1检测与网关的连通性,-c指定发送包数量(ping -c 4 8.8.8.8)。
  • netstat:查看网络连接状态,-an显示所有连接(含监听端口),-tuln显示监听的TCP/UDP端口(如netstat -tuln | grep 8080检查8080端口是否开放)。

网络配置

  • route/ip route:配置静态路由,route add default gw 192.168.1.1设置默认网关,ip route add 192.168.2.0/24 via 192.168.1.2添加特定网段路由。
  • dhclient/udhcpc:动态获取IP地址(DHCP客户端),嵌入式设备常用udhcpc(如udhcpc -i eth0)。
  • ssh/telnet:远程登录,ssh user@192.168.1.100通过SSH安全登录,telnet 192.168.1.100为不安全登录(仅调试使用)。

网络工具

  • wget/curl:下载文件,wget http://example.com/file.bin下载固件,curl -I http://example.com检查HTTP响应头。
  • nslookup/dig:DNS查询,nslookup www.baidu.com解析域名IP。

系统监控命令

嵌入式系统资源紧张,需实时监控CPU、内存、存储等状态:

嵌入式基本命令
(图片来源网络,侵删)

CPU与内存监控

  • top/htop:实时查看CPU占用率、内存使用情况,按P按CPU排序,M按内存排序。
  • free:查看内存使用情况,-h以人类可读格式显示(如free -h查看总内存、已用、空闲)。
  • vmstat:虚拟内存统计,vmstat 1每秒输出一次CPU/内存/交换分区状态(如vmstat 1 5输出5次)。

存储监控

  • df:查看磁盘空间使用情况,-h显示人类可读格式(如df -h /mnt检查/mnt分区剩余空间)。
  • du:统计目录大小,-sh显示总大小(如du -sh /var/log查看日志目录占用空间)。

系统信息

  • uname:显示系统信息,-a显示全部信息(内核版本、主机名等),-r显示内核版本(如uname -r)。
  • dmesg:查看内核日志,-T显示时间戳(如dmesg | grep error筛选内核错误信息)。

调试辅助命令

嵌入式开发中,调试命令定位问题的关键:

日志查看

  • logcat(Android系统):查看系统日志,logcat -s TAG过滤特定标签日志(如logcat -s MainActivity)。
  • journalctl(systemd系统):查看系统服务日志,-u指定服务(如journalctl -u nginx.service)。

硬件调试

  • iostat:查看设备I/O状态,-dx显示设备详细统计(如iostat -dx /dev/sda)。
  • strace:跟踪系统调用,strace -p PID跟踪指定进程的系统调用(如strace -p 1234)。

开机自启配置

  • systemctl(systemd系统):管理服务,systemctl enable service开机自启,systemctl start service启动服务(如systemctl enable nginx)。
  • chkconfig(SysVinit系统):设置服务开机自启,chkconfig --add service添加服务,chkconfig service on启用自启。

嵌入式基本命令对比表

功能分类命令核心用途常用参数/示例
文件管理ls列出目录内容-l(详细信息)、-h(人类可读)
cp复制文件/目录-r(递归复制)
rm删除文件/目录-rf(强制递归删除)
进程控制ps查看进程状态-ef(所有进程)、aux(详细信息)
kill终止进程-9(强制终止)
网络配置ifconfig查看/配置网络接口up/down(启用/禁用)
ping测试网络连通性-c(指定包数量)
系统监控top动态监控进程资源占用P(CPU排序)、M(内存排序)
free查看内存使用情况-h(人类可读格式)
调试辅助dmesg查看内核日志-T(显示时间戳)
strace跟踪系统调用-p PID(指定进程)

相关问答FAQs

Q1: 嵌入式系统中如何通过命令查找大文件,释放存储空间?
A: 可结合dufind命令定位大文件,步骤如下:

  1. 使用find命令按文件大小查找,例如查找目录下大于100MB的文件:
    find / -type f -size +100M
  2. 使用du命令统计目录大小,定位占用空间大的目录:
    du -sh /* | sort -rh | head -10
  3. 确认无用文件后,使用rm删除(如rm -rf /path/large_file),注意:删除前务必确认文件用途,避免误删系统关键文件。

Q2: 嵌入式设备通过SSH连接后,如何查看后台运行的服务状态?
A: 根据系统初始化类型选择命令:

  • systemd系统(主流嵌入式Linux):使用systemctl命令,例如查看所有服务状态:
    systemctl list-units --type=service --state=running

    查看特定服务详情(如nginx):

    嵌入式基本命令
    (图片来源网络,侵删)
    systemctl status nginx.service
  • SysVinit系统(旧版嵌入式设备):使用servicechkconfig命令,例如查看服务状态:
    service nginx status

    查看开机自启服务:

    chkconfig --list | grep ":on"

    若服务未运行,可通过systemctl start nginxservice nginx start启动。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/358904.html<

(0)
运维的头像运维
上一篇2025-09-22 13:59
下一篇 2025-09-22 14:04

相关推荐

  • Top Linux命令有哪些?最常用的是哪些?

    Linux作为服务器和开发环境的首选操作系统,其强大的命令行工具是高效工作的核心,掌握Top命令对于系统监控至关重要,它能实时展示系统资源使用情况,帮助管理员快速定位性能瓶颈,Top命令默认以全屏交互方式运行,每两秒刷新一次数据,显示进程ID、用户、CPU及内存占用等关键信息,通过按下大写字母P可按CPU使用率……

    2025-11-20
    0
  • 如何禁止程序运行的命令有哪些?

    在计算机管理和安全维护中,有时需要通过特定命令禁止某些程序运行,这一操作常见于企业环境、家长控制或系统安全防护场景,通过命令行工具可以高效、精准地实现程序禁用,但需注意操作权限和潜在影响,以下是关于“禁止程序运行命令”的详细说明,涵盖不同操作系统下的方法、操作步骤及注意事项,Windows系统下的禁止程序运行命……

    2025-11-20
    0
  • 安卓命令kill如何正确使用?

    在安卓系统中,kill 命令是通过 Linux 内核的信号机制来管理进程的重要工具,主要用于终止指定进程的运行,该命令通常需要通过 ADB(Android Debug Bridge)或终端模拟器执行,普通应用由于系统权限限制无法直接调用,主要用于开发者调试或系统级操作,以下从命令语法、信号类型、使用场景及注意事……

    2025-11-18
    0
  • Linux计算命令有哪些?

    在Linux系统中,计算命令是日常运维、开发和数据分析中不可或缺的工具,它们能够高效处理数值运算、文件数据处理和系统资源统计等任务,Linux提供了多种命令行计算工具,从简单的算术运算到复杂的科学计算,满足不同场景需求,以下将详细介绍常用的Linux计算命令及其使用方法,基础算术运算命令expr命令expr是L……

    2025-11-18
    0
  • C盘启动命令有哪些?

    在Windows操作系统中,C盘作为系统盘,包含了启动操作系统所需的核心文件和配置信息,通过特定的启动命令,用户可以进入高级启动选项、修复系统问题或进行系统维护,这些命令通常在系统无法正常启动时通过Windows恢复环境(WinRE)或启动菜单执行,部分命令也可在系统运行时通过命令提示符(管理员权限)调用,以下……

    2025-11-16
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注