Linux及C
为什么要使用 Linux:开源 免费 稳定性足够好 可处理多并发
嵌入式系统:以应用为中心,计算机技术无基础,
软硬件可裁剪,功能、适用于可靠性、成本、体积、功耗严格要求 专用计算机系统;
MIT麻省理工学院
1969 unix 汇编语言 →C语言
1991.8.25发布linux内核公共版本
GNU&GPL 类Unix开源操作系统计划(GNU GNU is Not Unix) GPL条款;
Ubuntu理念 人道待人;
linux 文件系统 EXT4
linux操作系统四个组件:Linux内核 Shell 文件 系统 实用程序

【0】linux支持多用户、多任务
多任务:某个时刻有多个程序运行;多用户:同时有多个用户访问系统;
Linux 5个常用命令 :
【1】ls 查看当前路径下的文件
一般代表目录 白色普通文件 绿色压缩文件或可执行文件
【2】cd 切换路径
cd <路径> 切换至指定路径
cd .. 切换至上级目录
cd ~ 切换至用户家目录
cd . 当前路径
~ 家(主)目录 / 根目录(斜杠在路径最前面) /路径分隔符(在路径中)
【3】touch filename 创建普通文件
【4】mkdir <目录名>创建新目录
mkdir dir 创建目录dir
mkdir -P dir1/dir2 创建多级目录
【5】rm 删除命令
rm -i 带提示删除
rm -rf 递归删除(包括目录里内容也删除)
【6】Xterm
Gnome——terminal 常用
rxvt 常用
Konsole
【7】Vim编辑器
vi:进入vim编辑器;
1 ---命令行--->编辑模式(Esc退回命令模式)
i:Insert进入编辑状态,从当前光标之后的位置开始插入键盘输入的字符;
a:append 从光标所在位置后面新增资料
I:从光标所在行的第一个非空白字符前面开始插入
A:从光标所在行的最后开始插入
o:在光标所在行的下方添加一行,并将光标移至该新行行首
O: 在光标所在行的上分添加一行,并将光标移至该新行行首
2--命令模式(Esc进入命令模式)
[N]x 删除从光标位置开始的连续N个字符
[N]yy 复制从光标位置开始的连续N行到编辑缓冲区
yw 将光标所在单词复制到编辑缓冲区
y$ 将光标至行尾的字符复制到编辑缓冲区
y0 将光标至行首的字符复制到编辑缓冲区
Y 同y$
[N]dd 删除从光标位置开始的连续N行,并复制到编辑缓冲区
p 将编辑缓冲区的内容粘贴在光标后
P 将编辑缓冲区的内容粘贴在光标前
u 取消上一次操作
ctrl + r 恢复上次撤销操作
x 删除光标所在的字符
r 修改光标所在字符 r后跟要修改的字符
R 进入取代状态,新增内容覆盖原来内容
s 删除光标所在字符,并进入输入模式
S 删除光标所在的行,并进入输入模式
cw 删除光标所在的后一单词,并进入插入模式
ce 同cw
cb 删除光标所在的前一单词,并进入插入模式
c$ 删除自光标位置至行尾的所有字符,并进入插入模式
c0 删除自光标位置至行首的所有字符,并进入插入模式
C 同c$
cc 删除当前行,并进入插入模式
2.5光标跳转命令
G 跳至最后一行
gg 跳至第一行
h,j,k,l 上,下,左,右
:N 移动光标到第N行
b 移动到当前单词的开始
e 移动到当前单词结尾
w 移动到下一个单词
3--底行模式(Esc->:)
:w 写入(保存)
:q 退出 (wq保存并退出)
:x 保存文件并退出
:w File 另存为File给出的文件名不退出
:r File 读入File指定的文件内容插入到光标位置
:noh 取消选中状态
:s 替换
:s/str1/str2/g
:.,$ s/str1/str2/g
查找字符串 /string
n 向下查找匹配项
N 向上查找匹配项
【8】软件包管理机制
软件包类型:
1---Deb软件包 Debian linux提出2---Rpm软件包 Redhat linu
【9】软件包管理工具
1---dpkg(主要用于本地安装)sudo dpkg -i rxvt_1%3a2.6.4-14_i386.debsudo dpkg -s rxvt 查看安装状态sudo spkg -L rxvt 查看安装列表sudo dpkg -r rxvt 删除程序保留配置文件sudo dpkg -P rxvt 删除程序全部内容2---apt (在线安装,自动检查软件包依赖关系)三个关键配置文件/etc/apt/source.list 镜像源文件(网址)/var/lib/apt/lists 索引目录 存放镜像源网址中所有软件包的信息/var/cache/apt/archives 缓存目录步骤:ping www.baidu.comsudo apt-get update 更新索引文件sudo apt-get install rxvt 安装sudo apt-cache policy rxvt 查看sudo apt-get remove rxvt 卸载软件保留配置文件sudo apt-get purge rxvt 卸载软件及配置文件
【10】认识Shell
常用shell
Shell(贝壳)功能:
1)保护内核
2)完成用户与内核之间的交互平台his
文件系统:管理存储设备上大量内容;提供给用户使用接口
【11】命令是用户向系统内核发出控制请求,与之交流的文本流
Shell是一个命令行解释器,将用户命令解析为操作系统所能理解的指令,实现用户与操作系统的交互。
Shell脚本 多条Shell命令的集合
【12】
username@hostname:direction$$ 普通用户命令提示符 # root用户命令提示符
【13】$Command [-Options] Argument1 Argument2 ..
指令 选项 参数1 参数2
【14】history
history 10 >> 1.txt 查询10条历史记录输出至1.txt1--- echo $HISTSIZE 查看历史记录容量2--- HISTSIZE=1000 临时修改历史记录容量3--- sudo vi .bashrcHISTSIZE=900source .bashrc 使配置文件生效 /home/username/.bashrcecho $HISTSIZE
【15】通配符
* //匹配任意长度的字符串*.txt? //匹配一个长度的字符file_?.txt[...] //匹配其中指定的一个字符file_[1-9].txt
【16】测试文件--WC
-l 测试文件中有多少行-w 测试文件中有多少单词-c 测试文件中有多少字符
【17】管道 第一个命令的输出作为第二个命令的输入
(printf 输出至标准输出 scanf 从标准输入获取 err 错误信息输出至标准出错)管道: 命令|命令ls | wc -c (管道 ‘|’前后都是命令)重定向:命令>>文件ls>>1.txt (从定向 ‘>>’前面是命令,后面是文件)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人