嵌入式Linux 期末复习指南(上)

发布于:2025-06-03 ⋅ 阅读:(25) ⋅ 点赞:(0)

鉴于互联网上针对本科目相关复习视频及资料过少,

撰写本篇期末复习指南用作期末复习知识点扫盲,以应对本科期末考试及格之用。

由于任课老师并透露考试范围或任何有关试卷的相关信息,本篇指南基于教材、上机实验报告及作者经验编写,仅供参考。

鉴于试卷考察形式以简答及代码编写题为主(死记硬背),指南精炼作者认为有用的知识点,非重点则不予总结。

 一、Linux操作系统简介

        Linux操作系统源于自由软件运动。

        Linux操作系统的特点有哪些?

        答:

        ①开源与自由 ②多用户多任务 ③良好的用户界面 ④丰富的网络功能 ⑤安全稳定

       ⑥良好的可移植性 ⑦设备独立性 ⑧支持多文件系统

二、Linux操作系统管理常用命令 

命令缩写:提高编码效率及代码简洁度。

coding又不是写文章,知道代码指令什么意思就完了  ;)

1、touch 新建文件

touch [选项] [文件]

2、useradd 创建新用户

useradd [用户名]

3、passwd 修改用户密码

passwd [用户名]

4、su 切换用户

su [用户名]
常用:su root -> 输入password:12345 [Enter] -> 切换管理员

5、shutdown 关机

