常用命令速查

U-Boot

  • pri # 查看环境变量
  • setenv <var> <value> # 设置环境变量
  • bdinfo # 显示板级信息
  • dhcp # 获取 IP 地址(DHCP)
  • mii # MII(Media Independent Interface)相关
  • load <dev_type> <bus>:<dev> <file> # 从设备指定分区加载文件
  • booti $kernel_addr - $fdt_addr # 启动内核,加载设备树
  • iminfo <addr> # 查看镜像
  • fdt # fdt(Flattened Device Tree)相关
  • md $addr <len> # 内存十六进制查看(默认32bit)

系统信息与日志

  • man # 指令信息
  • uname -a # 内核版本
  • lscpu # CPU 信息
  • dmesg # 内核日志
  • getconf -a # 系统参数(只读)
  • sysctl # 内核参数相关
  • systemctl # 系统 service 相关
  • free -h # 查看内存使用
  • ps -ef # 获取进程快照
  • top # 实时观察系统负载
  • slabtop # 查看内核对象占用
  • jobs / bg %<job> / fg %<job> # 查看/后台/前台作业
  • hexdump /dev/ttyS & # 后台查看串口原始数据
  • journalctl -u service -f # 查看服务日志
  • cat # 打印文件(可用 batcat 提供高亮)
    • /etc/os-release # 系统发行信息
    • /etc/resolv.conf # 查看 DNS 配置
    • /etc/systemd/resolved.conf # 查看 systemd-resolved 配置
    • /proc/interrupts # 中断统计
    • /proc/softirqs # 软件中断统计
    • /proc/irq/<irq>/smp_affinity # 中断 CPU 亲和性
    • /proc/net/dev # 网络统计
    • /proc/iomem # 查看物理内存映射
    • /proc/meminfo # 内存状态
    • /sys/kernel/debug/gpio # 查看 GPIO 状态
  • zcat /proc/config.gz | less | grep -i <term> # 查看内核配置

网络诊断

  • networkctl # 显示网络状态(systemd)
  • dhclient <iface> # 请求 DHCP
  • ethtool <iface> # 网口工具
  • dig # 查 DNS 解析(定位域名 -> IP 问题)
  • traceroute # 查路径走向(定位卡在哪一跳)
  • mtr # 查质量问题(定位延迟/丢包最严重的节点)
  • resolvectl # 显示 systemd-resolved 的状态
  • ss -lntup # 查看套接字状态
  • nc -u -v 192.168.13.1 53 # 用 UDP 向 192.168.13.1:53 发送数据(DNS 端口)
  • tcpdump -i <iface> # 抓包相关

VLAN / 链路配置

  • bridge link # 显示桥信息
  • bridge vlan add dev <dev> vid <vid> pvid untagged # 添加 VLAN(硬件实现)
  • ip link add link <dev> name <dev>.<vid> type vlan id <vid> # 创建 VLAN 子接口(软件实现)

ip 常用命令

  • ip a # 显示所有接口信息
  • ip -s link # 显示网络统计
  • ip link set <dev> up # 接口使能
  • ip link add name <br> type bridge # 创建网桥
  • ip link set <dev> master <br> # 添加接口到网桥
  • ip addr add <ip>/<mask> dev <br> # 配置 IP
  • ip route add default via <gw> dev <br> # 默认路由
  • ip route get <dst> # 查询路由到目标

硬件 / 外设

  • dmidecode # 打印所有硬件信息
  • lsblk -f # 列出块设备及文件系统
  • blkid # 查看设备 UUID/类型
  • i2cdetect -a -y <bus> # 扫描 I2C 总线
  • i2cdump -y <bus> <addr> # 查看 I2C 设备寄存器
  • gpioinfo # GPIO 信息
  • gpioset <chip> <line>=<val> # 设置 GPIO 输出
  • echo <num> > /sys/class/gpio/export # 导出 GPIO

Git

  • git config --list --show-origin # 查看配置及来源
  • git submodule update --init --recursive # 初始化子模块
  • git clone --recurse-submodules <repo> # 克隆包含子模块
  • git submodule add <url> <path> # 添加子模块
  • git remote prune origin # 清理本地缓存
  • git push --force-with-lease origin # rebase 后强制 push

编译 / Make / CMake

  • export CROSS_COMPILE=<toolchain> ARCH=<arch> # 设置交叉编译工具链
  • make <defconfig> # 生成配置
  • make modules_prepare # 准备模块编译
  • make -j<cores> Image modules # 生成 Image 和模块,并记录编译信息
  • make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -C <kernel-src> M=$PWD -j$(nproc) # 单目录模块编译
  • cmake -B <build-dir> -S . -DCMAKE_TOOLCHAIN_FILE=<file> -DCMAKE_BUILD_TYPE=<type> -DCMAKE_EXPORT_COMPILE_COMMANDS=1 # CMake 构建