Linux嵌入式基础学习总结 笔记day_01
最基础的linux命令
1.虚拟机与Linux操作系统
虚拟机-VmWare
Linux操作系统 - Ubuntu
图1 VmWare下Ubuntu操作系统挂起图
2. Linux系统介绍
2.1 Linux版本:
Red Hat Enterprise Linux (RHEL):是企业级 Linux 发行版,主要用于服务器和企业环境。
Ubuntu :面向个人用户,免费使用,适合桌面和开发环境。
uname -a 查看内核版本
cat /etc/issue 查看系统版本
student@student-machine:~$ uname -a
Linux student-machine 4.4.0-109-generic #132-Ubuntu SMP Tue Jan 9 19:52:39 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
#显示当前系统为 Linux,内核版本 4.4.0-109-generic,64 位 x86 架构,Ubuntu 发行版,构建于 2018 年 1 月 9 日。
student@student-machine:~$ cat /etc/issue
Ubuntu 16.04.5 LTS \n \l
2.2 操作系统的基本概念:
操作系统是 计算机硬件 和 计算机软件 之间 的核心程序,它直接运行在“裸机”上,任何其他软件都必须在操作系统的支持下才能运行。换句话说,操作系统是用户与计算机硬件之间的桥梁,同时也是计算机硬件与其他软件之间的接口。操作系统的 主要功能 包括 管理计算机系统的硬件、软件及数据资源,控制程序运行,改善人机界面,并为其他应用程序提供支持,从而使计算机系统的 所有资源 能够 最大限度 地发挥作用。现代操作系统提供了多种形式的用户界面,为用户创造了良好的工作环境,同时也为其他软件的开发提供了必要的服务和相应的接口。
2.3 嵌入式操作系统的概念:
嵌入式操作系统 是为嵌入式系统设计的专用操作系统。与传统的通用操作系统(如 Windows、Linux)相比,嵌入式操作系统在功能、设计目标和使用场景上有显著的不同。在设计目标上,前者专为特定硬件和应用场景设计,注重 实时性、资源效率 和 可靠性;而后者 面向广泛的硬件和应用场景,注重 通用性、多功能性 和 用户体验。在资源占用上,前者占用资源极少,通常运行在内存和存储空间有限的设备上;后者占用资源较多,通常需要较大的内存和存储空间。此外,嵌入式操作系统通常具有 实时操作系统(RTOS) 的特性,针对特定硬件平台优化,通常与硬件紧密集成。
3. Linux系统的基本操作
我们在使用Ubuntu系统的时候,不会去使用图形化界面,而是直接使用终端进行命令操作,这个是因为我们的UI是需要系统资源的,很多嵌入式设备的内部资源不多,所以很多时候不会给我们部署UI界面。
3.1 打开终端的方式:
我们写命令的地方就叫做终端:
那么打开终端有下面几种方式:
方法一:点击左侧任务栏中的终端
方法二:使用快捷键进行打开:
ctrl + alt + t 打开一个新终端 固定从家目录打开
ctrl + shift + n 打开一个同路径的终端
ctrl + shift + t 打开一个同路径的终端,并且会有一个到导航栏
3.2 调整终端的方式:
字体大小控制 通过 配置文件首选项 来调整。

