通信工程小白勇闯Linux的DAY 1
摘要:本文系统介绍了嵌入式开发与Linux系统基础知识。首先阐述了嵌入式系统的定义与特点,包括专用性、软硬件可裁剪等核心特征。然后详细讲解了Linux终端操作,涵盖快捷键、命令提示符含义及常用命令(如pwd、ls、cd等)的使用方法。接着提供了从基础到综合的实操练习方案,帮助掌握文件目录管理技能。最后介绍了Linux下C语言开发工具链(vim、gcc)的基本使用流程。全文强调嵌入式学习需要循序渐进
·
那些埋首敲命令的日子,都成了成长的底色。
一、嵌入式相关基础认知
1. 嵌入式定义
嵌入式是以应用为中心,以计算机技术为基础,软硬件可裁剪,对功能性、可靠性、成本、体积、功耗严格要求的专用计算机系统。
- 面向特定应用场景;
- 以计算机技术为基础,适配不同硬件载体:
- 设备类型:PC(Windows10/11、Ubuntu、MacOs)、移动设备(Android、iOS 等);
- 硬件组成:存储设备(内存 / 硬盘)、处理器(CPU)、外设(显示器、鼠标、打印机、投影仪等);
- 软硬件可裁剪,(空调、路由器)
- 需兼顾功能性、可靠性、可移植性、功耗、成本等维度。
二、Linux 系统基础
插一条思考:ubuntu和linux之间的关系以及ubuntu版本命名的规则
- Ubuntu是linux的系统发行版,简单来说就是给Linux这一操作系统核心加上用户需要的软件(如桌面环境、编译器、终端、浏览器)、配置工具、安装程序,打包成可直接安装使用的完整操作系统;类比于毛坯房和精装房,汽车发动机引擎和汽车外壳、座椅等。
- Ubuntu版本命名规则是按照年份加月份,比如我使用的版本叫做18.04 就是2018年4月份发行的。其次每 2 年的 4 月会发布 LTS 长期支持版(如 18.04),支持 5 年,普通版本每 6 个月发布,支持 9 个月。每个版本还有‘形容词 + 动物’的代号,比如 18.04 的代号是 Bionic Beaver。
1. Linux 终端操作
(1)终端快捷键
ctrl+alt+t:打开终端ctrl+shift+ +:放大终端窗口ctrl+ -:缩小终端窗口,适配不同的操作视角;ctrl+0:恢复终端默认大小
(2)终端提示符含义
示例:linux@ubuntu:~$
linux:当前登录用户名;@:分隔符(at)ubuntu:主机名;::分隔符~:当前用户的家目录(默认目录)$:普通用户标识(#代表 root 管理员用户)
3. Linux 核心命令(标准格式:【命令】 [选项] [参数])
(1)pwd(Print Work Directory)
- 功能:打印当前工作目录(查看当前路径)
- 示例:
plaintext
linux@ubuntu:~$ pwd /home/linux - 路径对比:
- Windows:
G:\01-学习资料\嵌入式开发\pute资料\C语言进阶可视化编程\示例图; - Linux:根目录是
/,所有文件和目录的路径都从/开始算,比如/home/linux就是从根目录/往下找 home 目录,再找 linux 目录;而 Windows 是按 C 盘、D 盘、E 盘这种盘符来划分不同路径的,Linux 没有盘符,全靠根目录/统一管理所有路径。
- Windows:
(2)ls(list)
- 功能:列出指定位置的文件 / 目录
- 常用用法:
ls:查看当前位置内容;ls 目录名:查看指定目录内容(如ls /查看根目录内容);
- 颜色标识:
- 蓝色 文件夹
- 白色 普通文件
- 绿色 可执行文件
- 红色 压缩包
(3)cd(Change Directory)
- 功能:切换目录
- 常用用法:
cd 目录名:切换到指定目录(绝对路径:cd /home,相对路径:cd home);cd:默认回到家目录cd ~:等价于家目录(/home/linux);cd .:停留在当前目录cd ..:切换到上一级目录cd -:切换到上一次操作的目录
(4)touch
- 功能:创建空文件
- 示例:
touch 1.txt(在当前位置创建 1.txt,未指定路径则默认当前路径)。
(5)mkdir(make directory)
- 功能:创建目录
- 常用用法:
mkdir 123:在当前位置创建 123 目录;mkdir 1/2/3 -p:递归创建多级目录
(6)cp(Copy)
- 功能:复制文件 / 目录
- 常用用法:
cp 源文件 目标文件:复制文件(如cp 1.txt 2.txt);cp 源文件 目标目录:复制文件到指定目录(如cp 1.txt dir1);cp 源文件 目标目录/新文件名:复制并重命名(如cp 1.txt dir1/back_1.txt);cp 源目录 目标目录 -r:递归复制目录(-r必加,如cp dir1 dir2 -r)。
(7)mv(Move)
- 功能:移动 / 重命名文件 / 目录(类似 Windows 的剪切)
- 常用用法:
mv 1.txt 2.txt:将 1.txt 重命名为 2.txt(源文件消失);mv 1.txt dir1:将 1.txt 移动到当前目录下的 dir1 目录;mv dir1 dir2:若 dir2 不存在则重命名,若存在则将 dir1 移动到 dir2 内。
(8)rm(remove)
- 功能:删除文件 / 目录
- 常用用法:
rm 文件名:删除文件(如rm 1.txt);rm 目录名 -r:递归删除目录(必加-r,如rm dir1 -r)。
三、实操练习
基础练习
- 在当前目录下创建 test 目录
- 进入 test 目录,创建 1/2/3 三级目录
- 在 3 目录下创建 test.txt 文件
综合练习
- 复制
/etc/passwd文件到当前用户家目录(如/home/linux) - 将家目录下的 passwd 文件重命名为 passwd-bak
- 在用户家目录下新建 test_dir 目录
- 将 passwd-bak 移动到 test_dir 目录
- 将 test_dir 目录下的 passwd-bak 重命名为 passwd
- 将 test_dir 目录复制到用户家目录的 Desktop 目录(如
/home/linux/Desktop) - 将 Desktop 目录下的 test_dir 重命名为 dir
- 删除 Desktop 目录下的 dir 目录
四、Linux 下 C 语言开发
1. 开发工具链
- 编辑器:vim(编写)
- 编译器:gcc(编译)
- 调试器:gdb(调试)
2. vim 基础使用
vi hello.c:打开 / 新建 hello.c 文件(默认进入命令模式)- 按
i进入编辑模式 - 编辑完成后按
ESC回到命令模式,输入shift+:进入底行模式,为文件的保存与退出做准备; - 底行模式操作:
w:保存文件q:退出 vimwq:保存并退出
3. 编译与运行
- 编译:
gcc hello.c(默认生成可执行文件 a.out) - 运行:
./a.out
写在最后
嵌入式与 Linux 的学习,从来不是一蹴而就的旅程,但每一次弄懂一个知识点,每一次敲对一条命令,都是向目标靠近的一步。愿每一份埋首的努力,都能化作前行的底气。
希望我能一直坚持下去,拨云见日。
如有错误请指正,谢谢大家的阅读。
更多推荐
所有评论(0)