当前位置: 首页 > article >正文

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

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

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

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

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

 一、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读 + 写 + 执行rwx111
6读 + 写rw-110
5读 + 执行r-x101
4只读r--100
3写 + 执行-wx011
2只写-w-010
1只执行--x001
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]+$ ]]; thenecho "您输入的是数字: $input"
elseecho "错误: '$input' 不是有效的数字"
fi

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

#!/bin/bashecho "学生成绩评定系统(输入Q退出)"while true; doread -p "请输入学生成绩(0-100): " score# 检查是否输入Q退出if [[ "$score" =~ ^[Qq]$ ]]; thenecho "退出成绩评定系统"breakfi# 检查输入是否为数字if ! [[ "$score" =~ ^[0-9]+$ ]]; thenecho "错误:请输入有效的数字成绩!"continuefi# 检查成绩范围是否合法if (( score < 0 || score > 100 )); thenecho "错误:成绩必须在0-100之间!"continuefi# 判断及格情况if (( score >= 60 )); thenecho "成绩 $score: 及格"elseecho "成绩 $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关联。
不同点:
​特性​普通文件目录符号链接设备文件管道套接字
​存储数据​仅路径临时
​可读写内容​重定向
​跨文件系统​
​工具创建​touchmkdirln -smknodmkfifo应用自动

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

 

相关文章:

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

鉴于互联网上针对本科目相关复习视频及资料过少&#xff0c; 撰写本篇期末复习指南用作期末复习知识点扫盲&#xff0c;以应对本科期末考试及格之用。 由于任课老师并透露考试范围或任何有关试卷的相关信息&#xff0c;本篇指南基于教材、上机实验报告及作者经验编写&#xff0…...

SpringBoot3.2新特性:JdbcClient

文章目录 一、简介二、使用1、支持隐式位置参数2、通过索引设置位置参数3、支持 Name / Value 对命名参数4、通过 Map 设置命名参数5、使用 JdbClient 执行更新操作6、使用示例 参考资料 一、简介 Spring 6.1 中新添加了 JdbcClient 接口&#xff0c;它提供了 Fluent 风格的 A…...

Dify:启动 Web 服务的详细指南

1. 进入 web 目录 cd web解释&#xff1a; cd 是 “change directory” 的缩写&#xff0c;用于切换当前工作目录。您需要进入项目的 web 目录&#xff0c;这是前端代码所在的位置。在这个目录下&#xff0c;您可以执行构建和启动 Web 服务的相关命令。 2. 安装依赖 pnpm in…...

3.1 HarmonyOS NEXT分布式数据管理实战:跨设备同步、端云协同与安全保护

HarmonyOS NEXT分布式数据管理实战&#xff1a;跨设备同步、端云协同与安全保护 在万物互联的时代&#xff0c;数据的跨设备流转与安全共享是全场景应用的核心需求。HarmonyOS NEXT通过分布式数据管理技术&#xff0c;实现了设备间数据的实时同步与端云协同&#xff0c;为开发…...

Aop + 注解实现数据字典类型转换 EasyExcel导出

Aop 注解 实现数据字典类型转换 文章目录 Aop 注解 实现数据字典类型转换一、基础方式✅字典转换简介&#x1f449;实现步骤✅ 1. 定义自定义注解Dict ✅ 2. 定义查询字典项的两个方法✅ 3. 定义Aop拦截我们查询的方法✅ 4. VO映射类✅ 5. Controller层✅ 6. serviceImpl✅ 7. …...

Python 元组方法全集详解

Python 元组方法全集详解 在 Python 中,元组(tuple)是不可变序列类型,因此支持的操作比列表少。以下是元组支持的所有方法和操作: 一、元组核心方法 1. 创建元组 # 标准创建 t = (1, 2, 3) # (1, 2, 3) t = tuple(...

Selenium 中 JavaScript 点击操作的原理及应用

在 Selenium 中使用 JavaScript 执行点击操作&#xff08;如 driver.execute_script("arguments[0].click();", element)&#xff09;的原理涉及 WebDriver 架构、浏览器事件机制以及 JavaScript 对 DOM 的直接操作&#xff0c;以下是详细解释&#xff1a; 1. Selen…...

Xilinx超过256m bit flash固件跳转失败问题

问题描述 按照 链接: Xilinx 7系列fpga在线升级和跳转 这个方式跳转失败 问题排查 进一步排查现象如下 上面这个现象呈现出明显的以16m为周期的规律。感觉很大概率是因为flash超过了16m&#xff08;256bit&#xff09;导致的地址越界问题。另外我在CSDN上也找到类似的问题…...

