Linux
文章平均质量分 86
Linux指令的总结。
胜利熊猫
大三在校生,希望通过分享给同样喜欢学习的朋友提供帮助,也希望通过分享为自己带来更大的提升。
展开
-
【网络基础】
IP协议有两个版本, IPv4和IPv6. 在讲解时默认使用IPv4IP地址是在IP协议中, 用来标识网络中不同主机的地址;对于IPv4来说, IP地址是一个**4字节, 32位的整数**;我们通常也使用 **"点分十进制" 的字符串**表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255;MAC地址用来识别数据链路层中相连的节点;长度为**48位**, 及6个字节. 一般用16进制数字加上冒号原创 2023-08-01 00:05:22 · 138 阅读 · 12 评论 -
【线程封装及各种测试代码--阻塞队列、环形队列、线程池】
**使用条件变量若进行等待,会自动释放锁,且在被唤醒之后会再次申请锁.** 因此pthread_cond_wait的第二个参数为 锁的指针,当该条件变量上的进程被唤醒时会自动去申请锁,只有当再次申请到锁时才会继续往后运行,否则会重新在锁上阻塞。何时使用锁,何时使用信号量:一份资源当做整体去访问时要加锁,上方的阻塞队列;一份资源分块访问时使用信号量,表示可访问资源,或资源分块数量,上方的环形队列。原创 2024-04-07 19:16:49 · 612 阅读 · 1 评论 -
【进程间通信 之 通信的建立】
打怪升级:第69天匿名管道只能用于具有血缘关系的进程之间通信;在命令行中通过管道连接的各个指令是兄弟关系,它们的父进程都为bash;管道与命名管道都属于文件系统,数据缓冲区的大小随文件缓冲区,数据的流动只在文件缓冲区中进行;命名管道的大小永远是0,文件中的数据不会刷新到磁盘(仅仅作为通信的中间体,没有必要保存数据);由于共享内存创建之后就不需要依赖于OS,因此消息传输是最快的,而同时,因为消息传输时不经过OS的控制,所以通信过程是不安全的 – 没有同步与互斥(两个用户同时进行写入,造成数据覆盖,信息原创 2023-05-10 23:49:14 · 504 阅读 · 20 评论 -
【Linux基础IO之 内存文件操作】
今天我们了解了文件操作的系统调用接口:open、close、write、read、lseek;搞清楚了文件描述符的含义 -- 数组下标;知道了文件的缓冲区 -- OS级 和 语言级;并且清楚了这两个缓冲区存在的位置,以及为什么存在 -- 提高io效率;最后我们也尝试 写了自己的 FILE结构体 ,这里需要补充一句:并非只有c语言对有语言级的缓存区,其他语言也会有,并且,不管是哪一个语言,不管他如何进行封装,在这些封装的文件结构体内部,必定存在**文件描述符**。原创 2023-04-22 09:09:56 · 735 阅读 · 22 评论 -
【bash 的简单模拟实现】
打怪升级:第60天以上只是我们对bash的十分十分简单的模拟,我们只有这区区一百行,而真正的bash解释器的代码量是以万为单位的,所以我们不需要特别纠结于哪一个哪一个功能没有实现,我们需要做的是理解所用到的语法与函数即可,希望对感兴趣的朋友提供了帮助。原创 2023-06-06 23:26:24 · 141 阅读 · 17 评论 -
【Linux进程控制 之 进程创建与等待】
打怪升级:第53天wait 和 waitpid 函数的使用,wait函数必须阻塞等待,等待子进程,而waitpid的最后一个整形参数设置为 WNOHANG, 父进程就可以不阻塞;2.宏 WEXITED(status) 判断是否收到信号 – 收到信号就为假,表明运行出错;宏 WEXITSTATUS(status)提取进程退出码。原创 2023-04-02 17:21:15 · 334 阅读 · 15 评论 -
【Linux进程控制之 进程替换】
用fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支),子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时,该进程的用户空间代码和数据完全被新程序替换,从新程序的启动例程开始执行。调用exec并不创建新进程,所以调用exec前后该进程的id并未改变。有了上面的execl示例,我们继续来看剩余的几个exec函数:execlp && execvpexecle && execvpe && execveexec函数总结原创 2023-04-07 22:10:32 · 72 阅读 · 7 评论 -
【进程地址空间】
打怪升级:第52天。原创 2023-03-31 20:15:25 · 345 阅读 · 11 评论 -
【Linux进程初始】
冯.诺依曼在《第一份草案》文档中描述了自己心中的计算机,并由此确立了计算机结构的五大部件: 运算器、控制器、存储器、输入设备、输出设备;现在看来,运算器和控制器单元集成在CPU中实现,存储器的容量不断扩大、输入输出设备不断更新,这些部件构成了当代计算机硬件系统的基本组成。关于如今的冯诺依曼体系:存储器指的是内存,在不考虑缓存的情况下:CPU只能在内存中进行读写操作,不能直接和输入输出设备交换信息;输入输出设备进行读取和写入信息也只能在内存中进行;也就是说:所有设备都只能直接和内存打交道。原创 2023-03-29 11:45:52 · 251 阅读 · 20 评论 -
【LINUX权限】
本文可以带你了解Linux中shell外壳的作用,动图演示文件权限、目录权限和粘滞位的使用语法和使用效果,并且包含chmod、umask、sudo等权限相关指令的介绍。原创 2023-01-06 23:17:58 · 821 阅读 · 33 评论 -
【Linux常见指令1】
初始Linux第一篇:经过了前段时间的了解和学习,如今刚刚对Linux有了初步的认识,Linux从第一次问世至今不过短短30余年,它是由赫尔辛基大学的一名研究生Linus Benedict Torvalds,于1991年10月5日,在一个Usenet新闻组中发布并开源(开放源代码,任何人都可以借用),原创 2022-12-01 20:44:52 · 694 阅读 · 16 评论 -
【Linux常用指令2】
Linux中对于文本操作的指令、时间查看指令、热键、以及重要字符‘ * ’ 和 ‘ | ’等常见指令解释。原创 2022-12-01 21:08:01 · 1362 阅读 · 21 评论