第5课 Linux基础命令与文件系统入门

一、课程目标

  1. 掌握 Linux 最常用基础命令,能独立完成目录、文件、权限、查询等日常操作

  2. 理解 Linux 文件系统结构,理解根目录 / 及各系统目录用途

  3. 能够使用命令进行文件查看、编辑、复制、移动、删除、查找

  4. 掌握路径、绝对路径、相对路径的区别与使用场景

  5. 具备基础 Linux 操作能力,为后续嵌入式开发打下环境基础


二、Linux 命令基础

1. 命令基本格式

命令 [选项] [参数]
  • 命令:具体要执行的操作(ls、cd、mkdir 等)

  • 选项:调整命令行为,通常以 - 开头

  • 参数:命令操作的对象(文件、目录、路径等)

示例:

ls -l /home

三、目录与文件管理命令

1. ls — 查看目录内容

ls          # 查看当前目录文件
ls -l       # 详细列表
ls -a       # 显示隐藏文件
ls -lh      # 人性化显示大小
ls /        # 查看根目录

2. cd — 切换目录

cd /        # 进入根目录
cd ~        # 进入家目录
cd ..       # 返回上一级
cd -        # 返回上一次目录
cd /home/user

3. pwd — 显示当前路径

pwd

4. mkdir — 创建目录

mkdir test
mkdir -p a/b/c   # 递归创建多级目录

5. rmdir — 删除空目录

rmdir test

6. cp — 复制文件/目录

cp 1.txt 2.txt
cp -r dir1 dir2   # 复制目录必须加 -r

7. mv — 移动/重命名

mv a.txt b.txt    # 重命名
mv file.txt /tmp  # 移动

8. rm — 删除文件/目录

rm file.txt
rm -rf dir        # 强制递归删除

四、文件内容查看与编辑

1. cat — 查看文件内容

cat file.txt

2. more / less — 分页查看

more file.txt
less file.txt

3. head / tail — 查看头尾

head -n 10 file.txt
tail -f log.txt   # 实时查看

4. nano — 简单文本编辑器

nano test.c
  • 保存:Ctrl+O

  • 退出:Ctrl+X


五、Linux 文件系统结构

1. 根目录 /

所有文件、目录、设备都在 / 之下。

2. 常见系统目录

  • /bin 基本命令

  • /sbin 系统管理命令

  • /etc 配置文件

  • /home 普通用户家目录

  • /root 管理员家目录

  • /lib 库文件

  • /usr 应用程序

  • /tmp 临时文件

  • /dev 设备文件

  • /proc 系统信息

3. 绝对路径 vs 相对路径

  • 绝对路径:从 / 开始,如 /home/user/file

  • 相对路径:从当前目录开始,如 ../file


六、文件权限与属性

1. 查看权限

ls -l

2. 权限含义

  • r 读 4

  • w 写 2

  • x 执行 1

3. chmod 修改权限

chmod 755 file.sh
chmod +x run.sh

七、查找与检索命令

1. find — 查找文件

find / -name "*.c"
find /home -size +1M

2. grep — 检索内容

grep "main" test.c
grep -r "test" /home

八、课堂练习

  1. 进入家目录,创建 embed 目录

  2. embed 中创建 1.txt,写入内容

  3. 复制 1.txt2.txt

  4. 查看文件权限并修改为 755

  5. 查找系统中所有 .conf 结尾的文件

  6. 用 grep 查找 /etc/passwd 中的 root


九、课后作业

  1. 写出 15 个基础 Linux 命令并说明用途

  2. 完整描述 Linux 根目录下 10 个系统目录作用

  3. 创建目录结构:project/src、project/doc、project/bin

  4. 在 src 中创建 main.c,写入任意代码并保存

  5. 使用 find 查找自己创建的 main.c

  6. 使用 chmod 将 main.c 权限改为 rwxr-xr–


十、本章总结

Linux 命令是嵌入式开发的基础,熟练掌握目录、文件、权限、查找等命令,能大幅提升开发效率。

Linux 文件系统采用树形结构,一切皆文件,理解目录结构是学习嵌入式 Linux 的关键。

绝对路径与相对路径、文件权限、基本编辑是高频使用内容,必须熟练。


十一、核心关键词

Linux 命令、文件系统、根目录、ls、cd、mkdir、rm、cp、mv、cat、chmod、find、grep、权限、路径


第5课 课程回顾总结

本课系统学习了Linux基础命令与文件系统结构,是嵌入式Linux开发必备的环境操作能力。课程从命令基本格式入手,重点讲解了目录与文件管理的核心命令,包括ls查看、cd切换、mkdir创建、rm删除、cp复制、mv移动等日常高频操作,同时学习了cat、more、less、nano等文件查看与编辑工具,满足基础文本编辑需求。文件系统部分重点理解Linux以/为根的树形结构,熟记bin、etc、home、root、lib、usr、tmp、dev等关键系统目录的作用,区分绝对路径与相对路径的使用场景,为后续开发环境搭建奠定基础。文件权限是Linux重要机制,掌握rwx权限含义与chmod修改方法,能正确配置程序运行权限。查找命令find与grep可快速定位文件与内容,提升开发效率。通过课堂练习与课后作业,强化命令熟练度与文件系统理解。本课所有知识均为嵌入式开发底层基础,后续交叉编译、驱动开发、系统移植都依赖这些命令操作,必须做到熟练默写、灵活使用,为后续嵌入式Linux编程实战做好充分准备。


上一节课答案 嵌入式Linux编程实战教程 —— 实战作业代码

一、实战代码

#include <stdio.h>
#include <unistd.h>

int main() {
    printf("Embedded Linux App Start\n");

    int i = 0;
    while (i < 5) {
        printf("Running... %d\n", i);
        i++;
        sleep(1);
    }

    printf("App Exit\n");
    return 0;
}

二、代码功能说明

该程序是嵌入式Linux下基础应用程序,实现简单循环打印功能。程序启动后输出启动提示,然后进入循环,每秒打印一次运行状态,共执行5次后退出。代码包含标准输入输出头文件与Linux系统调用头文件,使用printf打印信息,sleep实现延时,是嵌入式程序最典型的结构。可直接在Ubuntu上编译运行,也可通过交叉编译生成ARM架构可执行文件,下载到开发板运行,用于验证开发环境、交叉编译链、文件传输与程序执行是否正常,是嵌入式Linux入门经典示例。

三、注意事项

  1. 编译命令:gcc main.c -o run 或交叉编译 arm-linux-gnueabihf-gcc main.c -o run_arm

  2. 开发板运行需确保文件权限:chmod +x run_arm

  3. 延时函数sleep单位为秒,嵌入式中可使用usleep实现微秒级延时

  4. 交叉编译时需指定正确的交叉工具链,否则无法在ARM平台运行

  5. 程序输出可用于调试,是观察程序运行状态最直接的方式

  6. 上传开发板可使用tftp、nfs、ssh等方式,确保传输完整无损坏


从零到壹嵌入式Linux编程实战教程课:第1课:嵌入式Linux概述

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