SpringCloud 分布式锁Redisson锁的重入性与看门狗机制 高并发 可重入

可重入 Redisson 的锁支持 可重入性&#xff0c;这意味着同一个线程在获取锁后&#xff0c;如果再次尝试获取该锁&#xff0c;它可以成功地获得锁&#xff0c;而不会被阻塞。 每次一个线程成功获取锁后&#xff0c;它的持有次数会增加。当线程再次获取该锁时&#xff0c;Redi…...

02 APP 自动化-Appium 运行原理详解

环境搭建见 01 APP 自动化-环境搭建 文章目录 一、Appium及Appium自动化测试原理二、Appium 自动化配置项三、常见 ADB 命令四、第一个 app 自动化脚本 一、Appium及Appium自动化测试原理 Appium 跨平台、开源的 app 自动化测试框架&#xff0c;用来测试 app 应用程序&#x…...

由docker引入架构简单展开说说技术栈学习之路

想象一下&#xff0c;你开了一家线上小卖部&#xff08;单机版&#xff09;&#xff0c;突然爆单了怎么办&#xff1f;别急&#xff0c;技术架构的升级打怪之路&#xff0c;可比哆啦A梦的口袋还神奇&#xff01; 第1关&#xff1a;单枪匹马的创业初期&#xff08;单机架构&…...

linux 1.0.5

环境变量到底是什么 也就是windows上面的环境变量 就是这个东东&#xff0c;用户变量和系统变量&#xff0c;那这些到底是啥呢&#xff1f; 主包只是用过&#xff0c;配置来配置去的&#xff0c;就是不知道是啥意思 windows上面的环境变量 windows的ls命令是dir 输入calc可有…...

强化学习的前世今生(五)— SAC算法

书接前四篇 强化学习的前世今生&#xff08;一&#xff09; 强化学习的前世今生&#xff08;二&#xff09; 强化学习的前世今生&#xff08;三&#xff09;— PPO算法 强化学习的前世今生&#xff08;四&#xff09;— DDPG算法 本文为大家介绍SAC算法 7 SAC 7.1 最大熵强化…...

SQL进阶之旅 Day 8:窗口函数实用技巧

【SQL进阶之旅 Day 8】窗口函数实用技巧 在现代数据库开发中&#xff0c;处理复杂的业务逻辑和大规模数据时&#xff0c;仅仅依靠传统的GROUP BY和JOIN操作已经无法满足需求。**窗口函数&#xff08;Window Function&#xff09;**作为SQL标准的一部分&#xff0c;为开发者提供…...

生成对抗网络(GAN)基础原理深度解析:从直观理解到形式化表达

摘要 本文详细解析 生成对抗网络&#xff08;GAN&#xff09; 的 核心原理&#xff0c;从通俗类比入手&#xff0c;结合印假钞与警察博弈的案例阐述生成器 与 判别器 的对抗机制&#xff1b;通过模型结构示意图&#xff0c;解析 噪声采样、样本生成 及判别流程&#xff1b;基于…...

ubuntu 安装redis-6.2.9 源码安装和相关配置详解

目录 1 查看redis 软件列表 2 操作系统信息 3 redis软件下载并编译安装 4 redis 配置文件 5 启动redis 6 redis登录测试 7 设置redis开机启动 8 redis 配置详解 1 查看redis 软件列表 https://download.redis.io/releases/ 2 操作系统信息 rootu24-redis-120:~# cat /…...

c++之数组

目录 C数组基础概念 数组常见操作 二维数组定义与初始化 二维数组遍历方法 二维数组与函数 C数组基础概念 数组是C中用于存储相同类型元素的连续内存结构。通过索引访问元素&#xff0c;索引从0开始。数组大小必须在编译时确定&#xff0c;属于静态数据结构。 #include &…...

torch.distributed.launch 、 torchrun 和 torch.distributed.run 无法与 nohup 兼容

问题现象&#xff1a; 使用nohup 启动torch的分布式训练后&#xff0c; 由于ssh断开与服务器的连接&#xff0c; 导致训练过程出错&#xff1a; WARNING:torch.distributed.elastic.agent.server.api:Received 1 death signal, shutting down workers WARNING:torch.distribu…...

[SC]C++ 中 struct vs. class 的唯一区别

