![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 80
kerongw
这个作者很懒,什么都没留下…
展开
-
Linux正则语法
1、正则表达式基本正则表达式元字符集合及含义符号含义*匹配0个或多个*之前的那个普通字符.匹配任意一个字符^匹配行首,当放在[]中表示取反$匹配行尾巴[]匹配集合中的任意一个字符\转义符,屏蔽一个元字符的特殊含义\<\>精确匹配某个符号\{n\}匹配前面字符出现n次\{n,\}匹配前面字符至少出现n次\{n,m\}匹配前面字符出现n~m次示例*号:用于匹配前面一个普通字符0次或多次重复原创 2021-07-26 21:45:01 · 368 阅读 · 0 评论 -
grep\sed的简单用法
1、grepgrep是一个强大的文本搜索工具(1)用法grep [选项] [文件]常用选项及含义选项含义-c只输出匹配行的数量-i搜索时忽略大小写-h查询多文件时不显示文件名-n列出所匹配行,并显示行号-w匹配整词-x匹配整行-r递归搜索-E支持扩展的正则表达式-F不支持正则,按照字符串字面意义进行匹配(2)示例[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W26lBOB原创 2021-07-26 21:41:28 · 1257 阅读 · 0 评论 -
线程同步与互斥———条件变量、信号量
title: 线程同步与互斥———条件变量、信号量date: 2019-08-29 15:59:47tags: Linuxcategories: Linux 在上一条博客中讲了互斥量的操作,即当两个线程访问同一临界资源时通过加锁解锁的方式让他们同时只允许一个访问者对其进行访问。但是这种方式存在一定不足,就是他们只有两种状态锁定和非锁定。而条件变量可以通过允许线程阻塞和等待另一个线程发送信号来弥补互斥锁的不足,所以互斥锁和条件变量通常一起使用。.原创 2021-07-04 13:03:38 · 228 阅读 · 1 评论 -
线程(二)————线程同步与互斥
title: 线程(二)————线程同步与互斥date: 2019-08-11 16:08:18tags: [Linux,线程]categories: Linux文章目录title: 线程(二)————线程同步与互斥date: 2019-08-11 16:08:18tags: [Linux,线程]categories: Linux1、线程的同步与互斥2、互斥锁(也称互斥量)3、初始化(创建)锁4、加锁5、解锁6、销毁锁7、死锁8、原子操作9、读写锁1、线程的同步与互斥 &n.原创 2021-07-04 13:03:17 · 259 阅读 · 1 评论 -
线程(一) ————线程基础
title: 线程(一) ————线程基础date: 2019-08-11 08:40:05tags: [Linux,线程]categories: Linux一、线程的基本概念1、什么是线程 线程本质是 轻量级的进程 ,对于cpu 来讲线程和进程同等级 进程是系统中程序执行和资源分配的基本单位。每个进程有自己的数据段、代码段和堆栈段。这就造成进程在进行切换等操作时都需要上下文切.原创 2021-07-04 13:03:00 · 116 阅读 · 1 评论 -
Linux下获取标准时间
title: Linux下获取标准时间date: 2019-08-04 10:50:19tags: Linuxcategories: Linux从一个标准时间点到此时的时间经过的秒数来表示的时间。这个标准时间点对不同的系统会有所不同,在Linux系统中,时间是从1970年1月1日00:00:00这个时间点起算的。1、获取从标准时间点到现在经过的秒数函数原型time_t time(time_t *t);头文件#inlcude <time.h>功能计算从.原创 2021-07-04 10:36:33 · 438 阅读 · 1 评论 -
信号的捕捉及使用
title: 信号的捕捉及使用date: 2019-08-05 09:01:44tags: Linuxcategories: Linux 1、信号的安装 如果进程要处理某一信号,那么就要在进程中安装该信号。安装信号作用是确定进程针对该信号值的动作之间的映射关系,即进程将要处理哪个信号;该信号被传递给进程时,将执行何种操作。2、信号的捕捉函数原型#include <s.原创 2021-07-03 17:07:42 · 589 阅读 · 1 评论 -
信号基础介绍
title: 信号基础介绍date: 2019-08-04 15:29:47tags: Linuxcategories: Linux1、信号的本质 软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。 在软件层次上是对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是进程间通信机制中唯一的异步通信机制,一个进程不必通过任何.原创 2021-07-03 17:04:37 · 745 阅读 · 0 评论 -
进程间的通信——管道、内存映射
title: 进程间的通信—管道、内存映射date: 2019-08-07 08:41:50tags: [Linux,进程]categories: Linux1、进程间的通信方式 Linux 进程间通信方式主要有下面 6 种:管道:(无名管道) 管道有亲缘关系进程间的通信,有名管道还允许无亲缘关系进程间通信。信号 signal:在软件层模拟中断机制,通知进程某事发生消息队列:消息的链表包括 posix 消息队列和 Sys.原创 2021-07-03 17:02:20 · 272 阅读 · 1 评论 -
Linux-守护进程
title: 守护进程date: 2019-08-09 10:00:49tags: [Linux,进程]categories: Linux守护进程 Daemon运行在后台也称作“后台服务进程”。 它是没有控制终端与之相连的进程。它独立与控制终端、通常周期的执行某种任务。那么为什么守护进程要脱离终端后台运行呢?守护进程脱离终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的任何终端信息所打断。那么为什么要引入.原创 2021-07-03 16:52:33 · 795 阅读 · 0 评论 -
进程间的通信————共享内存、消息队列
title: 进程间的通信————共享内存、消息队列date: 2019-08-08 12:03:23tags: [Linux,进程]categories: Linux1、共享内存 共享内存是进程间通信(IPC)的一种。因为进程在使用共享内存时,可以直接读写内存,不需要任何数据拷贝,所以它的效率是最高的。关于共享内存是内核专门留出来的一块内存,这段内存可以让访问的进程映射到自己的私有地址空间,从而可以操作共享内存。 共享内存可以让不同的进.原创 2021-07-03 16:48:06 · 486 阅读 · 0 评论 -
Linux进程
title: 进程date: 2019-08-02 09:04:14tags: [进程,Linux]categories: Linux进程相关命令解释ps –aux列出所有进程ps -ef列出所有进程kill发送一个特定的信号 (signal) 给 pid 的进程根据该信号而做特定的动作,若没有指定,预设是送出终止 (TERM) 的信号kill -9 pid杀死pid号的进程env查看环境变量1、进程的概述 &nb.原创 2021-07-03 16:41:21 · 2618 阅读 · 1 评论 -
Linux文件系统
title: Linux文件系统date: 2019-07-09 12:56:40tags: Linuxcategories: Linux 文件系统是一种组织计算机文件和资料的方法、操作系统中封装的系统服务程序,实际上是一个软件程序,用来存储和管理计算机文件和资料 在正式看Linux文件系统之前,我们先了解一下常见的文件系统的分类磁盘文件系统NTFS、EXT3.原创 2021-07-03 16:34:11 · 101 阅读 · 0 评论 -
TCP/IP协议分析及Linux下的编程
title: TCP/IP协议分析及Linux下的编程date: 2019-07-22 18:34:41tags: [Linux,TCP/IP]categories: 通信协议一、TCP/IP体系结构 tcp/ip是一个四层的体系结构,包含应用层、运输层、网络层和网络接口层。四层结构及相应协议如下层次相关协议应用层HTTP(超文本传输协议)、FTP(文本传输协议)TELNET(远程登录)、SSH(安全外壳协议)、S.原创 2021-07-03 16:25:32 · 363 阅读 · 0 评论 -
Linux下文件IO操作
title: Linux下IO操作date: 2019-07-16 15:08:55tags: Linuxcategories: Linux 在linux下一切皆文件,我们要想操作硬件即是对文件的操作。对文件的操作方法有即读写操作,在这里介绍标准IO的操作主要针对对象为普通文件。标准IO本质是一个标准库,其实现还是建立在系统调用的基础之上,对用户提供统一的接口,标准IO库在不同系统上调用各自系统的系统调用,而对用户的接口不变,这样,用户层编写.原创 2021-07-03 10:52:32 · 857 阅读 · 0 评论 -
gcc/gdb/make/动/静态链接库介绍
gcc是一个编译工具,我们平时写的c/c++代码要想变成可执行文件,必须要经过预处理、编译、汇编、连接等步骤。gcc工具就完成这些动作。一gcc编译过程二、gcc常用参数1.编译过程常用参数参数解释-c只编译不连接,生成目标文件.o-S只编译不汇编,编译后停止-E只预处理-g包含调试信息的编译-o file指定输出文件。无论是预处理、编译、汇编、链接都可以使用.-I[dir]原创 2021-07-03 10:33:18 · 268 阅读 · 0 评论 -
正则表达式
1、正则表达式基本正则表达式元字符集合及含义符号含义*匹配0个或多个*之前的那个普通字符.匹配任意一个字符^匹配行首,当放在[]中表示取反$匹配行尾巴[]匹配集合中的任意一个字符\转义符,屏蔽一个元字符的特殊含义\<\>精确匹配某个符号\{n\}匹配前面字符出现n次\{n,\}匹配前面字符至少出现n次\{n,m\}匹配前面字符出现n~m次示例*号:用于匹配前面一个普通字符0次或多次重复原创 2021-06-23 22:21:35 · 226 阅读 · 0 评论 -
shell中的case语句与函数
1、选择分支case语句和其他编程语言不一样的是,shell的选择分支语句为case in语法:case $var in pattern1) command ;; #;;相当于break pattern2) command ;; pattern3) command ;; *) #default,不满足以上分支情况,默认执行*)下的语句 command ;;esac案例:#!/bin/bashprintf "In原创 2021-06-15 23:06:20 · 1295 阅读 · 0 评论 -
shell中的while/until/select-in循环
1、while循环特点:条件为真循环,条件为假退出循环语法:while [ 表达式 ]do commanddone示例:i=0while [ $i -le 10 ]do echo $i ((i+=2))done____________________________________输出0246810示例:i=0j=1while (( i++ < 9 ))do j=$i while [ $j -le 9 ] d原创 2021-06-14 15:38:24 · 178 阅读 · 0 评论 -
test--------
<p style="position: relative; margin: 30px 0 0; border: 1px solid #ae0006; border-radius: 5px; color: #ae0006; padding: 20px 10px;"><span style="position:absolute; left: 50px;top: -12px; background: #ae0006; color: #fff; padding: 2px 10px;">注意:原创 2021-06-09 23:36:36 · 90 阅读 · 0 评论 -
shell中字符串的处理
1、单引号、双引号、无引号字符串的区别方式区别单引号 'string'任何字符都会原样输出,其中的变量无效字符串中不能出现单引号,即使对单引号转义也不行双引号 "string"如果字符串中包含变量,该变量会被解析(得到变量的值),而不是原样输出字符串中可以出现双引号,只要它被正确转义无引号 string不被引号包围的字符串中出现变量也会被解析,这一点和双引号包围的字符串一样字符串中不能出现空格,否则空格后面的字符串会被其他命令或解析2、获取字符串的长度用法:原创 2021-06-09 23:30:15 · 2889 阅读 · 0 评论 -
shell中的特殊变量及for循环
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-06-07 22:10:48 · 3528 阅读 · 0 评论 -
shell比较运算与if逻辑判断
1、shell比较运算(1)数学比较运算(只能比较整数,小数请放大)在shell中没有>、<、>=等操作符,想要表示上述关系需要用到以下运算符-eq 等于-gt 大于-lt 小于-ge 大于等于-le 小于等于-ne 不等于在shell中,0表示为真,非0值为假,和C语言中相反下面使用test指令来示例说明:[root@localhost ~]# test 1 -eq 1; echo $? #test指令用于测试一个表达式的真假,通过返回值返回,$?查看原创 2021-05-29 20:12:38 · 2495 阅读 · 0 评论 -
shell中的数学运算
一、shell中支持的算术算术运算符说明/含义+、-加法(或正号)、减法(或负号)*、/、%乘法、除法、取余(取模)**幂运算++、–自增和自减,可以放在变量的前面也可以放在变量的后面!、&&、||逻辑非(取反)、逻辑与(and)、逻辑或(or)<、<=、>、>=比较符号(小于、小于等于、大于、大于等于)==、!=、=比较符号(相等、不相等;对于字符串,= 也可以表示相当于)<<原创 2021-05-23 20:24:37 · 3777 阅读 · 0 评论 -
shell数组、关联数组
文章目录1、基本数组(1)数组的定义(3)获取数组元素(4)统计数组元素的个数(5)获取数组元素的索引(6)获取数组下标从n开始的所有元素(7)从数组下标n开始,获取m个元素2、关联数组(1)关联数组的声明(2)关联数组赋值(3)访问关联数组元素(4)获取关联数组元素的个数数组中可以存放多个值。bash shell只支持一维数组,初始化无序定义数组大小。数组元素下标由0开始。1、基本数组(1)数组的定义在shell中,使用括号()来表示数组,数组元素之间用空格来分割方法1:数组名称=(元素1 元原创 2021-04-04 17:10:31 · 2429 阅读 · 0 评论 -
shell输入输出与变量
文章目录1 、shell格式化输出(1)echo命令(2)带颜色输出2、shell基本输入(1)read命令3、shell变量(1)变量分类(2)变量定义/读取(3)取消变量unset(4)定义全局变量export(5)定义永久变量1 、shell格式化输出(1)echo命令功能:将内容输出到默认显示设备上。输出的字符串间以空白字符间隔,并在最后加上换行符语法:echo [-ne][字符串]命令选项:-n 不要在最后自动换行-e若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出原创 2021-03-23 22:27:24 · 5527 阅读 · 1 评论 -
shell-简介、特殊符、管道、重定向、数学运算
1、什么是shell脚本shell脚本就是将完成一个任务的所有的命令按照执行的先后顺序,自上而下写入到一个文本文件中,然后给予执行权限。2、书写一个shell脚本shell脚本的命名:名字要有意义,方便后续知道该脚本的作用。在Linux下文件没有扩展名的概念,但是依然建议你用.sh结尾;名字不要太长,最好能在30个字节以内解决。例如:check_memory.shshell脚本格式:shell脚本开头必须指定脚本运行环境 ,以 #! 这个特殊符号组合来组成。如: #!/bin/bash 指定该原创 2021-03-21 14:55:00 · 519 阅读 · 0 评论 -
信号的屏蔽和安装
一、关于信号的介绍参见信号的的介绍二、信号的屏蔽和捕捉忽略除SIGKILL和SIGDTOP信号外。其他的信号都可以被屏蔽或者忽略。信号忽略:系统仍然传递该信号,只是相应的进程对该信号不做任何处理。信号的屏蔽:该进程对该信号不捕获,而是让该信号处于未决状态。只有当进程的信号集发生改变后,不再屏蔽该信号,才捕获信号。信号的屏蔽只是待信号发生后,让信号处于未决状态,将信号处理进行延后(延至解除屏蔽)再处理,信号的忽略表示自己捕获到该信号,在信号处理函数中什么为也不干直接忽略1、信号的捕获参见信原创 2021-01-30 20:12:22 · 454 阅读 · 0 评论 -
epoll多路IO复用、高并发模型
/* * @Author: kerwang * @Date: 2021-01-17 19:44:33 * @LastEditTime: 2021-01-18 20:43:11 * @LastEditors: Please set LastEditors * @Description: 多路IO复用,SOCKET并发服务器设计,epoll实现 * @FilePath: /vscodespace/home/wang/socket/epoll.c */#include <stdio.h>原创 2021-01-18 20:48:15 · 219 阅读 · 0 评论