嵌入式linux常用命令实验
嵌入式linux常用命令实验详细介绍
以下是关于 “嵌入式 Linux 常用命令实验” 的详细方案,包含实验目的、环境、步骤及验证方法,适合嵌入式系统开发初学者实践:
嵌入式 Linux 常用命令实验
一、实验目的
- 掌握嵌入式 Linux 系统中基础命令的使用方法。
- 理解嵌入式系统与桌面 Linux 在命令行操作上的差异(如 BusyBox 简化命令)。
- 学会通过命令行进行文件操作、系统监控、网络配置及交叉编译等操作。
二、实验环境
- 硬件平台:嵌入式开发板(如树莓派、ARM Cortex-A 开发板、STM32MP1 系列)、USB 转串口工具(用于串口调试)、PC 主机(Windows/Linux)。
- 软件工具:
- 嵌入式 Linux 系统(如 Buildroot/OpenWrt 构建的系统,包含 BusyBox)。
- 串口调试工具(如 SecureCRT、minicom、MobaXterm)。
- 交叉编译工具链(如
arm-linux-gnueabihf-gcc)。 - 文件传输工具(如
scp、ftp、U 盘)。
三、实验内容与步骤
模块 1:文件系统操作命令
实验 1.1 基础文件操作
- 命令列表:
ls、cd、mkdir、rm、cp、mv、cat、vi(或nano)、chmod、df、du。 - 操作示例:
- 列出当前目录文件及权限:bash
- 创建目录并进入:bash
test_dir test_dir - 创建文件并写入内容(使用
vi或echo):bashtest.txttest.txt
- 复制、移动、删除文件:bash
test.txt test_copy.txttest_copy.txt /
test.txt
- 查看磁盘空间与文件大小:bash
*
- 列出当前目录文件及权限:bash
实验 1.2 权限管理
- 命令:
chmod、chown(需 root 权限,嵌入式系统常以 root 用户登录)。 - 操作示例:bash
test_copy.txt
模块 2:系统监控与进程管理
实验 2.1 进程查看与控制
- 命令列表:
ps、top、kill、pstree。 - 操作示例:
- 查看当前进程:bash
- 终止指定进程(如 PID 为 123 的进程):bash
- 查看当前进程:bash
实验 2.2 系统资源查看
- 命令:
free(内存)、dmesg(内核日志)、uname(系统信息)。 - 操作示例:bash
eth
模块 3:网络配置与调试
实验 3.1 网络接口配置
- 命令列表:
ifconfig、ip、route、ping、netstat。 - 操作示例:
- 查看网络接口状态:bash
- 手动配置 IP 地址(静态 IP,以 eth0 为例):bash
eth0 .1.100 netmask .255.0route default gw .1.1
- 测试网络连通性:bash
.1.1www.baidu.com
- 查看网络接口状态:bash
实验 3.2 文件传输
- 命令:
scp(从 PC 到开发板)、wget(网络下载)、mount(挂载 U 盘 / 网络文件系统)。 - 操作示例:
- 通过
scp从 PC 传输文件到开发板(假设开发板 IP 为 192.168.1.100):bashlocal_file.txt root@192.168.1.100:/tmp/
- 挂载 U 盘(需确认文件系统为 FAT32/EXT4):bash
/mnt/usb /dev/sda1 /mnt/usb
- 通过
模块 4:交叉编译与程序运行
实验 4.1 交叉编译与部署
- 命令:交叉编译工具链(如
arm-linux-gnueabihf-gcc)、file(查看可执行文件架构)。 - 操作示例:
- 在 PC 端编写 C 程序
test.c:c - 交叉编译为 ARM 架构可执行文件:bash
arm-linux-gnueabihf-gcc test_arm test.c - 将
test_arm传输到开发板并运行:bash+x test_arm./test_arm
- 在 PC 端编写 C 程序
模块 5:设备驱动与内核模块
实验 5.1 内核模块操作
- 命令:
insmod、rmmod、lsmod。 - 操作示例(假设已有
.ko驱动文件):bashinsmod my_driver.kolsmod my_driver
rmmod my_driver
四、实验结果验证
- 文件操作:通过
ls确认文件 / 目录正确创建、修改、删除。 - 进程管理:
ps输出包含目标进程,top显示实时资源占用。 - 网络配置:
ping成功返回,ifconfig显示正确 IP 地址。 - 交叉编译:开发板上成功运行 ARM 架构程序,无 “格式错误” 提示(避免 32 位 / 64 位架构不匹配)。
五、注意事项
- BusyBox 限制:嵌入式 Linux 常用 BusyBox 集成简化版命令,部分参数可能不支持(如
ls无颜色显示)。 - 权限问题:部分操作需 root 权限(嵌入式系统默认以 root 登录,谨慎执行
rm -rf /等危险命令)。 - 资源有限:嵌入式设备内存 / 存储较小,避免运行大型程序或同时启动过多进程。
- 交叉编译路径:确保 PC 端交叉工具链路径正确(如通过
export PATH=$PATH:/path/to/toolchain配置)。
六、扩展实验
- 使用
make构建工程,结合交叉编译工具链编译复杂程序。 - 配置 NFS 网络文件系统,通过
mount -t nfs挂载 PC 端目录到开发板。 - 编写 Shell 脚本实现自动化操作(如开机自启动脚本)。
通过以上实验,可全面掌握嵌入式 Linux 命令行操作,为后续驱动开发、系统优化及应用程序部署打下基础。实际操作中需结合具体硬件文档(如开发板手册)调整命令参数。