以下是完善后的 Markdown 文件内容,标题已添加超链接:


Linux硬件开发常用Shell指令笔记

一、系统信息查看

  1. 查看系统信息

    1
    uname -a
    • 解释:显示系统内核版本、主机名、硬件架构等详细信息。
    • 用途:确认系统环境是否符合开发要求。
  2. 查看CPU信息

    1
    cat /proc/cpuinfo
    • 解释:显示CPU的详细信息,包括型号、核心数、主频等。
    • 用途:确认CPU性能是否满足需求。
  3. 查看内存信息

    1
    cat /proc/meminfo
    • 解释:显示系统的内存信息,包括总内存、可用内存等。
    • 用途:评估内存是否足够支持程序运行。
  4. 查看系统负载

    1
    uptime
    • 解释:显示系统当前的负载情况,包括平均负载值。
    • 用途:监控系统运行状态,判断是否需要优化。

二、硬件设备检测

  1. 查看设备文件

    1
    ls /dev
    • 解释:列出系统中所有设备文件。
    • 用途:确认设备是否被正确识别。
  2. 查看USB设备

    1
    lsusb
    • 解释:显示当前连接的USB设备信息。
    • 用途:检测USB接口的硬件设备是否连接成功。
  3. 查看PCI设备

    1
    lspci
    • 解释:显示系统中所有PCI设备信息。
    • 用途:确认PCI接口的硬件设备是否被识别。
  4. 查看硬件信息

    1
    lshw
    • 解释:详细列出系统中的硬件信息,包括CPU、内存、硬盘等。
    • 用途:全面了解硬件配置。

三、文件系统操作

  1. 查看文件系统

    1
    df -h
    • 解释:显示文件系统的磁盘使用情况,包括挂载点、总容量、已用容量等。
    • 用途:确认存储空间是否足够。
  2. 查看文件类型

    1
    file <文件名>
    • 解释:显示文件的类型信息。
    • 用途:确认文件格式是否符合要求。
  3. 挂载文件系统

    1
    mount <设备> <挂载点>
    • 解释:将设备挂载到指定的挂载点。
    • 用途:挂载外部存储设备。
  4. 卸载文件系统

    1
    umount <挂载点>
    • 解释:卸载指定的挂载点。
    • 用途:安全地卸载外部存储设备。

四、网络操作

  1. 查看网络接口

    1
    ifconfig
    • 解释:显示网络接口的配置信息,包括IP地址、子网掩码等。
    • 用途:确认网络接口是否正常。注意:在现代Linux系统中,ip addr 更常用。
  2. 查看网络连接

    1
    netstat -an
    • 解释:显示当前的网络连接状态。
    • 用途:调试网络通信问题。注意:在现代Linux系统中,ss -an 更常用。
  3. 网络测试

    1
    ping <IP地址>
    • 解释:测试与指定IP地址的网络连通性。
    • 用途:确认网络连接是否正常。
  4. 查看DNS配置

    1
    cat /etc/resolv.conf
    • 解释:显示DNS服务器的配置信息。
    • 用途:确认DNS配置是否正确。

五、系统管理

  1. 查看进程

    1
    ps -ef
    • 解释:显示系统中所有进程的详细信息。
    • 用途:监控进程运行状态。
  2. 杀死进程

    1
    kill <进程ID>
    • 解释:终止指定的进程。
    • 用途:停止异常运行的进程。
  3. 查看日志

    1
    cat /var/log/messages
    • 解释:查看系统日志文件。
    • 用途:调试系统运行中的问题。注意:在现代Linux系统中,journalctl 更常用。
  4. 更新系统

    1
    apt-get update && apt-get upgrade
    • 解释:更新系统软件包。
    • 用途:确保系统环境是最新的。适用于基于Debian/Ubuntu的系统。

六、脚本与自动化

  1. 运行Shell脚本

    1
    bash <脚本文件>.sh
    • 解释:执行Shell脚本文件。
    • 用途:自动化执行一系列命令。
  2. 查看脚本权限

    1
    ls -l <脚本文件>.sh
    • 解释:查看脚本文件的权限。
    • 用途:确保脚本具有可执行权限。
  3. 设置脚本权限

    1
    chmod +x <脚本文件>.sh
    • 解释:为脚本文件设置可执行权限。
    • 用途:确保脚本可以正常运行。

七、硬件调试

  1. 查看串口设备

    1
    dmesg | grep tty
    • 解释:显示串口设备的初始化信息。
    • 用途:确认串口设备是否被正确识别。
  2. 查看GPIO状态

    1
    cat /sys/class/gpio/gpio<号>/value
    • 解释:查看指定GPIO引脚的状态。
    • 用途:调试GPIO相关的硬件问题。
  3. 设置GPIO状态

    1
    echo <值> > /sys/class/gpio/gpio<号>/value
    • 解释:设置指定GPIO引脚的状态。
    • 用途:控制GPIO引脚。
  4. 查看I2C设备

    1
    i2cdetect -y <总线号>
    • 解释:扫描I2C总线上的设备。
    • 用途:确认I2C设备是否被正确识别。
  5. 查看SPI设备

    1
    ls /dev/spi*
    • 解释:列出SPI设备文件。
    • 用途:确认SPI设备是否被正确识别。