第5课 Linux基础命令与文件系统入门
文章目录
- [第5课 Linux基础命令与文件系统入门](#第5课 Linux基础命令与文件系统入门)
-
- 一、课程目标
- [二、Linux 命令基础](#二、Linux 命令基础)
-
- [1. 命令基本格式](#1. 命令基本格式)
- 三、目录与文件管理命令
-
- [1. ls --- 查看目录内容](#1. ls — 查看目录内容)
- [2. cd --- 切换目录](#2. cd — 切换目录)
- [3. pwd --- 显示当前路径](#3. pwd — 显示当前路径)
- [4. mkdir --- 创建目录](#4. mkdir — 创建目录)
- [5. rmdir --- 删除空目录](#5. rmdir — 删除空目录)
- [6. cp --- 复制文件/目录](#6. cp — 复制文件/目录)
- [7. mv --- 移动/重命名](#7. mv — 移动/重命名)
- [8. rm --- 删除文件/目录](#8. rm — 删除文件/目录)
- 四、文件内容查看与编辑
-
- [1. cat --- 查看文件内容](#1. cat — 查看文件内容)
- [2. more / less --- 分页查看](#2. more / less — 分页查看)
- [3. head / tail --- 查看头尾](#3. head / tail — 查看头尾)
- [4. nano --- 简单文本编辑器](#4. nano — 简单文本编辑器)
- [五、Linux 文件系统结构](#五、Linux 文件系统结构)
-
- [1. 根目录 /](#1. 根目录 /)
- [2. 常见系统目录](#2. 常见系统目录)
- [3. 绝对路径 vs 相对路径](#3. 绝对路径 vs 相对路径)
- 六、文件权限与属性
-
- [1. 查看权限](#1. 查看权限)
- [2. 权限含义](#2. 权限含义)
- [3. chmod 修改权限](#3. chmod 修改权限)
- 七、查找与检索命令
-
- [1. find --- 查找文件](#1. find — 查找文件)
- [2. grep --- 检索内容](#2. grep — 检索内容)
- 八、课堂练习
- 九、课后作业
- 十、本章总结
- 十一、核心关键词
- [第5课 课程回顾总结](#第5课 课程回顾总结)
- [上一节课答案 嵌入式Linux编程实战教程 ------ 实战作业代码](#上一节课答案 嵌入式Linux编程实战教程 —— 实战作业代码)
一、课程目标
-
掌握 Linux 最常用基础命令,能独立完成目录、文件、权限、查询等日常操作
-
理解 Linux 文件系统结构,理解根目录 / 及各系统目录用途
-
能够使用命令进行文件查看、编辑、复制、移动、删除、查找
-
掌握路径、绝对路径、相对路径的区别与使用场景
-
具备基础 Linux 操作能力,为后续嵌入式开发打下环境基础
二、Linux 命令基础
1. 命令基本格式
Plain
命令 [选项] [参数]
-
命令:具体要执行的操作(ls、cd、mkdir 等)
-
选项:调整命令行为,通常以
-开头 -
参数:命令操作的对象(文件、目录、路径等)
示例:
Plain
ls -l /home
三、目录与文件管理命令
1. ls --- 查看目录内容
Plain
ls # 查看当前目录文件
ls -l # 详细列表
ls -a # 显示隐藏文件
ls -lh # 人性化显示大小
ls / # 查看根目录
2. cd --- 切换目录
Plain
cd / # 进入根目录
cd ~ # 进入家目录
cd .. # 返回上一级
cd - # 返回上一次目录
cd /home/user
3. pwd --- 显示当前路径
Plain
pwd
4. mkdir --- 创建目录
Plain
mkdir test
mkdir -p a/b/c # 递归创建多级目录
5. rmdir --- 删除空目录
Plain
rmdir test
6. cp --- 复制文件/目录
Plain
cp 1.txt 2.txt
cp -r dir1 dir2 # 复制目录必须加 -r
7. mv --- 移动/重命名
Plain
mv a.txt b.txt # 重命名
mv file.txt /tmp # 移动
8. rm --- 删除文件/目录
Plain
rm file.txt
rm -rf dir # 强制递归删除
四、文件内容查看与编辑
1. cat --- 查看文件内容
Plain
cat file.txt
2. more / less --- 分页查看
Plain
more file.txt
less file.txt
3. head / tail --- 查看头尾
Plain
head -n 10 file.txt
tail -f log.txt # 实时查看
4. nano --- 简单文本编辑器
Plain
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. 查看权限
Plain
ls -l
2. 权限含义
-
r 读 4
-
w 写 2
-
x 执行 1
3. chmod 修改权限
Plain
chmod 755 file.sh
chmod +x run.sh
七、查找与检索命令
1. find --- 查找文件
Plain
find / -name "*.c"
find /home -size +1M
2. grep --- 检索内容
Plain
grep "main" test.c
grep -r "test" /home
八、课堂练习
-
进入家目录,创建
embed目录 -
在
embed中创建1.txt,写入内容 -
复制
1.txt为2.txt -
查看文件权限并修改为 755
-
查找系统中所有
.conf结尾的文件 -
用 grep 查找
/etc/passwd中的 root
九、课后作业
-
写出 15 个基础 Linux 命令并说明用途
-
完整描述 Linux 根目录下 10 个系统目录作用
-
创建目录结构:project/src、project/doc、project/bin
-
在 src 中创建 main.c,写入任意代码并保存
-
使用 find 查找自己创建的 main.c
-
使用 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编程实战教程 ------ 实战作业代码
一、实战代码
C
#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入门经典示例。
三、注意事项
-
编译命令:
gcc main.c -o run或交叉编译arm-linux-gnueabihf-gcc main.c -o run_arm -
开发板运行需确保文件权限:
chmod +x run_arm -
延时函数sleep单位为秒,嵌入式中可使用usleep实现微秒级延时
-
交叉编译时需指定正确的交叉工具链,否则无法在ARM平台运行
-
程序输出可用于调试,是观察程序运行状态最直接的方式
-
上传开发板可使用tftp、nfs、ssh等方式,确保传输完整无损坏