SystemC中 struct vs. class 的唯一区别 一、背景: 在 SystemC 示例里你会常看到这样的写法:SC_MODULE(Top) {// … ports, signals, 进程注册 … };而如果你展开宏 SC_MODULE(Top),它本质上就是:struct Top : sc_core::sc_module {// public:// Top(sc_core::sc_module_…...

React从基础入门到高级实战:React 高级主题 - React设计模式:提升代码架构的艺术

React设计模式&#xff1a;提升代码架构的艺术 引言 在React开发中&#xff0c;设计模式是构建可维护、可扩展和高性能应用的关键。随着应用复杂性的增加&#xff0c;掌握高级设计模式不仅是技术上的挑战&#xff0c;更是打造优雅架构的艺术。对于有经验的开发者而言&#xf…...

【GitHub开源AI精选】WhisperX:70倍实时语音转录、革命性词级时间戳与多说话人分离技术

系列篇章&#x1f4a5; No.文章1【GitHub开源AI精选】LLM 驱动的影视解说工具&#xff1a;Narrato AI 一站式高效创作实践2【GitHub开源AI精选】德国比勒费尔德大学TryOffDiff——高保真服装重建的虚拟试穿技术新突破3【GitHub开源AI精选】哈工大&#xff08;深圳&#xff09;…...

【leetcode】459.重复的子字符串

文章目录 题目题解枚举 题目 459.重复的子字符串 给定一个非空的字符串 s &#xff0c;检查是否可以通过由它的一个子串重复多次构成。 示例 1: 输入: s “abab” 输出: true 解释: 可由子串 “ab” 重复两次构成。 示例 2: 输入: s “aba” 输出: false 示例 3: 输入…...

华为OD机试真题——文件目录大小(2025 A卷:100分)Java/python/JavaScript/C++/C语言/GO六种语言最佳实现

2025 A卷 100分 题型 本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析; 并提供Java、python、JavaScript、C++、C语言、GO六种语言的最佳实现方式! 2025华为OD真题目录+全流程解析/备考攻略/经验分享 华为OD机试真题《文件目录大小》: 目录 题…...

【Java】mybatis-plus乐观锁与Spring重试机制

上一篇【Java】mybatis-plus乐观锁-基本使用 讲到了mybatis-plus的基本使用&#xff0c;简单的使用Version和一个基础配置类即可实现乐观锁。 但是mybatis-plus本身并没有自带重试机制。 即当我们带上版本号去更新数据&#xff0c;但是由于另一个线程已经将版本号修改了&#x…...

Linux 与 Windows:哪个操作系统适合你?

Linux vs Windows:系统选择的关键考量 在数字化转型浪潮中,操作系统作为底层基础设施的重要性日益凸显。Linux与Windows作为主流选择,其差异不仅体现在技术架构上,更深刻影响着开发效率、运维成本与安全性。本文将从​​7个核心维度​​展开对比分析,并提供典型应用场景建…...

C#委托的概念与使用方法

一、委托的基本概念 委托是一种引用类型&#xff0c;它允许将方法作为参数进行传递。简单来说&#xff0c;委托就像是对方法的引用&#xff0c;可以通过委托来调用对应的方法。 委托具有类型安全性&#xff0c;它会检查方法的签名是否与委托的签名匹配&#xff0c;这有助于避免…...

消费者行为变革下开源AI智能名片与链动2+1模式S2B2C商城小程序的协同创新路径

摘要&#xff1a;在信息爆炸与消费理性化趋势下&#xff0c;消费者从被动接受转向主动筛选&#xff0c;企业营销模式面临重构挑战。本文提出开源AI智能名片与链动21模式S2B2C商城小程序的协同创新框架&#xff0c;通过AI驱动的精准触达、链动裂变机制与S2B2C生态赋能&#xff0…...

软考 系统架构设计师系列知识点之杂项集萃(78)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之杂项集萃&#xff08;77&#xff09; 第139题 以下关于软件测试工具的叙述&#xff0c;错误的是&#xff08;&#xff09;。 A. 静态测试工具可用于对软件需求、结构设计、详细设计和代码进行评审、走查和审查 B. 静…...

解决MyBatis参数绑定中参数名不一致导致的错误问题

前言 作为一名Java开发者&#xff0c;我在实际项目中曾多次遇到MyBatis参数绑定的问题。其中最常见的一种情况是&#xff1a;在Mapper接口中定义的参数名与XML映射文件中的占位符名称不一致&#xff0c;导致运行时抛出Parameter xxx not found类异常。这类问题看似简单&#x…...

如何解决MySQL Workbench中的错误Error Code: 1175

错误描述&#xff1a; 在MySQL Workbench8.0中练习SQL语句时&#xff0c;执行一条update语句&#xff0c;总是提示如下错误&#xff1a; Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY columnTo disab…...