嵌入式系统定义:

嵌入式系统是以应用为中心,软硬件可裁剪的专用计算机系统

嵌入式开发选择Linux的原因:

开源 、免费、可裁剪、基于文件系统,适合资源受限的嵌入式设备

Linux指令:

常用快捷键:

快捷键组合 功能说明 使用场景
ctrl + shift ++ 放大终端字体 字体太小看不清时
ctrl + - 缩小终端字体 字体太大时
ctrl + l 清理终端屏幕 屏幕内容太多时,会保留历史记录
ctrl + s 锁定终端内容 防止误操作时
ctrl + q 解除终端锁定 需要继续操作时
ctrl + C 终止(杀死)当前进程 程序卡死或需要停止时
ctrl + alt + T 打开新终端 需要多个终端窗口时
ctrl + D 退出终端会话 完成操作后退出
Tab 命令和文件名补全 提高输入效率

终端提示符:

 以 st@st-vm为例

各部分含义:
  • st :当前登录的用户名

  • @:分隔符无实际意义

  • st-vm:主机名,系统安装时设置

  • $:普通用户

  • #:超级用户 (ROOT)

    用户权限说明:
    普通用户($)
    • 有限的系统操作权限

    • 不能修改系统关键文件

    • 安全性高

    超级用户(#)
    • 用于系统最高权限

    • 可以执行任何命令

    • 使用需谨慎,误操作可能导致系统损坏

    权限切换命令
  • #使用sudo执行管理员命令,linux的sudo就相当于Windows上的以管理员身份运行
    sudo 命令
    
    #切换到超级命令
    su -
    
    #切换到指定用户
    su - 用户名
    
    #执行完命令后退出超级用户
    exit

文件系统

Linux本质上就是一个文件系统。Linux文件系统时操作系统组织、存取、数据的一种手段,整体采用层级式树状目录结构

倒状结构中的目录

主要目录说明
目录路径 功能说明
/ 根目录,Linux中的绝对路径由此开始
/bin 主要存放系统的普通指令
/boot 主要存放系统的引导程序
/dev 存放硬件设备对应的文件(应用开发阶段需要访问)
/etc 存放系统和应用程序的配置文件
/home 家目录,存放当前系统下所有用户对应的目录
/lib 存放系统和应用程序的依赖库
/proc 存放系统运行时的运行信息
/usr 软件的默认安装路径
/var 存放缓存、备份文件
/cdrom 光驱挂载点
/mnt 用于系统文件系统的挂载目录(如共享目录、U盘等)
/sbin 存放特权指令,通常只有root用户才能执行

路径的概念

绝对路径

以根路径(/)为参考点描述的路径,称之为绝对路径。

示例对比:
#windows系统
D:\\YQ\\Code\\demo01.c
    
#linux系统
/mnt/hgfs/Code/demo01.c
相对路径

以当前目录(./)为参考点描述的路径,称之为相对路径。

使用示例:
​​​​​​​#绝对路径:切换到根路径下的home目录(此时当前目录为home)
 cd /home
     
 #相对路径:切换到当前目录下的st目录,等价于(cd /home/st)
 cd ./st
     
 #相对路径:完全等价于上面的写法
 cd st

进入c2:
    绝对路径:cd /A/B1/C1
进入c1:
    方式1-绝对路径:cd /A/B1/C1
    方式2-相对路径:cd ../c1         // ../返回上一级文件夹
备注:
    ../:返回上一级文件夹
    ../../:返回上上一级文件夹
    ../../../:返回上上上一级文件夹

Linux系统文件类型

文件类型说明
类型标识 文件类型 说明 示例
d 目录(文件夹) 包含其他文件和目录的容器 /home,/etc
- 普通文件 文本文件、二进制文件等 demo.c,a.out
l 符号链接 类似于Windows中的快捷方式 ln -s file link
c 字符设备文件 用于与字符设备交互(串口、终端等) /dev/tty,/dev/null
b 块设备文件 用于与块设备交互(硬盘U盘等) /dev/sda,/dev/mmcblk0
s 套接字文件 用于进程间通信 网络编程中使用
p 管道文件 用于进程间通信 mkfifo pipe

目录操作

指令的基本语法

指令 [选项] [操作的文件或者目录]

说明:方括号[]中的内容表示可选参数。

pwd - 查看当前目录

功能说明:查看当前所在目录的绝对路径

执行权限:所有用户

ls列出目录内容

功能说明:显示指定路径(不提供路径,默认为当前路径)下的文件或者目录

执行权限:所有用户

常用选项详解:

-a :显示所有文件(包括隐藏文件)

说明:Linux中的因此文件或目录以 . 开头,如 . .vimrc

-l:长(列表)格式显示详细信息

-r:反向排序显示

说明:将文件以相反次序显示(默认依照英文字母次序显示,字典排序)

-t: 按修改时间排序​​​​​​​​​​​​​​

说明:将文件以修改时间的先后次序显示

选项组合使用
#多个选项可以组合使用(以列表的形式,按照时间反向排序,包含隐藏文件)
ls -l -t -r -a

#等价于(推荐使用的简洁写法)
ls -ltra
指定目录路径
列出当前目录
#第一种写法
ls ./
#第二种写法
ls
列出指定目录
ls /mnt/hgfs/linux

cd -切换目录

功能说明:切换工作目录

执行权限:所有用户

基本语法

cd 目录路径
常用切换方式
命令 功能说明 示例
cd ~ 切换到当前用户的家目录 cd ~ -> /home/st
cd - 返回上一次操作的工作目录 cd - → 返回之前的目录
cd / 切换到根目录 cd /→ /
cd ./ 切换到当前目录(无实际意义) cd ./ → ./
cd .. | cd ../ 切换到上一级目录 cd.. → 父目录
cd ../.. 切换到上两级目录 cd ../.. → 祖父目录

注意:

1.不能直接在根路径下创建文件或目录

2.在使用cd进行切换的过程中,./是可以直接省略掉的,如cd ./child简写为cd child

示例演示
 #切换到/home/st目录
 cd /home/st
 ​
 #切换到到/mnt/hgfs目录
 cd /mnt/hgfs
 ​
 #返回上一次的工作目录(/home/st)
 cd -
 ​
 #切换到上一级目录(/home)
 cd ..

mkdir-创建目录

功能说明创建空目录(我们这里提到的目录和文件夹是一个意思)

执行权限所有用户

基本语法

#创建一个目录
 mkdir 目录路径
 ​
 #批量创建多个目录(多个目录路径使用空格隔开)
 mkdir 目录路径列表
 - p选项:创建 嵌套目录

功能:可以创建嵌套目录,若中间目录不存在,会自动创建

语法:

mkdir -p 嵌套目录路径

注意:创建嵌套目录的时候,如果中间目录不存在,就会自动创建

rmdir - 删除目录

功能说明:删除空目录,仅限于删除空目录,支持批量删除

基本语法:

rmdir 空目录路径
通配符说明:
  • *:通配符,匹配0-多个字符,举例:

     #删除指定路径下,所有以test开头的空目录
     rmdir test*
     ​
     #删除指定路径下,所有以Dir结尾的空目录
     rmdir *Dir
     ​
     #删除指定路径下,所有的空目录
     rmdir *

文件操作

touch - 创建文件

功能说明:创建新文件,如果文件已经存在,则更新其访问和修改时间

执行权限:所有用户

基本语法:

touch 文件路径

说明:可以指定文件路径,如果不指定,默认在当前目录创建

rm - 删除文件或目录

功能说明:

  • 删除文件:无需借助选项-r

  • 删除目录:无需借助选项-r递归删除(目录可以是空目录或者非空目录)

执行权限:所有用户

递归删除机制

删除过程:

1.查找:从外层逐步向内层查找

2.删除:从内层逐步向外层删除(文件直接删除、目录先置空再删除)

重要选项
选项 功能说明 使用场景
-r 递归删除目录及其内容 删除目录时必须使用
-f 强制删除,不进行确认提示 批量删除或脚本中出现默认强制确认的场景使用
-rf 强制递归删除 危险操作,谨慎使用

重要提醒:

rm -rf 命令非常危险,删除后数据无法恢复!建议在使用前先确认目录内容,或使用-i选项进行交互式确认。

cp - 复制文件或目录

 功能说明:

  • 复制文件或者目录(相当于拷贝+粘贴)

  • 实现文件或目录的重命名

    执行权限:所有 用户

    基本语法:

    cp [选项] 被复制的目录或者文件路径 目的地地
    常用选项
选项 功能说明
-r 递归复制,复制目录中的所有内容(包括子目录和文件)
-i 交互提示,如果目的地已存在同名文件,会询问是否覆盖
总结:

路径:test01.c aDir/test01.c

cp test01.c aDir                       此时会强制覆盖不会弹出交互提示

cp -i test01.c aDir                  此时会弹出交互提示,由用户通过输入yes/no来选择要不要覆盖

cp test01.c aDir/test02.c   此时会拷贝+重命名

cp test01.c aDir/test01.c   此时会强制覆盖

mv - 移动文件或目录

 功能说明:

  • 移动文件或者目录(相当于剪切+粘贴)

  • 重命名文件或者目录

执行权限:所有用户

基本语法:

mv [选项] 被移动的目录或者文件路径 目的地地址
命令演示 功能说明
mv aa.txt ../b 移动:将aa.txt移动到../b目录下
mv aa.txt ../bb.txt 移动+重命名:将aa.txt移动到上一级目录并重命名为bb.txt
mv aa.txt bb.txt 重命名:将同一路径下的aa.txt重命名为bb.txt
mv aa.txt ../b/cc.txt 移动+重命名:重命名为目的文件
mv less01 less02 移动:将目录 less01移动到目录less02
mv less02 less03 *.txt aDir1 移动:将目录less02 less03以及文件*.txt批量移动到目录aDir1

重要提示:不能将一个文件移动到另一个文件,文件只能移动到目录中

cat-查看文件内容

功能说明:查看文件内容,适合查看较小的文件(只读)

执行权限:所有用户

基本语法:

cat [选项] 文件路径
常用选项
选项 功能说明
-n 显示行号

使用示例

#查看文件内容
 cat /proc/cpuinfo
     
 #显示行号查看文件内容
 cat -n /proc/cpuinfo

more - 分页查看文件

功能说明:分页查看文件内容,当文件较大时使用

执行权限:所有用户

基本语法:

more 文件路径
操作快捷键
快捷键 功能说明
空格键 向下翻一页
回车键 向下翻一页
Q/q键 退出查看

less - 高级分页查看

功能说明:分页查看文件内容,功能比more更强大,支持向前和向后翻页,翻行等操作。

执行权限:所有用户

基本语法:

less [选项] 文件路径
常用选项
选项 功能说明
-M 显示当前行的范围信息(屏幕左下角)
操作快捷键
快捷键 功能说明
空格键 向下翻一页
B/b键 向上翻一页
方向键↑↓ 向上向下翻一行
Q/q键 退出查看
使用示例
 less -M /proc/cpuinfo

head - 查看文件头部

功能说明:查看文件的头部内容(默认10行)

执行权限:所有用户

基本语法:

head [选项] 文件路径
常用选项
选项 功能说明
-n 从头开始显示n行内容(识别换行符)
// #####   使用示例:

 # 显示前5行内容(两种写法等价)
 head -n 5 /proc/cpuinfo
 head -5 /proc/cpuinfo

tail - 查看文件尾部

功能说明:查看文件的尾部内容(默认10行)

执行权限:所有用户

基本语法:

tail [选项] 文件路径
常用选项
选项 功能说明
-n 从尾开始显示n行内容(识别换行符)
#显示末5行内容(两种写法等价)
 tail -n 5 /proc/cpuinfo
 tail -5 /proc/cpuinfo
Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