6、cp 复制文件 (copy -> cp

cp [源目录或文件] [目标目录或文件]

7、mv 移动文件 (move -> mv

mv [源目录或文件] [目标目录或文件]

8、rm 删除文件 (remove -> rm

rm [将要删除的目录或文件]

9、mkdir 新建文件夹 (make directory -> mkdir

mkdir [目录]

10、cd 切换当前工作目录

cd [目录]

11、pwd 获取当前工作目录 (print working directory -> pwd

12、ls 列出目录所有文件(list directory contents -> ls

13、tar 压缩

14、unzip 解压缩

15、chmod 修改用户对文件的权限

# 权限 rwx 二进制
7 读 + 写 + 执行 rwx 111
6 读 + 写 rw- 110
5 读 + 执行 r-x 101
4 只读 r-- 100
3 写 + 执行 -wx 011
2 只写 -w- 010
1 只执行 --x 001
0 --- 000

16、df 查看磁盘使用情况

17、du 查看目录大小

18、ifconfig 查看网络配置

19、netstat 查看网络状态

20、grep 查找字符串

21、rpm 软件安装

22、mount 安装/挂载设备

23、umount 卸载设备

24、find 查找文件

25、top 查看CPU占用/使用情况

26、ps 查看进程占用/使用情况

27、kill 杀死进程

28、man 查询Linux指令使用方式

什么是输入/输出重定向?举例说明。

答:用于改变命令的输入/输出来源或目标。

      

# 将文件file1的内容作为命令的输入

command < file1

        

# 将命令的输出写入到file2中(覆盖原有内容)

command > file2

 

# 将命令的输出追加到file2中(保留原有内容)

command >> file2

什么是管道?举例说明。

答:将一个命令的输出作为另一个命令的输入。

使用 "command1 | command2"

合并两个文件?

答:$ cat file1 file2 >> combined_file 

Linux操作系统进程间通讯方式?

答:①管道 ②消息队列 ③共享内存 ④信号量 ⑤信号 ⑥Socket

三、Shell编程

掌握Shell简单逻辑代码的编写。

通过实例搞懂基本代码编写,考试不会超出这些例子范围(如果考了)。

 

1、Shell编程,利用两层循环打印乘法表( for循环 

#!/bin/bash

# 外层循环控制行数(1到9)
for i in {1..9}; do
    # 内层循环控制每行的列数(1到当前行数i)
    for ((j=1; j<=i; j++)); do
        # 计算乘积并格式化输出
        printf "%d*%d=%-2d " $j $i $((j*i))
    done
    # 每行结束后换行
    echo
done

2、Shell编程,接收用户输入,判断是否为纯数字( Input / 正则表达式匹配字符串 

#!/bin/bash

# 提示用户输入
read -p "请输入一个数字: " input

# 判断是否为数字
if [[ "$input" =~ ^[0-9]+$ ]]; then
    echo "您输入的是数字: $input"
else
    echo "错误: '$input' 不是有效的数字"
fi

3、Shell编程,根据用户输入的成绩判断及格情况( if判断 / break和continue的使用 

#!/bin/bash

echo "学生成绩评定系统(输入Q退出)"

while true; do
    read -p "请输入学生成绩(0-100): " score
    
    # 检查是否输入Q退出
    if [[ "$score" =~ ^[Qq]$ ]]; then
        echo "退出成绩评定系统"
        break
    fi
    
    # 检查输入是否为数字
    if ! [[ "$score" =~ ^[0-9]+$ ]]; then
        echo "错误:请输入有效的数字成绩!"
        continue
    fi
    
    # 检查成绩范围是否合法
    if (( score < 0 || score > 100 )); then
        echo "错误:成绩必须在0-100之间!"
        continue
    fi
    
    # 判断及格情况
    if (( score >= 60 )); then
        echo "成绩 $score: 及格"
    else
        echo "成绩 $score: 不及格"
    fi
done

break和continue的区别:

break - 立即终止整个循环​

continue - 跳过当前迭代,进入下一次循环​

 四、Linux常用开发工具

VI文本编辑器、GCC编译器和GDB调试工具。

看书了解即可。

五、文件系统与操作

1、Linux文件系统目录

(1)根目录(/)

(2)/bin:存放Linux命令及二进制可执行文件

(3)/boot:存放内核文件和引导装载程序文件

(4)/dev:设备文件目录(磁盘、光驱、网卡等设备)

(5)/etc:存放系统配置文件

(6)/home:系统默认用户宿主目录

(7)/lib、/usr/lib、/usr/local/lib:存放系统使用的函数库的目录

(8)/lost+fount:系统崩溃或者意外关机产生的文件

(9)/mnt:用于临时挂载文件系统

(10)/opt:额外安装软件存放目录

(11)/proc:内存数据

(12)/root:系统管理员目录

(13)/sbin:存放系统管理员使用的可执行命令

(14)/srv:存放服务需要访问的数据

(15)/tmp:存放临时文件

(16)/usr:应用程序存放目录。其中/bin存放应用程序,/share存放共享数据,/lib存放函数库文件,/local存放用户安装软件目录,/share/doc存放系统说明文件

(17)/var:存放系统运行过程中易变化的文件。

2、文件权限

        每一文件或目录的访问权限分三组,每组用三位表示:

        ①文件属主 ②与属主同组用户 ③其他用户 

        -rwxr--r-- 拆分来看 第一位的“-”表示文件类型 之后的每三位对应每一类用户的三类权限情况

        r:read——读 w:write——写 x:excute——执行

       使用chmod命令更改文件或目录权限,详见前文。

解释inode节点在文件系统中的作用

答:存储了文件的​​元数据​​(metadata)和​​物理存储位置。无需遍历目录树即可快速定位。

 

与文件名的关系:

文件名 ≠ 文件本身​​:
文件名存储在​​目录项(dentry)​​中,目录本质是“文件名到inode号”的映射表。

什么是符号链接?什么是硬链接?区别?

答:

​特性​ ​符号链接​ ​硬链接​
​本质​ 存储目标路径的独立文件 与目标文件共享inode的文件别名
​跨文件系统​ 支持 不支持
​链接目录​ 支持 不支持
​目标文件删除后​ 链接失效(悬空) 仍可访问数据
​inode号​ 与目标文件不同 与目标文件相同
​文件大小​ 等于路径字符串的长度 与目标文件相同
​权限​ 始终为lrwxrwxrwx(无实际意义) 与目标文件一致
符号链接理解为:快捷方式,删除目标文件后,链接失效。
硬链接理解为:文件索引,删除目标文件后,索引存在,文件正常访问。
linux操作系统有几种类型文件?它们分别是什么?相同和不同点?
答:七种
​类型标识​ ​描述​ ​ls -l显示​ ​示例​
- 普通文件(Regular File) -rw-r--r-- 文本、二进制、压缩包等
d 目录文件(Directory) drwxr-xr-x /home/etc
l 符号链接(Symbolic Link) lrwxrwxrwx 软链接(如/usr/bin/python
c 字符设备文件(Character Device) crw--w---- 终端(/dev/tty)、键盘
b 块设备文件(Block Device) brw-rw---- 磁盘(/dev/sda)、USB设备
p 管道文件(Named Pipe) prw------- 进程间通信(FIFO)
s 套接字文件(Socket) srwxrwxrwx 网络通信(/var/run/docker.sock)
相同点:
  1. 均通过inode管理,具有权限、所有者等元数据。
  2. 使用统一的文件操作接口(如open()read())。
  3. 文件名均存储在目录中,与inode关联。
不同点:
​特性​ 普通文件 目录 符号链接 设备文件 管道 套接字
​存储数据​ 仅路径 临时
​可读写内容​ 重定向
​跨文件系统​
​工具创建​ touch mkdir ln -s mknod mkfifo 应用自动

下文跳转:嵌入式Linux期末复习指南(下)

 


网站公告

今日签到

点亮在社区的每一天
去签到