ctrl shift ‘+’ 进行放大终端
ctrl ‘-’ 进行缩小终端
ctrl shift c 进行复制
ctrl shift v 进行粘贴
4. shell命令
随着各种Linux系统的图形化程度不断提高,用户在桌面环境下,通过点击、拖拽等操作可以完成大部分的操作。然而,许多的Ubuntu Linux功能使用shell命令来实现,通常比使用图形化交互完成得更快、更直接。下面,我们来详细介绍一下shell。
Shell,直译为“贝壳”,在操作系统中,它负责完成用户与内核之间的交互,充当着“内核”的外层保护工具。
在理解shell之前,我们需要先明确以下三个核心概念:
①命令:命令是用户向系统内核发送控制请求的文本流。也就是说,当你在命令行中键入一行文字并按下回车键时,你实际上是在给系统发送一个命令,告诉它你希望它执行什么操作。
②Shell:Shell是一个命令行解释器,将用户的命令解析为操作系统所能理解的指令。也就是说,当你键入一个命令时,Shell会接收这个命令,解析它,然后将其转化为内核可以理解的指令。
③Shell脚本:命令的集合。ls 命令在Linux中是称之为shell,由多个shell命令组成,我们称之为shell脚本。
4.1 shell命令提示符
Shell命令提示符标识了命令行的开始。用户在提示符后面输入一条命令,然后按【回车】,完成向系统提交指令。Shell提示符的一般格式如下:
student@student-machine:~$
student : 用户名,显示当前登录用户的账户名。
student-machine : 主机名。例如远程登录后,则显示登录的主机名。
~$ : 目录名,显示当前路径。在根目录下的时候显示为”/“,当在用户主目录下的时候显示为“~”。
~$不仅仅是目录名,还代表了提示符的结尾和用户类型。$表示你是普通用户,而#表示你是超级用户(root用户)。例如,如果你以root用户身份登录,你可能会看到类似以下的提示符:
root@hostname:~#
这意味着你现在是root用户,有权限执行可能会影响系统的命令。
关于目录的部分,~的确代表用户的主目录,也就是/home/。这是Linux中的一种简化表达方式,方便用户快速访问自己的主目录。例如,你可以使用cd ~命令快速返回到你的主目录,无论你当前在文件系统的哪个位置。
你在命令行中看到的路径通常是相对于你当前目录的路径。如果路径以/开头,那就是绝对路径,表示从根目录开始的完整路径。如果没有以/开头,那就是相对路径,表示从当前目录开始的路径。
4.2 命令格式
Linux shell命令一般由三部分组成:命令名称、选项和参数,其中只有命名名称是必须的,选项和参数是可选的。命令的格式一般如下:
ls -a ../123/
命令 选项 参数
命令是一定要写的 选项 和 参数 是不一定要写的
选项 : 是命令的扩展操作
参数 : 是命令的操作对象
例如,ls -l /桌面 这条命令,ls 是命令名称,表示列出目录内容,-l 是选项,表示以长格式列出文件信息,/桌面 是参数,表示要列出的目录。
5. Linux基础命令
5.1 目录的相关操作
5.1.1 man:帮助文档
命令格式 man [参数]
参数为命令名称
man 1 命令
man 2 系统调用
man 3 库函数
退出使用 q
5.1.2 ls:列出文件
作用:列出当前目录内有那些文件
格式:ls [选项] [参数]
其中选项包括多种,可用于改变命令的行为或提供额外的信息。文件为要列出的文件或目录,可指定一个或多个。
student@student-machine:~$ ls /home/student
examples.desktop 公共的 模板 视频 图片 文档 下载 音乐 桌面
-a 列出目录中所有文件,包括隐藏文件(以.开头的文件)
-l 使用长列表格式显示文件,包括文件类型、权限、链接数、所有者、群组、大小、最近修改时间
-h 与 -l 选项一起使用时,以易读的方式显示文件大小
-r 反向排序
-t 按修改时间排序
-R 递归列出子目录中的文件
练习:
1. 使用ls 来查看根目录的文件 以及隐藏文件
student@student-machine:~$ ls -a /
. cdrom initrd.img lost+found proc snap usr
.. dev initrd.img.old media root srv var
bin etc lib mnt run sys vmlinuz
boot home lib64 opt sbin tmp vmlinuz.old
2. 使用ls 来查看根目录的详细信息 以及隐藏文件
student@student-machine:~$ ls -la /
总用量 108
drwxr-xr-x 24 root root 4096 1月 15 2018 .
drwxr-xr-x 24 root root 4096 1月 15 2018 ..
drwxr-xr-x 2 root root 4096 2月 14 2019 bin
drwxr-xr-x 3 root root 4096 2月 14 2019 boot
drwxrwxr-x 2 root root 4096 1月 13 2018 cdrom
drwxr-xr-x 19 root root 4000 2月 28 16:58 dev
drwxr-xr-x 136 root root 12288 2月 28 16:58 etc
drwxr-xr-x 3 root root 4096 3月 24 2020 home
lrwxrwxrwx 1 root root 33 1月 15 2018 initrd.img -> boot/initrd.img-4.4.0-109-generic
lrwxrwxrwx 1 root root 32 1月 13 2018 initrd.img.old -> boot/initrd.img-4.4.0-21-generic
......
3. 使用ls 来递归显示家目录的所用文件 以及隐藏文件
student@student-machine:~$ ls -laR ~
/home/student:
总用量 140
drwxr-xr-x 19 student student 4096 2月 28 17:06 .
drwxr-xr-x 3 root root 4096 3月 24 2020 ..
-rw------- 1 student student 299 3月 24 2020 .bash_history
-rw-r--r-- 1 student student 220 3月 24 2020 .bash_logout
-rw-r--r-- 1 student student 3771 3月 24 2020 .bashrc
drwx------ 10 student student 4096 2月 28 17:08 .cache
drwx------ 3 student student 4096 3月 24 2020 .compiz
drwx------ 19 student student 4096 3月 24 2020 .config
......
5.1.3 cd:切换目录
cd 命令用于改变当前工作目录。cd [参数]
参数为目标工作目录,可以是绝对路径或相对路径。
当使用 cd 不带参数的时候,跳转到家目录
绝对路径:从 根目录 开始 /
相对路径:从 当前文件路径 开始
$ cd /home/student
$ pwd
/home/student
cd 回到家目录
cd ~ 回到家目录
~ == home/student
cd ./ 本目录
cd ../ 上一级目录
cd ../123/ 上一级目录下的 123 文件夹
cd 命令会根据指定的路径切换工作目录。如果没有指定路径,则默认回到当前用户的主目录(即家目录,例如 /home/student)。
要切换到指定目录,用户必须对目标目录有执行(x)和读(r)权限,否则 cd 命令会返回错误信息。
cd 命令可以接受绝对路径和相对路径作为参数。绝对路径从根目录 (/) 开始,而相对路径则是相对于当前工作目录。
如果路径名中含有空格,可以将整个路径名用双引号或单引号括起来,或使用反斜线 (\) 来转义空格。例如:cd "My Documents" 或 cd My\ Documents。
5.1.4 pwd、whoami
pwd命令用于打印当前工作目录的完整路径。 whoami打印当前用户
student@student-machine:~$ pwd
/home/student
student@student-machine:~$ whoami
student
5.1.5 mkdir: 创建目录
mkdir命令用于创建新的目录。mkdir [选项] 参数
`-p`:创建目录的同时,如果必要,也会创建父目录
mkdir Test 创建一个文件夹
mkdir -p Test/day01/001/001 创建多个 如果父目录不存在则创建
student@student-machine:~$ mkdir Test
student@student-machine:~$ ls
examples.desktop Test 公共的 模板 视频 图片 文档 下载 音乐 桌面
mkdir 命令允许用户创建新的目录。用户必须对新目录的父目录有写权限,否则 mkdir 命令会返回错误信息。
如果指定的目录已存在,mkdir 命令默认不会进行任何操作。如果你希望在这种情况下也创建新目录,可以使用 -p 选项。
5.1.6 rmdir: 删除空目录
rmdir 命令用于删除空的目录。
rmdir [option] directory
directory 参数指定要删除的目录。
student@student-machine:~$ rmdir Test
student@student-machine:~$ ls
examples.desktop 公共的 模板 视频 图片 文档 下载 音乐 桌面
rmdir 命令用于删除目录,但要注意,只有当目录为空时,才能成功删除。如果目录中包含任何文件或子目录,rmdir 命令会返回错误信息。
为了使用 rmdir 命令删除目录,用户必须对目标目录的父目录有写权限。
5.2 文件的相关操作
5.2.1 cp 复制文件或目录
复制文件或目录
cp [选项] 源文件 目标路径-i:覆盖前先询问用户
-r 或 -R:复制目录及目录内的所有项目
-v:显示操作的过程
student@student-machine:~$ cp file1 file2
这个命令将会把file1复制为file2。如果file2已经存在,这个命令将会覆盖file2。
student@student-machine:~$ cp -r dir1 dir2
这个命令将会把dir1以及dir1中的所有内容复制到dir2中。如果dir2不存在,这个命令将会创建dir2,然后复制dir1中的所有内容到dir2中。
5.2.2 mv 移动 / 重命名文件或目录
移动文件或目录,或者重命名文件或目录
mv [选项] 源文件 目标目录
-f : 强制移动(删除),忽略不存在的文件,并且不会提示确认
-i : 进行交互式删除,系统会在删除每一个文件之前都要求用户确认
student@student-machine:~$ mv file1 dir1
这个命令将会把file1移动到dir1目录下。如果dir1目录下已经存在名为file1的文件,这个命令将会覆盖那个文件。
student@student-machine:~$ mv file1 file2
这个命令将会重命名 file1 文件 为 file2。
5.2.3 rm:删除文件和目录
删除文件或目录
rm [选项] 文件名-i:交互模式,在删除前询问用户是否操作
-f:强制删除,忽略不存在的文件,无需提示
-r 或 -R:递归删除,用于删除目录及其内容
student@student-machine:~/桌面$ ls
test1 test2 test6
student@student-machine:~/桌面$ rm -rf test2
student@student-machine:~/桌面$ ls
test1 test6
rm 命令会直接删除文件或目录,不会将其移动到回收站。因此,你需要小心使用这个命令,避免删除重要的文件或目录。
rm -r 命令可以删除目录及其内容。如果你试图使用 rm 命令删除一个目录,会收到一个错误,提示你无法删除目录。
rm -f 命令会忽略不存在的文件,并且不会提示。
rm -i 命令在删除每个文件前都会询问你,这可以防止你误删文件。
注意:严谨使用 sudo rm -rf /* ==删库跑路==
5.2.4 ln 创建链接
创建文件或目录的链接
ln[选项] 源文件名或目录名 链接名-s:创建软连接(符号连接)
-f:强制执行,如果链接文件存在,则删除也存在的文件,然后再创建
-v :显示指令的详细执行过程
student@student-machine:~/桌面$ ln -s test1 link1
student@student-machine:~/桌面$ ls
link1 test1 test6
在这个示例中,创建一个名为link1的软链接,该链接指向test1。
student@student-machine:~/桌面$ ln -sf test6 link1
student@student-machine:~/桌面$ ls
link1 test1 test6
在这个示例中,创建一个名为link1的软链接,该链接指向test6。由于使用了-f选项,所以如果link1已经存在,则会被删除,然后再创建新的链接。
ln命令用于创建文件或目录的链接。默认情况下,ln命令创建的是硬链接。如果要创建软链接(也叫符号链接),必须指定-s选项。
==硬链接== 是源文件的一个别名,它和源文件指向同一个文件系统中的数据。硬链接不能跨文件系统,也==不能链接到目录==。
==软链接== 是一个特殊的文件,它包含了源文件或目录的路径。软链接可以跨文件系统,也可以==链接到目录==。
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐

所有评论(0)