嵌入式Linux
版本追踪
2024.10.18:初版
1 概述
1.1 计算机基础
1.1.1 CPU 架构
ARM 架构:精简指令集,多用于手机
x86 架构:复杂指令集,多用于电脑,如 Intel,AMD 等,后推出的 64 位 x86 系统简称为 x64
1.2 Linux 简介
Linux,全称 GNU/Linux,是一套开源的类 Unix 操作系统,是一个基于 POSIX 的多用户、多任务、支持多线程和多 CPU 的操作系统
1.3 Linux 与 Windows 的区别
同为计算机操作系统,但 Linux 和常见的 Windows 操作系统依然存在区别
从启动流程上来说,二者无显著差异
- 系统上电进入引导
- 在引导程序中加载操作系统
- 启动文件系统
- 执行 APP
引导程序和操作系统护卫独立,具体参考 [[BIOS和Bootloader]]
2 系统启动流程
3 文件管理
/: 根目录,所有文件和目录的起点。/bin: 存放基本命令的可执行文件(如ls、cp等)。/sbin: 存放系统管理命令的可执行文件(如shutdown、reboot)。/etc: 存放系统配置文件和服务的配置目录。/home: 用户的主目录,每个用户在此目录下有自己的子目录。/lib: 存放系统库文件,供系统和应用程序使用。/usr: 存放用户程序和数据,包括可执行文件、库文件等。/var: 存放可变数据文件,例如日志文件和邮件。/tmp: 临时文件存储目录,系统重启后通常会清空。/dev: 包含设备文件,表示系统中的硬件设备。/proc: 虚拟文件系统,提供关于系统和进程的信息。
4 内存管理
4.1 交换空间
虚拟内存
存储空间换内存空间,默认为临时操作。操作完成后交换空间内的数据会被清除
新增交换空间
1
2
3
4
5# 开辟一个2G的交换空间
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile检查是否启用
1
free -h # 在输出中,若能看到 Swap 行,显示刚刚创建的 2GB 交换空间
关闭交换空间
1
sudo swapoff /swapfile
删除交换空间内数据
1
sudo rm /swapfile
5 用户管理
5.1 权限管理
5.1.1 Root
树莓派系统默认 root 账户没有密码,如果需要设置 root 密码,在任意账户登陆后执行
1 | sudo passwd root |
输入新 root 密码即可
6 命令
6.1 文件系统
ls: 列出目录中的文件和目录。cd: 改变当前工作目录。cp: 复制文件或目录。mv: 移动或重命名文件或目录。rm: 删除文件或目录。mkdir: 创建新目录。rmdir: 删除空目录。chmod: 修改文件或目录的权限。chown: 修改文件或目录的所有者。
7 服务
Linux 系统中,任何软件操作都被注册为服务,通过服务来对操作应用进行管理
7.1 文本编辑
7.1.1 nano
快速删除全部内容
1 | > file.txt |
再次重新打开文件即可
7.2 Shell
[[Shell 脚本]]
7.3 包管理器
包管理器的功能
- 安装软件包: 从软件源下载并安装指定的软件包。
- 升级软件包: 更新已安装的软件包到最新版本。
- 删除软件包: 卸载不再需要的软件包。
- 管理依赖关系: 自动处理软件包之间的依赖关系,确保系统的完整性。
- 配置软件源: 允许用户添加或更改软件源,从中获取软件包。
7.3.1 apt
- 适用于 Debian 和基于 Debian 的发行版,如 Ubuntu
1 | sudo apt update |
7.3.2 yum/dnf
- 适用于 CentOS / Fedora
1
sudo yum install <package-name>
7.3.3 离线安装
离线安装的执行文件放到 /usr/local/bin 目录下,在为其添加权限 sudo chmod +x /usr/local/bin/docker-compose,之后即可通过终端指令的方式执行该文件
7.4 Cron
cron 是一个用于在 Linux 系统中用于定期执行任务的服务,一般由 Linux 发行版自带,服务随系统自启
打开 cron
1
crontab -e
如果是第一次使用,可能会询问选择编辑器,如
nano、vim添加定时任务
1
*/30 * * * * /bin/systemctl restart frpc.service
*/30:每30分钟*:每小时*:每天*:每月*:每周的每一天
检查 cron 服务状态
1
sudo systemctl status cron
启用 cron 服务
1
sudo systemctl start cron
一般情况下,cron 服务会随系统自动启动
验证定时任务是否添加成功
1
crontab -l
该脚本服务随用户走,不同用户可以添加各自的脚本
7.5 下载
7.5.1 Wget
1 | wget "url" |
7.6 解压
.tar.gz
通过 tar -zxvf filename.tar.gz 指令进行解压
8 应用
8.1 Docker
8.1.1 部署
安装相关工具
1
sudo apt install apt-transport-https ca-certificates curl software-properties-common
添加 docker 密钥
1
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
添加 apt 源
1
echo "deb [arch=armhf] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
更新包索引
1
sudo apt update
安装 docker
1
sudo apt install docker-ce
配置 docker 随系统自启动
1
sudo systemctl enable docker
docker-compose(选装)
下载 docker-compose
1
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
赋予权限
1
sudo chmod +x /usr/local/bin/docker-compose
验证安装
1
docker-compose --version
8.1.2 镜像源
8.1.3 挂载和卷
8.1.4 Docker-compose
8.2 文件传输
8.3 Clash
#嵌入式
#Linux
#操作系统
#todo






