
linux学习-笔记
文章平均质量分 94
linux学习
冰果滴
Goal
展开
-
高级【IO】
可以用一个结构体来表示一个文件描述符所对应的events(用户告诉内核)、revents(内核告诉用户)相关的事件,用指针(代表数组)可以让poll关心多个文件描述符,每一个文件描述符的输入输出事件都可以使用不同的位图来表征,所以select上的参数都可以使用poll来取代了。select需要一个第三方数组,而poll则不需要了,poll可以把这个结构体数组作为全局数组,就可以让poll进行事件监听,又可以让新链接把文件描述符加进来。原创 2023-05-05 10:40:51 · 1492 阅读 · 0 评论 -
网络基础3【网络层、数据链路层】
主域名是用来识别主机名称和主机所属的组织机构的一种分层结构的名称.例如:www.baidu.com域名使用 . 连接;com: 一级域名. 表示这是一个企业域名. 同级的还有 "net"(网络提供商), "org"(非盈利组织) 等.baidu: 二级域名, 公司名.www: 只是一种习惯用法. 之前人们在使用域名时, 往往命名成类似于ftp.xxx.xxx/www.xxx.xxx这样的格式, 来表示主机支持的协议。原创 2023-05-01 17:34:09 · 2618 阅读 · 0 评论 -
网络基础2【HTTP、UDP、TCP】
数据摘要((数据指纹):其基本原理是利用单向散列函数(Hash函数)对信息进行运算,生成一串固定长度的数据摘要。数据摘要并不是一种加密机制,但可以用来判断数据数据有没有被篡改。摘要常见算法:MD5、SHA1、SHA256、SHA512等。算法把无限的映射成有限,因此可能会有碰撞(两个不同的信息,算出的摘要相同,但是概率非常低)。摘要特征:和加密算法的区别的,摘要严格意义不是加密,因为没有解密。只不过从摘要很难反推原信息,通常用来进行数据对比。原创 2023-04-11 13:34:37 · 3190 阅读 · 0 评论 -
网络编程套接字
① 端口号是一个2字节16位的整数;② 端口号用来标识一个进程, 告诉操作系统, 当前的这个数据要交给哪一个进程来处理;③ IP地址 + 端口号能够标识网络上的某一台主机的某一个进程;④ 一个端口号只能被一个进程占用。原创 2023-01-03 20:12:18 · 1850 阅读 · 0 评论 -
网络基础1
这一篇大体介绍一下网络的一些基础知识。原创 2022-12-16 12:14:48 · 959 阅读 · 0 评论 -
Linux 多线程
①在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列”② 一切进程至少都有一个执行线程③ 线程在进程内部运行,本质是在进程地址空间内运行④ 在Linux系统中,在CPU眼中,看到的PCB都要比传统的进程更加轻量化⑤ 透过进程虚拟地址空间,可以看到进程的大部分资源,将进程资源合理分配给每个执行流,就形成了线程执行流。原创 2022-12-01 13:08:02 · 1462 阅读 · 0 评论 -
Linux 进程信号
信号是给进程发送的,进程要具备处理信号的能力。① 该能力一定是预先早就已经有了的(程序员写的 ---- OS提供)② 进程能够识别对应的信号③ 进程能够处理对应信号对于进程来讲,即使是信号还没有产生,进程已经具有识别和处理这个信号的能力了。}return 0;}正常运行一个进程,直接用ctrl+c就可以终止,并且按任何命令都是没有效果的。原创 2022-11-17 12:11:20 · 1180 阅读 · 0 评论 -
Linux 进程间通信
因为进程是具有独立性的,所以进程间想交互数据,成本会非常高,因此需要多进程进行协同处理一件事情,就有了进程间通信。要注意,虽然进程独立了,但不是彻底独立了,有时候,需要双方能够进行一定程度的信息交互。原创 2022-11-12 10:14:04 · 1356 阅读 · 0 评论 -
Linux 基础IO
前言:这是Linux基础IO的一大块内容,包括了Linux的系统IO接口的介绍及使用、理解文件描述符、重定向和缓冲区,标准输入、输出、错误,文件系统,软硬链接,动态库和静态库。原创 2022-10-30 16:08:39 · 1467 阅读 · 0 评论 -
Linux 进程控制
进程控制。原创 2022-10-16 13:51:22 · 1243 阅读 · 0 评论 -
Linux 进程概念
优先级就是进程获取资源的先后顺序。显示某个环境变量值设置一个新的环境变量显示所有环境变量清除环境变量显示本地定义的shell变量和环境变量每一个进程在启动的时候,都会让OS给它创建一个地址空间,该地址空间就是进程地址空间。每一个进程都会有一个自己的进程地址空间。先描述,再组织。mm_struct。原创 2022-08-20 20:23:48 · 1646 阅读 · 0 评论 -
Linux 环境基础开发工具
gdb是一个调试工具。在linux中生成的可执行文件默认是release版本,是不支持调试的,因此想要使用gdb调试,就要加上-g,让生成的可执行文件是debug版本的。在一个工程中,源文件不计其数,要是通过我们自己挨个去gcc/g++会非常的麻烦,因此可以使用Makefile,Makefile定义一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,或者进行更复杂的功能操作。...原创 2022-08-11 13:24:27 · 990 阅读 · 0 评论 -
Linux 常见指令及权限、OS(操作系统)基本概念
一.OS(操作系统)基本概念1.概念 OS存在的原因:单纯的硬件计算机,操作起来效率特别低下,难度特别高。OS是一款软件,用来进行对软硬件资源进行管理的软件,管理目的:对上,对下,提高操作效率。二.Linux常见指令我们为什么要学习指令呢?因为所有的操作系统,刚开始的时候都是支持指令操作的,图形化界面是后来才有的,所以指令执行距离OS更近,便于我们更好的掌握OS。1.ls指令(1)语法:ls [选项] [目录或文件] (.....................原创 2022-07-11 20:25:29 · 1472 阅读 · 0 评论