![](https://img-blog.csdnimg.cn/ff3c6e2932ba434ca3544882eb1ad95a.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux学习
文章平均质量分 96
记录学习Linux的心得
正义的伙伴啊
生活近看虽像悲剧,远看则是喜剧
展开
-
如何写一个命令行解释器(SHELL)
本shell设计的结构参考的是,但是代码都是自己写的,还加了一些新的功能关于什么是shell前面的文章深入理解 shell/bash已经说过了,我这里就不多赘述了。进程替换、字符串操作库函数、文件系统、进程等待、动态增容到此整个shell就差不多,语言层面对C语言字符串操作函数、读写文件函数要求比较高。完整代码放在gitee上了仓库。原创 2023-01-30 21:01:48 · 1913 阅读 · 9 评论 -
Linux信号
信号是一种条件反射,不管事件有没有发生,但是你对带这件事情的处理方式是固定的。这件事情的发生对你来说就是一种信号。操作系统也存在信号,实际上os中的信号:是操作系统向进程传达指令的一种操作。操作系统向进程发出信号,进程接受到信号执行相应的动作。输入指令kill -lkill -signum 进程pidsignum 为信号编号这里每个信号都有一个字字母标识该信号信号从操作系统发出到信号被执行一共要经理三个过程:下面就让我们从这三个方面来对信号深入了解。原创 2022-03-19 20:31:11 · 2249 阅读 · 7 评论 -
进程间通信(IPC)
进程间通信IPC原创 2022-02-14 19:29:30 · 1411 阅读 · 31 评论 -
操作系统——文件学习笔记
在学习C语言的时候学习过如何打开关闭一个文件,可以参考一下以前的博客C语言文件操作,在学习了进程之后看待文件的角度就不能只停留在语言层面上了,下面从两个角度来认识一下操作系统对文件的管理文章目录进程眼中的文件磁盘眼中的文件进程眼中的文件在C语言中我们可以用多少种方法往屏幕上打印字符串?int main(){ const char* p = "hello world\n"; printf(p); fwrite(p, strlen(p), 1, stdout); fprintf(stdout原创 2022-02-06 11:30:49 · 789 阅读 · 11 评论 -
深入理解 shell/bash
深入理解 bash/shell什么是bash和shell深入理解shell的变量配置自己的bash/shell重定向 和 管道正则表达式shell脚本原创 2022-01-27 16:46:55 · 5498 阅读 · 14 评论 -
进程的 创建 终止 等待 替换
文章目录创建从进程的角度从内存的角度终止等待替换创建从进程的角度Linux中有一个重建进程非常重要的函数——fork() ,fork以该进程为模板,创建一个子进程,而原进程为父进程#include<unistd.h>pid_t fork(void)现在我们以进程的角度来看待一下进程的创建:fork函数实际上是一个系统调用,调用fork函数之后,就会被内核接管接下来的流程,内核会做如下事情:分配新的内存给子进程创建PCB也就是进程控制块将进程添加到描述进程的数据结构中fo原创 2022-01-22 16:33:00 · 760 阅读 · 7 评论 -
进程地址空间——学习笔记
文章目录进程地址空间的划分进程地址空间示意图进程地址空间 & 物理内存为什么需要进程地址空间进程地址空间的划分我们在学习C/C++的时候一直会涉及一个概念——地址,以前我一直认为地址就是内存,一个地址对应一字节的物理空间,但是对于某些现象并不能解释例如:在一个64位的操作系统下,如果一个地址对应一个字节的话理论上内存应该有4*2^32 GB的内存空间,但是实际上内存还没有那么大现在才知道我们以前在语言层面所理解的地址,实际上是虚拟地址,与真正的物理的内存是独立的进程地址空间示意图虚拟地址原创 2021-12-29 15:20:56 · 423 阅读 · 2 评论 -
Linux进程——学习笔记
文章目录认识操作系统冯诺依曼体系结构是计算机的基本结构操作系统进程的概念task_struct的内容查看进程创建进程进程的状态进程的优先级认识操作系统冯诺依曼体系结构是计算机的基本结构该结构规定了 cpu(中央处理器) 只和内存进行交互,任何其他设备 例如 输出设备 和 输入设备 都必须把数据加载到内存上,才能被cpu读写那么为什么要把所有数据都加载到内存中才能被cpu读写?这是因为不同硬件数据传输的效率不同,cpu读取数据的速度 是 硬盘上传数据的1000万倍,这样两种设备如果直接交互会导致c原创 2021-12-22 13:50:24 · 666 阅读 · 5 评论 -
gdb、make/makefile学习心得
gdb 学习心得原创 2021-12-13 19:27:14 · 1276 阅读 · 11 评论 -
vim的基本使用
vim的基本使用文章目录vim的基本使用配置vimvim常见的模式 及 如何切换命令模式插入模式底行模式替换模式vim遇到打开时的警告信息vim是Linux操作系统上文本编译器,Linux上面的命令,大部分都是默认选择vi作为数据的接口,而且vim同时也支持在上面编写程序。配置vim如果你以前对你自己的vim没有配置过的话,你用第一次用vim 打开一个空白文本的时候大概是这个样子的:这个vim看起来十分的简陋,连行号都不显示,而且你在上面敲代码,不会有:括号自动补全、首行缩进总之拿这种vim敲原创 2021-12-06 14:05:24 · 773 阅读 · 5 评论 -
Linux 权限的理解
文章目录Linux 权限的理解用户的概念权限的决定因素文件访问者的分类(角色)文件的属性文件类型和访问权限文件权限的表示方法符号类型数字类型文件权限的修改方法修改文件属性:chmod数字类型修改符号类型修改修改文件的所属组:chgrp修改文件的所属者:chown目录的权限粘滞位Linux 权限的理解用户的概念Linux下有两种用户:普通用户 和 超级用户(root)超级用户:不受文件权限的限制,可以做任何事情普通用户:在Linux下做有限的事情超级用户命令提示符是“#” ,普通用户的命令提示原创 2021-11-15 19:07:15 · 2105 阅读 · 7 评论