linux
文章平均质量分 65
湖蓝色的天空
这个作者很懒,什么都没留下…
展开
-
数据库的增删改查
数据库介绍:概念:数据存储管理的仓库存储:存储介质:磁盘-文件相较于文件存储:文件存储安全性低文件对数据的查询和管理效率较为低下文件不利于海量存储与查询文件在程序中控制不方便SQL:结构化查询语言数据库的分类:关系型数据库:以一种关系模型(二维表格模型)组织数据的数据库分类:oracle,mysql,sql server,mariadb,sqlite非关系型数据库 :不基于sql实现的数据库分类:redis memcached mongodbmysql数据库的安装安装:原创 2021-07-18 21:02:41 · 268 阅读 · 1 评论 -
Linux复习1
基础指令:目录:ls,pwd,mkdir,rm,cp,cd文件:cat,more,less,head,tail,ln压缩:zip/unzip,gzip/gunzip, bzip2/bunzip,tar匹配: grep,find权限: su,sudo,umask,chmod,chown,chgrp进程:ps,kill网络:ifconfig,traceroute,route,netstat系统:shutdown,reboot,free,top,df,常用工具:yum list s原创 2021-07-11 20:49:03 · 56 阅读 · 0 评论 -
IO多路转接模型2
Select:操作流程:1.定义事件的描述符集合(位图),清空集合,添加需要监控的描述符2.将集合拷贝到内核中进行监控,有就绪/超时则监控返回,返回前将未就绪的描述符从集合中移除3.监控调用返回后,获取到就绪的描述符集合,判断哪个描述符还在哪个集合中确定这个描述符是否就绪了某个事件接口:fd_set/FD_ZERO/FD_SET/FD_ISSET/FD_CLR/select优缺点:优点:跨平台移植性良好缺点:1.select所能监控的描述符有最大数量上限2.每次监控都需要重新向集合中添加描原创 2021-07-11 20:00:42 · 74 阅读 · 0 评论 -
IO多路转接模型
网络层:IP协议,地址管理,路由选择路由选择:路由器根据每一条流经路由器的数据中的目标主机地址进行路径选择链路层:ETH协议:6字节目标-源端mac地址,2字节的上层协议,4字节帧尾Mac地址:网卡的物理硬件地址ARP协议:介于网络层与链路层之间的协议-通过IP地址获取MAC地址ARP欺骗攻击:伪造ip进行ARP响应—防火墙白名单MTU:链路层限制的数据帧大小–最大传输单元—以太网默认1500字节Mtu对tcp影响:tcp传输会协商mss,而mss=mtu-40,往后通信每次都是从发送缓冲区原创 2021-07-09 16:16:39 · 321 阅读 · 2 评论 -
DNS域名
DNS:域名系统域名:是个便于记忆的字符串,是一个服务器的别名,访问服务器时通过解析得到服务器的IP地址进行访问一个域名服务器支撑不了所有人的访问,因此采用分布式存储麻将域名信息分散存储到世界各地服务器划分:根域名服务器->顶级域名服务器(.com .org (按用途) .cn(按地域))域名划分:顶级域名:.com/.org/.gov… .cn/.en/.jp二级域名:baidu.com qq.com三级域名:zhidao.baidu.com域名解析流程:查看缓存信息查看本原创 2021-07-07 18:47:13 · 114 阅读 · 0 评论 -
传输层理论
TCP连接保活机制:通信两端在长时间没有数据通信的情况下,服务端会每隔一段时间向客户端发送一个保活探测数据包(要求对方进行回复),若连续多次没有收到回复,则认为连接已经断开。默认7200s,每隔75s,9次无回复这些数值是可以通过设置套接字选项进行设置的。连接断开对于程序的影响:recv返回0,send会触发SIGPIPE异常可靠传输:保证数据有序,安全到达对端面向连接协议字段中的序号与确认序号,进行包序管理,实现有序传输确认应答机制:接收方针对收到的每一条数据进行确认回复超时重传机制:原创 2021-06-27 18:04:38 · 120 阅读 · 0 评论 -
TCP协议 握手与挥手
应用层协议目的是了解指定协议的实现便于我们以后使用传输层:负责应用程序之间的数据传输—TCP/UDP了解协议的实现,体会协议的特性,理解对于上层程序编程的影响UDP:协议实现:16源端-对端端口:用于描述识别通信两端进程16位数据包长度:能够存储最大数字65535—udp报文总大小最大不能超过64K16位校验和:采用二进制反码求和算法—校验接收方接收到的数据与发送方发送的数据是否一致。协议特性:无连接 :通信是不需要建立连接,只要知道对方地址就可以直接发送数据不可靠:不保证数据安全、有序原创 2021-06-22 22:23:03 · 68 阅读 · 0 评论 -
前端搭建过程及面试的一些问题
前端界面模块:html+css+jsHtml:完成页面布局Css:样式语言,面试问题:你说说你做的这个项目吧项目总结:项目名称:点餐系统项目描述:这个点餐系统实现用户通过浏览器与后台服务器进行交互,实现菜品与订单的管理,进而实现用户查看菜品信息以及下单功能,以及管理员对菜品和订单的管理功能。项目实现:这个项目在实现的时候才用了一个不太严谨的MVC框架,将项目实现总体分为三个模块:数据管理,业务处理,前端页面。其中数据管理模块:基于mysql数据库实现数据存储管理,并且封装数据库访问类向原创 2021-06-20 22:53:30 · 481 阅读 · 0 评论 -
mysql数据库创建
MySQL数据库的基本操作客户端操作:mysql -uroot -p注意事项:sql语句中,每条语句都应该以;结尾sql语句中,并不区分大小写sql语句中,数据库名称,表名称,字段名称不能直接使用sql关键字—”库的操作:创建数据库:create database if not exists dbname;查看数据库:show databases;选择所操作的数据库:use dbname; select database();删除数据库:drop database dbname;表的原创 2021-06-14 15:40:16 · 140 阅读 · 1 评论 -
http协议
首行-请求行:请求方法,URL(URI),协议版本\r\n请求方法;GET:从服务端获取实体资源,请求没有正文,但是也可以提交数据,但是提交的数据没有在正文中而是在URL中get提交数据不安全 2.url 长度有限制HEAD;功能与GET类似,但是不要正文实体POST:向服务端提交数据,请求有正文,数据放在正文中URL: 网址–统一资源定位符–用于定位网络中某个主机上的某个资源组成:协议名称://用户名:密码@域名:端口/资源路径?查询字符串#片段标识符域名:服务器别名—最终访问服务器需要原创 2021-06-06 18:52:01 · 318 阅读 · 0 评论 -
网络5.15
Sip+sport+dip+dport+protocol—五元组-标识一条通信网络中的每条数据都会包含有完整的五元组信息Socket套接字编程 :网络通信程序的编写(接口+流程)Udp协议通信程序的编写/tcp协议通信程序的编写Udp协议与tcp协议的区别初识Udp协议:用户数据报协议特性:无连接 不可靠 面向数据报应用场景:实时性要求大于安全性要求的场景—视频传输Tcp协议:传输控制协议特性:面向连接 可靠 面向字节流应用场景:安全性要求大于实时性要求的场景—文件传输在网络通信程序中,原创 2021-05-15 20:50:47 · 67 阅读 · 0 评论 -
重定向 动态库与静态库
在minishell中加入重定向的实现:功能:将原本要写入标准输出的数据,写入到指定文件中echo”nihao”>>a.txt:追加重定向,把持文件原内容不变,将新数据追加到文件末尾:清空重定向,清空文件原有内容,将新数据写入文件中1.捕捉键盘输入;1.5解析输入,是否包含重定向(遇到>则替换为\0)\0前边的数据就是命令,按照之前的处理流程即可\0后边的数据,判断重定向方式,取出重定向文件名2.解析输入信息—得到命令名称,运行参数3.创建子进程 O_TRUNC,原创 2021-03-30 22:31:12 · 225 阅读 · 0 评论 -
进程间通信
进程间通信:进程间的几种通信方式(管道,共享内存,消息队列,信号量)为什么进程间不能直接通信?因为进程间具有独立性,每个进程访问的都是自己的独立虚拟地址空间,使用的都是虚拟地址,通过页表映射到物理内存。因此就算将数据的内存地址交给其他进程,其他进程也无法访问(当然其实也无法直接给)只能通过操作系统提供的几种方式来进行本质上来说是操作系统为多个进程提供了一处公共的数据传输媒介(内存)。因为通信场景不同,因此提供了多种不同的方式:管道:用于传输数据特性:半双工通信–可以选择方向的单向通信本质原创 2021-03-30 22:29:43 · 54 阅读 · 0 评论 -
程序和进程
创建进程 进程就是一个pcb是一个task_struct结构体(linux中),创建一个进程实际就是创建了一个task_struct结构体pid_t fork(void)–创建进程的接口–通过复制调用这个接口的进程(父进程),创建一个新的进程(子进程)ps -ef/-aux 查看所有进程信息进程状态 :用于操作系统对于进程的管理(什么状态该对进程进行什么操作)运行态,就绪态,阻塞态linux中的进程状态:运行态(R):正在运行或者轮转到时间片则能够运行统称运行态可中断休眠态S:可以被中断的休眠原创 2021-03-17 20:58:14 · 64 阅读 · 0 评论 -
Linux-基础IO-库函数
库函数IO接口:fopen fwrite fread fclose fseekFILE *fopen(const char *path,cosnt char *mode);path:要打开的文件路径名称;mode:”r”,”r+”,”w”,”w+”,”a”,”a+”,b;r:只读;r+:可读可写w:只写 ,文件不存在则创建新文件;w+:可读可写, 文件不存在则创建新文件a:追加只写-总是将数据写入文件末尾,不存在则创建新文件a+:读和追加写 打开文件从起始读,写在文件尾,不存在则创建新文件原创 2021-03-24 07:38:43 · 185 阅读 · 0 评论 -
进程等待
进程等待:父进程等待子进程的退出,获取退出子进程的返回值,释放退出子进程的资源为了避免产生僵尸进程操作:pid_t wait(int* status);status:一个整形空间的地址,用于获取退出子进程返回值返回值:成功返回退出子进程的pid,失败返回-1;等待任意一个子进程的退出,如果当前没有子进程退出则一直阻塞等待阻塞:为了完成一个功能,发起调用,若当前不具备完成条件,则一直等待非阻塞:为了完成一个功能,发起一个调用,若当前具备完成条件,则立即返回pid_t waitpid(pid_原创 2021-03-20 07:36:51 · 312 阅读 · 0 评论 -
linux 常用工具
常用工具:yum,vim,gcc/g++,gdb,make/Makefile,gityum:软件包管理工具查看: yum list,yum search;安装:yum install;卸载:yum removevim:命令行下的编辑器操作模式:12种,常见3种-普通,插入,底行底行常见操作::w :q :wq :q!(不要使用ctrl+z退出vim)普通常见操作:光标移动-hjkl,wb,ctrl+f/b,gg/G;文本操作:nyy/p/ndd/x/dw;其他:u/ctrl+r,gg=G原创 2021-03-05 20:33:05 · 61 阅读 · 0 评论