Linux
文章平均质量分 75
Linux基础
丽丽的代码
这个作者很懒,什么都没留下…
展开
-
git相关
【代码】git相关。原创 2024-01-16 18:16:54 · 563 阅读 · 0 评论 -
Http协议
在请求头和请求正文之间应该有一个空行,但在您提供的示例中,由于请求是一个GET请求,并且没有请求体(body),所以空行没有显示。这是请求的第一行,包含了HTTP方法(GET)、请求的资源URI(/metrics)以及查询参数(board_ip、type、board_no),还有HTTP协议的版本(HTTP/1.1)。请求头包含了关于请求的附加信息,如请求的目标服务器(Host)、连接类型(Connection)、缓存控制(Cache-Control)、浏览器标识(User-Agent)等。原创 2024-02-01 11:36:22 · 196 阅读 · 0 评论 -
Liunx命令大全及基础知识扫盲
总线号用于标识设备所连接的PCI总线的编号,设备号用于标识同一总线上的不同设备,功能号用于标识同一设备上的不同功能,寄存器号用于标识设备上的寄存器。总之,PCI地址是一种用于标识PCI总线上设备的物理地址,由总线号、设备号、功能号和寄存器号组成。PCI地址用于唯一标识连接到PCI总线的设备,并确定设备的位置和访问设备的寄存器。总的来说,ens0 和 eth0 的区别在于命名约定的不同,它们都是用来标识不同的以太网接口。在网络配置和管理中,它们的功能和用法一般是相似的,只是命名上的差异。原创 2023-07-13 10:16:56 · 496 阅读 · 0 评论 -
数据库mysql
文章目录1,数据库的构成服务器端其实就是一个数据库管理系统数据库存在于一个文件中,数据库文件存在于磁盘上,数据库管理系统数据库系统(DBS) 包含数句库(DB)和数据库管理系统()数据库是一个CS模式服务器,客户端(就是TCP连接).........原创 2022-05-07 15:40:36 · 189 阅读 · 0 评论 -
会话,进程组,守护进程的特点,守护进程的步骤
文章目录守护进程步骤守护进程特点:运行周期长(开机直至你关机或者系统关闭),在后台运行,不用和用户交互(脱离终端)会话:每打开一个终端就建立了一个会话会话首进程:该会话运行的第一个进程(bash)(用该bash的PID来标识该会话(id))进程组:每运行一个命令,就是一个进程组(进程组的id是该命令的PID或父进程的PID(父子进程))组长进程:父子进程中父进程为组长进程getsid(0):会话idgetpgrp():进程组idsetsid():创建一个新会话(从别的会话中拿出的子进程).此原创 2022-04-09 17:07:53 · 1370 阅读 · 0 评论 -
poll,epoll,select,poll与epoll的区别,LT模式与ET模式的区别
poll以下图片来自Liunx高性能服务器编程poll与select的区别poll是个加强版的selectpoll能检测的文件描述符的数目更大(但是每个计算机都有自己的最大数量) poll注册的事件类型更多poll既可以在liunx上可以,也可以在windows和unix上用select是数组将文件描述符交给set_fd,在交给select,而poll直接将文件描述符交给poll#define _GNU_SOURCE#include<stdio.h>#incl原创 2022-04-07 09:46:09 · 1543 阅读 · 0 评论 -
IO复用,select,
一,IO复用的方法IO复用的方法:select poll epollIO复用的功能这里的描述符就是套接字以前TCP服务器端和客户端一个服务器端要连接10个客户端就需要创建10个线程学校发书,所有人在图书馆排队领书没到你你就在等相当于阻塞,另一种到你了我给你打电话你再来领就不会出现阻塞(例子)在程序中来讲就是我们将所有要关注的描述符全部注册到select上,select帮我们检测哪个描述符上有数据产生(有可能是一个或2,3个上同时有数据)举个例子来使用select检测键盘(键盘也是描述符)原创 2022-04-05 14:15:48 · 731 阅读 · 0 评论 -
改进后的tcp协议代码,多线程tcp协议代码,三次握手,四次挥手,tcp沾包,Tcp的特点
虚拟机要处于桥接模式下在liunx上我们用ifconfig来查看IP号在Windows上用ipconfig上查看;一次只能处理一个客户端套接字文件描述符也是文件描述符是0,1,2…不可能小于0;清空saddr;5是监听套接字的大小;accept里的参数给出记录客户端IP和端口的那块空间;把一个结构体转换成一个字符串;网络转主机;...原创 2022-02-22 11:13:43 · 761 阅读 · 2 评论 -
消息队列,线程,线程同步,互斥锁,线程打印ABC,生产者消费者
一,消息队列在这里插入图片描述在这里插入代码片-q-m共享内存-s信号量二,线程我们为什么需要多线程函数指针要使用线程库对多线程加以控制同步并发执行谁跑得快谁先执行...原创 2022-02-19 21:54:56 · 393 阅读 · 0 评论 -
主机字节序列和网络字节序列,套接字,tcp服务端代码,客户端代码
文章目录啥叫套接字套接字就像我们的手机它具备这样的功能,能够通过网络来收和发;创建套接字就相当于两个人各自买个手机才能实现通讯;为什么第一步要创建套接字创建套接字它能通过网络进行收发;s服务端地址,c客户端地址(别人链接我,我要给对方回复数据)转换网络字节序测试IP将端口设置到套接字上,连接可能会失败(端口号已经被用,或者IP号输错)25:17...原创 2021-12-08 14:45:22 · 353 阅读 · 0 评论 -
进程间的通讯,有名管道,无名管道
一,进程间的通讯(ipc)进程间的通讯:在两个进程间进行信息的交换或数据的传递;进程间的通讯:管道,信号量,共享内存,消息队列,套接字;实现两个进程间的通讯(用以前的知识解决问题):创造一个库文件,a进程给文件中写入数据,b进程从文件中读取数据;缺点:文件在磁盘上,磁盘的速度远远低于内存的速度;需要一些信号量的控制;管道文件的操作和正常文件是一样的只是在打开管道文件时要求必须要两个进程打开了这个管道负责open就会被阻塞住;磁盘只存放管道文件的属性(名字等)不存放内容二,有名管道 1原创 2021-11-13 15:15:58 · 133 阅读 · 0 评论 -
信号量控制三个进程打印ABC,共享内存,利用信号量实现共享内存的输入一次才能打印一次
在这里插入图片描述a.c看书程序设计书共享内存原创 2021-11-12 20:04:27 · 1318 阅读 · 0 评论 -
信号量,信号量的使用,划分临界区
一,信号量临界资源,临界区注意:信号量是一个正数控制对某个资源的访问;P:减一代表获取资源;V:加一代表释放资源;信号值为0就会阻塞不会继续减1;先写一个没有信号量的例子a.c的代码 1#include<stdio.h> 2 #include<stdlib.h> 3 #include<unistd.h> 4 int main() 5 { 6 for(int i=0;i<5;i++) 7 { 8 printf("A")原创 2021-11-08 12:30:04 · 304 阅读 · 0 评论 -
自己实现一个命令解释器bash完成一些简单的功能(mybash),fgets()与gets()的区别,stork()函数
fgets会读取到我们的回车符\ngets不会读取到\nbash只是帮你执行程序不包含程序strtok原创 2021-11-01 20:42:21 · 184 阅读 · 0 评论 -
僵死进程,孤儿进程,wait
一,僵死进程:子进程先于父进程结束,产生条件:父进程没有使用wait()调用子进程的退出码,那么子进程就成为僵 死进程;解决办法:在父进程中使用wait();产生僵死进程:#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<assert.h> int main() { char *s=NULL; pid_t pid=fork(); int n=0;原创 2021-10-26 10:30:11 · 382 阅读 · 0 评论 -
主函数参数介绍,printf函数,复制进程fork函数,习题打印A,写实拷贝技术
#include<stdio.h> #include<stdlib.h> int main(int argc,char*argv[],char*envp[])//参数个数,参数内容 ,环境变量 { printf("argc=%d\n",argc); for(int i=0;i<argc;i++) { printf("argv[%d]=%s\n",i,argv[i]); } for(int i=0;envp[i]!=NULL;i原创 2021-10-25 19:37:10 · 164 阅读 · 0 评论 -
make,makefile文件,安装makefile文件,程序的gdb调试
linux上的.o对应Windows上的.objLinux上的main对应的就是Windows上的.exe在不修改程序的前提下清理解决方案,就会删除 .obj .exe文件写一个makefile文件管理你的整个工程,make命令会读取makefile的内容根据makefile的内容来编译整个代码;vs2019也有这个makefile只是我们看不到;...原创 2021-10-23 18:38:23 · 18 阅读 · 0 评论 -
程序的编译和调试,预编译,编译,汇编,链接
1,hello程序一次执行2,分两次执行3,main.c到main.exe预编译,编译,汇编,链接预编译:处理预编译指令删除注释;编译:语法,词法分析优化代码;汇编:翻译成二进制,生成各个段,生成符号表;链接:合并各个段,符号解析,符号重载;4,多个函数一个主函数两步完成执行一步完成执行.........原创 2021-10-17 12:16:53 · 237 阅读 · 0 评论 -
进程,进程管理命令,ps,bash,kill,jobs,后台执行任务,前台任务转到后台后台任务转到前台
1,进程:一个正在运行(执行)的程序(进程由操作系统进行管理) pcb进程控制块; pid唯一表示一个进程 进程状态:就绪,运行,阻塞程序:由一条条的指令(将一条条指令运行起来就产生了进程)2,psps(默认状态下只显示当前终端的进程)ps -f更多的进程ps -e所有的进程和ps -ef功能相似ps -L显示进程中的线程ID利用grep来在另一个窗口里快速的找的第一个窗口里的进程ps -e | grep “bash”第一个窗口里的ps第二个窗口里原创 2021-10-17 10:56:17 · 602 阅读 · 0 评论 -
vi的常见命令,修改vim的配置文件,文件的打包与解包,文件的压缩与解压,安装vmare-tools
一,vi的常见命令(在命令模式下执行)1,nyy复制光标本行开始向下的n行的内容;例如:4yy2,p在光标本行的下一行粘贴你复制的内容;3,u撤销上一条命令4,n dd删除自本行至下的n行(利用剪切功能来删除)1dd或者dd剪切本行5, ctrl+r恢复上一次撤销操作6,r替换一个字符R一直替换按esc退出7,x删除(一次删除一个字)8,cc删除一行,C一直删除到行末;9,shift+g光标移动到最后一行gg光标移动到第一行:+数字光标移动到第数字行二,修改vim的配置文件原创 2021-10-10 11:20:31 · 1535 阅读 · 0 评论 -
基础命令,文件查看命令,安装vim和gcc,文件编辑命令,vi三种模式的相互转换
一,基础命令pwd 显示当前的绝对路径cd 切换目录cd可以加绝对路径或者相对路径cd ~返回家目录cd …返回上一层ls 显示当前目录中的文件man 帮助手册,用来查看命令,系统调用,库函数touch 创建普通文件(文档)mkdir 创建目录文件(文件夹)rmdir 仅仅删除空目录rm -r name 删除非空目录cp 拷贝文件拷贝目录文件时需要加上“ -r” cp a b原创 2021-09-23 16:19:41 · 152 阅读 · 0 评论 -
Linux与windows区别 , Linux系统的目录,文件类型,文件权限的修改
一,Linux与Windows区别1,Linux主要使用命令操作系统(节省空间),Windows是图形化界面;2,Linux主要使用于服务器,Windows主要应用于个人系统;3,Linux使用开源项目(开源就是所编写的代码可以看到),Windows不使用开源;4,Linux是多用户系统(多个用户同时使用计算机),Windows是单用户系统二, Linux系统的目录是一颗倒状的树;mnt临时挂载点(挂载U盘或者cd)proc虚拟文件(把进程在内存中的信息映射到这里)var存放系统中移动的文原创 2021-09-21 16:45:30 · 452 阅读 · 0 评论