shell语法复习
以下是完善后的 Markdown 文件内容,标题已添加超链接:
Linux硬件开发常用Shell指令笔记
一、系统信息查看
查看系统信息
1
uname -a
- 解释:显示系统内核版本、主机名、硬件架构等详细信息。
- 用途:确认系统环境是否符合开发要求。
查看CPU信息
1
cat /proc/cpuinfo
- 解释:显示CPU的详细信息,包括型号、核心数、主频等。
- 用途:确认CPU性能是否满足需求。
查看内存信息
1
cat /proc/meminfo
- 解释:显示系统的内存信息,包括总内存、可用内存等。
- 用途:评估内存是否足够支持程序运行。
查看系统负载
1
uptime
- 解释:显示系统当前的负载情况,包括平均负载值。
- 用途:监控系统运行状态,判断是否需要优化。
二、硬件设备检测
查看设备文件
1
ls /dev
- 解释:列出系统中所有设备文件。
- 用途:确认设备是否被正确识别。
查看USB设备
1
lsusb
- 解释:显示当前连接的USB设备信息。
- 用途:检测USB接口的硬件设备是否连接成功。
查看PCI设备
1
lspci
- 解释:显示系统中所有PCI设备信息。
- 用途:确认PCI接口的硬件设备是否被识别。
查看硬件信息
1
lshw
- 解释:详细列出系统中的硬件信息,包括CPU、内存、硬盘等。
- 用途:全面了解硬件配置。
三、文件系统操作
查看文件系统
1
df -h
- 解释:显示文件系统的磁盘使用情况,包括挂载点、总容量、已用容量等。
- 用途:确认存储空间是否足够。
查看文件类型
1
file <文件名>
- 解释:显示文件的类型信息。
- 用途:确认文件格式是否符合要求。
挂载文件系统
1
mount <设备> <挂载点>
- 解释:将设备挂载到指定的挂载点。
- 用途:挂载外部存储设备。
卸载文件系统
1
umount <挂载点>
- 解释:卸载指定的挂载点。
- 用途:安全地卸载外部存储设备。
四、网络操作
查看网络接口
1
ifconfig
- 解释:显示网络接口的配置信息,包括IP地址、子网掩码等。
- 用途:确认网络接口是否正常。注意:在现代Linux系统中,
ip addr
更常用。
查看网络连接
1
netstat -an
- 解释:显示当前的网络连接状态。
- 用途:调试网络通信问题。注意:在现代Linux系统中,
ss -an
更常用。
网络测试
1
ping <IP地址>
- 解释:测试与指定IP地址的网络连通性。
- 用途:确认网络连接是否正常。
查看DNS配置
1
cat /etc/resolv.conf
- 解释:显示DNS服务器的配置信息。
- 用途:确认DNS配置是否正确。
五、系统管理
查看进程
1
ps -ef
- 解释:显示系统中所有进程的详细信息。
- 用途:监控进程运行状态。
杀死进程
1
kill <进程ID>
- 解释:终止指定的进程。
- 用途:停止异常运行的进程。
查看日志
1
cat /var/log/messages
- 解释:查看系统日志文件。
- 用途:调试系统运行中的问题。注意:在现代Linux系统中,
journalctl
更常用。
更新系统
1
apt-get update && apt-get upgrade
- 解释:更新系统软件包。
- 用途:确保系统环境是最新的。适用于基于Debian/Ubuntu的系统。
六、脚本与自动化
运行Shell脚本
1
bash <脚本文件>.sh
- 解释:执行Shell脚本文件。
- 用途:自动化执行一系列命令。
查看脚本权限
1
ls -l <脚本文件>.sh
- 解释:查看脚本文件的权限。
- 用途:确保脚本具有可执行权限。
设置脚本权限
1
chmod +x <脚本文件>.sh
- 解释:为脚本文件设置可执行权限。
- 用途:确保脚本可以正常运行。
七、硬件调试
查看串口设备
1
dmesg | grep tty
- 解释:显示串口设备的初始化信息。
- 用途:确认串口设备是否被正确识别。
查看GPIO状态
1
cat /sys/class/gpio/gpio<号>/value
- 解释:查看指定GPIO引脚的状态。
- 用途:调试GPIO相关的硬件问题。
设置GPIO状态
1
echo <值> > /sys/class/gpio/gpio<号>/value
- 解释:设置指定GPIO引脚的状态。
- 用途:控制GPIO引脚。
查看I2C设备
1
i2cdetect -y <总线号>
- 解释:扫描I2C总线上的设备。
- 用途:确认I2C设备是否被正确识别。
查看SPI设备
1
ls /dev/spi*
- 解释:列出SPI设备文件。
- 用途:确认SPI设备是否被正确识别。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 林秋天的博客!