linux笔记
bryant-xw
Stay hungry, Stay foolish
展开
-
linux学习笔记1--linux的特点
linux的特点(具有unix的所有功能和特点)1.1 UNIX的功能和特点:多任务,多用户,并行处理能力,设备无关性,工具,错误处理,强大的网络功能,开放性(遵循统一的国际标准的规范)1.2 Linux的特点:自由软件,良好的兼容性,良好的界面,丰富的网络功能,支持多种平台,可靠的安全性和稳定性linux的内核版本号格式:主版本号.次版本号.修正号次版本号为偶数是稳定版本,...原创 2018-09-23 15:48:13 · 180 阅读 · 0 评论 -
linux学习笔记5--正则表达式规则和使用
linux/unix下使用正则表达式的命令:grep sed awk perl(这种语言是目前最大的正则表达式引擎)1.正则表达式:Regular Expression正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。通常在文本中(数据集)被用来检索、替换那些符合某个模式(规则)的文本。2.为什么使用正则表达式?典型的搜索和替换操作要求您...原创 2019-04-16 10:26:17 · 264 阅读 · 0 评论 -
linux下的消费者-生产者模型代码
流程(1)生产者(2)消费者代码#define N 20typedef int semaphore;int buf[N] = {0};int in = 0;int out = 0;int productID = 0;semaphore mutex = 1;semaphore proCmutex = 1;int empty = N;int full = 0;...原创 2019-04-09 16:27:54 · 516 阅读 · 0 评论 -
linux下的阻塞I/O模型测试
客户端#include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<sys/types.h>#include<sys/socket.h>#include<arpa/inet.h>#include&l...原创 2019-04-03 09:31:21 · 152 阅读 · 0 评论 -
inet_ntop()和inet_pton()函数
头文件#include<arpa/inet.h>1.inet_ntop()const char* inet_ntop(int af,const void* src,char* dst,socklen_t size)功能:32位整数转化为点分十进制的ip地址返回值是char* 字符串参数:af: 协议类型src: 32位整数的地址dst: 存放转换后点分十进制的ip的...原创 2019-04-02 10:54:21 · 428 阅读 · 0 评论 -
linux下的I/O复用模型之epoll详解
epoll函数在这里插入代码片epoll服务器代码测试结果模型评价原创 2019-04-07 17:50:55 · 219 阅读 · 0 评论 -
linux下的I/O复用模型之poll详解
基本原理poll本质上和select没有区别,只是取消了最大监控文件描述符数限制,并没有从根本上解决select存在的问题.它将用户传入的数组拷贝到内核空间,然后查询每个fd对应的设备状态,如果设备就绪则在设备等待队列中加入一项并继续遍历,如果遍历完所有fd后没有发现就绪设备,则挂起当前进程,直到设d备就绪或者主动超时,被唤醒后它又要再次遍历fd。这个过程经历了多次无谓的遍历.它没有最大连...原创 2019-04-06 22:26:39 · 182 阅读 · 0 评论 -
linux / unix下的5种I/O模型
一个输入操作通常包括两个阶段: (1)等待数据准备好 (2)从内核向进程复制数据Key:对于一个套接字上输入操作 第1步:等待数据从网络中到达,当等待分组到达时,会被拷贝到内核中某个缓冲区 第2步:将数据从内核缓冲区中取出拷贝到应用进程的缓冲区5种I/O模型的概览如下图:阻塞I/O(一般默认情况下都是阻塞I/O)应用进程被阻塞,一直等待内核将数据拷贝到应用进程的缓冲...原创 2019-03-28 09:43:41 · 164 阅读 · 0 评论 -
linux学习笔记4--常用的命令2
vim下的快捷键的使用(Esc模式下)1.dd:删除当前行2.ndd:从当前行开始删除n行3.u:撤销4.p:粘贴 5.yy:复制当前行6.nyy:从当前行开始复制n行7.Ctrl+Shift+c:在插入模式下,复制选中内容8.Ctrl+Shift+v:在插入模式下,粘贴...原创 2019-04-04 19:00:59 · 90 阅读 · 0 评论 -
linux下的I/O复用模型之select详解
select函数详解int select(int maxfdp, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);参数:(1)maxfdp: 当前最大描述符数+1(2)readfds: 指向一个套接字集合,用于检测其可读性 (3)writefds: 指向一个套接...原创 2019-04-04 18:52:24 · 1250 阅读 · 0 评论 -
linux学习笔记2--内核的功能
Linux内核的功能1. 内存管理内存分配调用:静态+动态内存保护:独立的内存空间,互不干扰地址映射:程序的逻辑地址与存储器的物理地址的映射内存扩充:逻辑上扩充内存(即OS具有请求调入和置换功能)2.进程管理1.进程控制:创建,撤销,阻塞,唤醒5. 进程协调:由于进程运行的异步性,则进程同步的任务通过互斥方式和同步方式对进程的运行协调6. 进程通信:不同进程之间的通信7. ...原创 2018-09-27 22:15:29 · 109 阅读 · 0 评论 -
linux学习笔记3--常用的命令1
ls 查看目录文件原创 2018-10-12 10:52:16 · 115 阅读 · 0 评论 -
linux学习笔记6--正则表达式的应用
使用REGEX函数族,在程序内部使用,匹配抽取数据类型:regex_t函数(1)生成正则标记(通过正则语句字符串生成)int regcomp(regex_t *preg, const char *regex, int cflags);(2) 通过正则标记匹配数据源,通过子表达式传出数据位置,便于抽取关键信息,一次返回一条匹配项,需要循环匹配返回若干个子表达式的位置,存到regmatch...原创 2019-04-17 22:42:24 · 152 阅读 · 0 评论