![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
王小闹儿
这个作者很懒,什么都没留下…
展开
-
linux 网络编程 2019.2.2(libevent(使用),如果动态库找不到,如何解决?)
libevent是干什么的 开源的库, 提高开发效率封装了socket通信 封装了IO多路转接精简, 专注于网络, 性能高事件驱动 memcached——一个缓存数据库,数据存在内存中,网络模块封装了libevent libevent安装 官网:http://libevent.org/ 安装:./configure-...原创 2019-02-02 21:36:22 · 2431 阅读 · 0 评论 -
2019.2.6 xml、minixml、json、cJSON
目录1、xmlxml基础语法和规范 C程序中如何使用xml开源库 借助开源库,在C程序中生成xml文件 已知一个xml文件,如何借助开源库解析xml文件数据2、Jsonjson的基础语法和规范 C程序中如何使用json开源库 - cjson 使用cjson生成json文件 已知一个json文件,使用cjson库解析文件数据 XML 安装minixml...原创 2019-02-05 21:14:59 · 520 阅读 · 0 评论 -
linux服务器开发 2019.2.6(http协议 - 应用层,请求消息,HTTP1.1的五种请求方法,响应消息,HTTP常用状态码,重定向, http中的文件类型,web服务端实现思路)
html+css知识,略 脑图 http协议 - 应用层 请求消息(Request) - 浏览器给服务器发 四部分: 请求行, 请求头, 空行, 请求数据请求行: 说明请求类型、要访问的资源, 以及使用的http版本 请求头: 说明服务器要使用的附加信息 空行: 空行是必须要有的, 即使没有请求数据 请求数据: 也叫主体, 可以添加任意...原创 2019-02-06 20:46:12 · 459 阅读 · 0 评论 -
linux服务器开发 2019.2.7(epoll服务端模型代码,strncasecmp函数,MSG_PEEK,scandir函数,编码解码,sscanf 函数,正则表达式,strftime 函数)
epoll服务端模型代码 main.c#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include "epoll_server.h"int main(int argc, const char* argv[]){ if(argc < 3){ p...原创 2019-02-07 13:49:16 · 477 阅读 · 0 评论 -
linux服务器开发 2019.2.7(libevent实现http server,线程池)
libevent实现http server libevent在获取到文件描述符之后有两种选择struct event* ev=event_new(base, fd, ev_read, callback, arg); struct* bufferevent = bufferevent_socket_new(base, fd, )BEV_OPT_CLOSE_ON_FREE); ma...原创 2019-02-07 18:15:57 · 3777 阅读 · 0 评论 -
linux性能图谱
转载 2019-02-15 20:14:12 · 301 阅读 · 0 评论 -
shell大全
命令解析器——例如bash 是一个程序,可以解析shell命令 shell基本语法 变量 环境变量敲命令“env”可以取出所有环境变量 环境变量可以当全局变量来使用 set命令可以输出当前系统的全部环境变量以及函数 unset命令用于删除一个环境变量 本地变量自定义的变量——局限在某个脚本中使用 1、变量定义:shell中的变量没有数...原创 2019-02-25 13:59:04 · 340 阅读 · 0 评论 -
软连接和硬链接的区别
硬链接创建硬链接的参数—— -l给test.cpp建立硬链接-i——可以查看文件node文件node是一样的,说明你删除其中一个文件的时候,另一个文件不受影响软连接创建软连接的参数——-s软连接就类似于给文件起了一个别名缺点:软连接可以指向软连接。这就容易造成循环引用,造成闭环 软连接也可能指向一个不存在的文件ln命令-l—...原创 2019-04-07 13:54:29 · 327 阅读 · 0 评论 -
fork之后子进程到底复制了父进程什么
作者:狂奔的乌龟来源:CSDN原文:https://blog.csdn.net/xy010902100449/article/details/44851453#include<stdio.h>#include<string.h>#include<stdlib.h>#include<unistd.h> void main...转载 2019-04-18 12:08:23 · 2866 阅读 · 0 评论 -
shutdown(关机重启)、ifconfig、ping、ssh、scp、ls -l扩展、用户管理相关命令、系统信息相关命令、软连接和硬链接、打包压缩和解压相关命令
shutdown——关机/重启shutdown命令可以安全关闭或者重新启动系统选项 含义 -r 重新启动 提示:不指定选项和参数,默认表示1 分钟之后关闭电脑 远程维护服务器时,最好不要关闭系统,而应该重新启动系统常用命令示例# 重新启动操作系统,其中 now 表示现在$ shutdown -r now# 立刻关机,其中 n...原创 2019-05-11 16:28:32 · 986 阅读 · 0 评论 -
vim命令整理
vi —— 终端中的编辑器学习 vi 的目的 在工作中,要对 服务器 上的文件进行 简单 的修改,可以使用 ssh 远程登录到服务器上,并且使用 vi 进行快速的编辑即可 常见需要修改的文件包括: 源程序 配置文件,例如 ssh 的配置文件 ~/.ssh/config 在没有图形界面的环境下,要编辑文件,vi 是最佳选...原创 2019-05-11 16:50:21 · 272 阅读 · 0 评论 -
趣谈linux操作系统(一)——操作系统的发展历程、linux操作系统图解、Linux 操作系统爬坡路线图
操作系统的发展历程linux操作系统图解Linux 操作系统爬坡路线图转载 2019-06-29 23:19:02 · 1674 阅读 · 0 评论 -
Linux性能分析和优化思维导图
转载 2018-12-01 10:30:19 · 605 阅读 · 0 评论 -
linux网络编程基础 2019.1.10(网络应用程序设计模式,socket编程,inet_pton,inet_ntop,服务端创建连接的过程,客户端创建连接的过程,socket函数封装)
网络应用程序设计模式 C/S——clien/server优点——协议灵活,可以缓存数据 缺点——对用户安全造成威胁,开发工作量大 B/S-——browser/server优点——跨平台 只能用http socket编程 什么是socket网络通信的函数接口 封装了传输层协议(TCP UDP)浏览器http封装的是TCP socket...原创 2019-01-12 08:31:52 · 490 阅读 · 1 评论 -
linux网络编程 2019.1.12(send/recv,TCP状态转化,shutdown,netstat命令,端口复用, IO多路转接,select, poll)
复习三次握手四次挥手 send/recvrecv和send比read和write多一个参数flag,见到flag的时候,就把flag赋值为0.(没讲为啥。。。) TCP状态转化 三次握手客户端收到服务器发送的SYN+ACK的时候,客户端的状态就变成了ESTABLISHED,当进入该状态的时候,说明该端...原创 2019-01-12 23:25:44 · 424 阅读 · 0 评论 -
rm -rf * 了咋办,跑路吗?
转自:https://mp.weixin.qq.com/s/AVGu8P5oQI4iNRRPY5h6Qw 昨天有个工程师写了一个删除日志的bug:...rm -rf / home/work/logs/...还好是在测试环境执行的,否则估计要跑路了。画外音:一个“多了一个空格”的bug,看懂了么? 曾经我也干过类似的傻事,写过这样删除日志的脚本:......转载 2018-12-27 09:13:36 · 6770 阅读 · 0 评论 -
du 和 df以及lsof
du:disk usage通过搜索文件来计算每个文件的大小然后累加得到的值。 df:disk free通过文件系统来获取空间大小的信息。 如果用户删除了一个正在运行的应用程序所打开的某个目录下的文件:du命令返回的值,显示出减去了该文件后的总大小 df命令返回的值,则不显示减去该文件后的大小(文件句柄还在被使用),直到该运行的应用程序关闭了这个打开的文件(才会真正释放...转载 2018-12-06 18:45:40 · 206 阅读 · 0 评论 -
linux中fork()函数详解
转自:https://www.cnblogs.com/dongguolei/p/8086346.html 一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同(两个进程的变量都是独立的,存在不同的地址中,不是共用的)的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做...转载 2018-12-06 15:54:51 · 215 阅读 · 0 评论 -
GDB学习笔记
编译生成执行文件:(Linux下)g++ -std=c++11 -g tst.cpp -o tst基本操作//启动gdb$gdb$file 可执行文件名$start//设置启动参数为10$set argc 10//从第一行开始,展示代码$list 1//展示某个文件的代码$list 文件名//进入被调用的函数,库函数进不去$s(tep)//打...原创 2018-12-08 23:43:30 · 274 阅读 · 0 评论 -
Linux学习记录
Linux下编译c++c++98g++ -o 可执行文件名 文件名.cpp当出现如下报错信息的时候,请使用c++11版本的编译in C++98 ‘arr’ must be initialized by constructor, not by ‘{...}’ vector<int>arr={ 0, 13, 24, 35, 46, 57, 60, 72,...原创 2018-12-01 08:12:02 · 151 阅读 · 0 评论 -
《Linux命令行与shell脚本编程大全》读书笔记————第一章 初识Linux shell
本章内容1、什么是Linux2、Linux内核的组成 1、1 什么是LinuxLinux课划分为以下四部分a)Linux内核b)GNU工具c)图形化桌面环境d)应用软件 1.1.1 深入探究Linux内核内核主要负责以下四种功能a)系统内存管理b)软件程序管理c)硬件设备管理d)文件系统管理 1、系统内存管理内核不仅管...原创 2018-11-05 16:16:09 · 195 阅读 · 0 评论 -
一文搞定 Git 相关概念和常用指令
转自:https://mp.weixin.qq.com/s?__biz=MjM5NjMyMjUzNg==&mid=2448131503&idx=1&sn=eb348226059aa969480726096676bfbd&chksm=b2f428288583a13e2955479df4a7ed5ccb367a677ba44384d6e22e71c48c33038aef...转载 2018-12-25 23:44:12 · 251 阅读 · 0 评论 -
系统目录功能,cat, 软硬连接, wc,ln,chown, chgro, find, xargs, ps, grep, tail ,stat, file,head, grep,桥接模式和NAT
查看当前系统支持的shell种类cat /etc/shells运行结果:系统目录功能bin——可执行文件 boot——启动相关的文件 dev——设备,硬盘 home——主目录,每个用户的目录都在这里 opt——可选目录,自己的软件安装在这里 sbin——系统的二进制可执行文件 usr——自己安装的软件,一般存在这里 etc——配置文件 lib—...原创 2019-01-06 08:44:05 · 518 阅读 · 0 评论 -
Linux进程控制 2019.1.6(进程控制,单道程序和多道程序,进程的状态转化,MMU的作用,映射关系,进程控制块PCB,环境变量,fork函数,kill的各种信息,exec函数族)
进程相关的概念程序——编译好的二进制文件进程——运行着的程序站在程序员的角度——运行一系列指令的过程站在操作系统的角度——分配系统资源的基本单位区别程序占用磁盘,不占用系统资源 内存占用系统资源 一个程序对应多个进程,一个进程对应一个程序 程序没有生命周期,进程有生命周期单道程序和多道程序多道——宏观上并行,微观上串行。进程...原创 2019-01-06 22:25:16 · 632 阅读 · 0 评论 -
linux基础梳理2019.01.22(makefile)
makefile makefile的三要素:目标 依赖——可以不写 规则命令——可以不写 写法:目标:依赖tab键规则命令 例子:利用main.c文件调用其余文件中的函数。实现样例: makefile的弊端:如果更改其中一个文件,所有的源码都要重新编译。解决方案:编译过程分解。先生成 .o 文件,使用 .o 文件来得到成果。...原创 2019-01-23 01:49:19 · 197 阅读 · 0 评论 -
linux 多线程同步 2019.1.9(互斥量的使用,死锁,读写锁,条件变量,信号量,文件锁)
学习目标 互斥量的使用 lock和unlock的使用例子 通过互斥量,两个线程交替打印#include <stdio.h>#include <unistd.h>#include <pthread.h>#include <stdlib.h>//常量初始化锁——mutex(这样就不用init函数...原创 2019-01-09 14:46:35 · 552 阅读 · 0 评论 -
linux基础梳理 2019.1.19(环境变量,scp,vim各种操作,gcc,静态库,动态库)
环境变量echo $PATH 因此在执行shell命令时,会默认的在环境变量指定的目录下找有没有相应的可执行文件 printenv——查看全局的环境变量有哪些 set——查看当前local的环境变量 设置环境变量直接设置,只在当前shell层可用,子shell中查不到设置的环境变量。如果想设置在子shell中也能查到的环境变量,就要用到expo...原创 2019-01-19 21:53:29 · 472 阅读 · 0 评论 -
linux 网络编程 2019.2.1(广播,网关,组播,本地套接字通信,心跳包,epoll反应堆)
广播和组播只在UDP里面有 广播——只适用于局域网 服务端通过广播地址向固定端口发送数据,在局域网内的每个客户端都会收到信息。注意:即使客户端不绑定9898端口,也能收到服务端发来的信息,只不过没有写接收数据的客户端程序,所以获得的数据就被当成垃圾数据处理掉了。除非你把网线拔了,不然都会收到数据。 广播地址xxx.xxx.xxx.255比如当前网段是123网...原创 2019-02-01 19:57:57 · 1054 阅读 · 0 评论 -
linux守护进程/线程 2019.1.8(进程组,会话,守护进程,nohup,线程)
进程组也称之为作业。进程组ID等于第一个进程ID,因此可以通过进程ID是否等于进程组ID来判断该进程是不是进程组的组长。只要进程组中有一个进程存在,进程组就存在,哪怕组长已经没了。一个进程可以为自己或子进程设置进程组ID。 会话由多个进程组组成。创建会话要注意以下5点: 守护进程 daemon守护进程常常以“d”结尾 创建守护...原创 2019-01-08 23:59:26 · 463 阅读 · 0 评论 -
linux基础梳理2019.01.31(虚拟地址空间,进程打开的最大文件数量,linux系统文件存储的基本原理,stat,access,truncate,link,symlink,readlink)
目录1. 掌握stat/lstat函数的使用2. 了解文件属性相关的函数使用3. 了解目录操作相关的函数的使用4. 掌握目录遍历相关函数的使用5. 掌握dup、dup2函数的使用6. 掌握fcntl函数的使用 虚拟地址空间 进程打开的最大文件数量#include <stdio.h>#include <unistd.h...原创 2019-01-24 01:05:06 · 393 阅读 · 0 评论 -
linux基础梳理 2019.1.23(文件IO)
文件IO 系统api与库函数的关系 当我们执行printf("hello\n");的时候,都发生了什么? stdout里面有什么内容?fd,文件描述符,表示指向哪一个文件 f_pos位置 buffer缓冲区,默认是8k。缓冲区是为了减少IO操作。 观察下面的代码#include <stdio.h>#include<fcntl....原创 2019-01-23 21:04:36 · 232 阅读 · 0 评论 -
linux 网络编程 2019.1.13 (epoll,epoll的三种触发方式,UDP通信,tcp和udp的使用场景)
学习目标了解poll操作函数 熟练使用epoll多路IO模型 了解epoll ET/LT触发模式 说出UDP的通信流程 一些零散的操作 gdb设置参数 vim中查找某个词 段错误出现的原因你访问了不改访问的内存 你访问的内存,你没权限 你操作的内存根本就不存在 epoll 三个函数 1、该函数生成一个e...原创 2019-01-14 00:09:44 · 2856 阅读 · 0 评论 -
Linux 信号 2019.1.8(信号的实现机制,信号状态,阻塞信号集和未决信号集,raise,abort,alarm,setitimer,信号捕捉,利用SIGCHLD回收子进程)
学习目标 推荐使用sigaction,因为不同平台是signal可能不一样 信号的特点简单,不能携带大量信息,满足特定条件才会发生。信号也叫软中断,有可能会有延迟。 信号的实现机制信号实际上是由内核发送,内核来处理收到的信号。收到信号的进程,必须对信号做出处理(忽略,捕获,默认动作都行) 产生信号 信号状态产生 递达——信号到达并且处理...原创 2019-01-08 12:55:24 · 554 阅读 · 0 评论 -
Linux 进程通信 2019.1.7(pipe,fifo,mmap,匿名映射)
ipc(进程间通信)的概念interprocess communication:进程间通信——Linux通过内核给你提供了一块缓冲区,使得进程实现通信。IPC通信的方式pipe 管道——最简单 fifo 有名管道 mmap 文件映射共享IO——速度最快(原理:在内存开辟一片缓冲区,把文件映射到内存上,你直接去操作内存就可以了) 本地socket 最稳定 信号 携带信息量最...原创 2019-01-07 16:58:57 · 467 阅读 · 0 评论 -
linux积累
1、运行Python文件,将文件的输出赋值给一个变量read -r lines_in_json <<<$(python count_the_lines_in_json.py)原创 2018-08-06 09:41:52 · 210 阅读 · 0 评论