Linux
文章平均质量分 57
Aberlj
这个作者很懒,什么都没留下…
展开
-
倒引号(``) $() eval
evaleval会对后面的命令进行两次扫描,如此命令是普通命令则执行,若含有间接命令,扫描命令行进行所有的置换,然后再执行该命令下面是eval的三个例子;1,有一个名为mycat 的文件,其内容是hello ! my small baby ,定义一个内容是”cat mycat“的字符串变量x,echo $x 结果只是x所引用的字符串, eval $x,第一步先将$x置换原创 2017-06-27 16:07:42 · 497 阅读 · 0 评论 -
子进程异步等待方式
#include#include#include#includevoid catchsig(int sig){ int i=0; do { pid_t ret=waitpid(-1,NULL,WNOHANG); if(ret>0) { printf("proccess %d,catch a signal%d\n",getpid(),原创 2017-06-13 16:45:59 · 355 阅读 · 0 评论 -
sed与awk
sed命令sed是一种流式编辑器,自动编辑一个或者多个文件,简化对文件的反复操作,是文本处理中非常重要的工具,一般和正则表达式配合使用,处理时,把当前处理的行存储到行缓冲区中,称为“模式空间”,接着sed命令处理模式空间的内容并将其结果打印到屏幕,继续处理下一行不断重复,直到文件末尾,文件的内容并不改变,除非使用重定向存储输出命令格式sed [option] 'comm原创 2017-07-01 17:31:22 · 394 阅读 · 0 评论 -
正则表达式
1. 什么是正则表达式 2. 有什么特点 3. 使用实例 4. 标准正则和扩展正则区别 5. grep 选项和正则表达式结合实例 一正则表达式用来检索·替换那些符合某个模式(规则)的文本。二。特点1 灵活性。逻辑性和功能性非常强2可以迅速用极简的方式达到字符串的复杂控制三实例(Extend规范)qq 邮箱:cat file | grep -E原创 2017-06-30 15:26:07 · 305 阅读 · 0 评论 -
生产者与消费者
基于链表队列的单个个生产者与消费者模型:#include#include#includestatic pthread_mutex_t lock=PTHREAD_MUTEX_INITIALIZER;static pthread_cond_t cond=PTHREAD_COND_INITIALIZER;typedef struct node{ int data; struct原创 2017-06-10 21:10:43 · 274 阅读 · 0 评论 -
NAT技术与代理服务器
1. 是什么? 2. 各自原理 3. 常见代理服务器有哪些,各自有什么特点NAT在专用网路的内部的一些主机本来已经分配到了本地IP地址(只在本专用局域网中有效),但是现在又想和因特网上的主机实现通信;那么需要采取什么措施呢;网络地址转换技术NAT可以实现,NAT技术就是在主机与因特网之间安装NAT路由器(有NAT软件的路由器),每台NAT路由器至少含有一个外部全球IP地原创 2017-06-20 19:51:26 · 315 阅读 · 0 评论 -
TCP定时器
1. 常见的定时器都有哪一些? 2. 各自的特点以及应用场景 1. 为什么要三次握手 2. 为什么要四次挥手 3. 主动断开链接的一方为什么要进入TIME_WAIT状态 超时计时器;只要超过一段时间仍然没有收到确认,就认为刚才发送的分组丢失了,因而重传前面发送过的分组,这就叫做超时重传,要实现超时重传则需要在每发送完一个分组之后设置超时计时器,若在超时计时器到期原创 2017-06-19 20:42:34 · 299 阅读 · 0 评论 -
端口的分类/URG&PSH
问题:1. 一共又多少有效端口? 2. 端口是如何分类的? 3. 网络服务中常用那些端口,各自的端口号是多少?简述端口:端口号是用来标识目的主机当中的唯一网络进程,因此IP地址+端口号=》套接字;套接字可以确定唯一的一个进程。Tcp/Ip协议中引入一种叫做“套接字”的应用程序软件,有了这样一种技术,一台电脑就可以与任意一台具有套接字的电脑通信。端口的分类原创 2017-06-19 15:30:21 · 517 阅读 · 0 评论 -
CRC校验
CRC校验是什么:比特在传输过程中可能会出现差错,为了保证数据传输过程中的可靠性,目前在数据链路层广泛使用循环冗余检验(CRC)的检错技术;原理:在发送端,先把数据分为组,假定每组K个比特,假定传输的数据是M=101001(k=6),CRC就是在数据M的后面添加供差错检错的n位冗余码,构成一个帧发送出去。在接收端把接收到的数据以帧为单位进行CRC校验,吧收到的每一个帧都除以相同的除数,原创 2017-06-18 20:58:37 · 637 阅读 · 0 评论 -
消息队列
XSIPC(消息队列,信号,和共享内存)消息队列提供一种从一个进程向另一进程发送数据块的方法;每个数据块都有自己的类型,与管道不同的的是,消息队列是基于消息的,而管道是基于字节流的;//comm.h#ifndef _COMM_H_#define _COMM_H#include#include#include#include#include#define PATHNAME原创 2017-06-07 10:25:50 · 269 阅读 · 0 评论 -
管道
对于普通管道分为四种情况;1)读端关闭,则写端自动关闭;2)写端关闭,则读端先读完缓冲区内容再关闭;3)读端快,写端慢,读端等待写端二者保持同步;4)读端慢,写端快,将缓冲区写满后停下来;下面代码是匿名管道代码;#include#include#include#includeint main(){int pipefd[2];int p=p原创 2017-06-07 10:19:55 · 343 阅读 · 0 评论 -
进程组,作业,会话
一,概念解析1,进程组:进程组是一个或多个进程的组合,他们与同一作业相关联,可以接收来自同一终端的各种信号,每个进程除了有pid 还有pgid,;每个进程组都有唯一的进程组id,也是组长进程的pid;组长进程可以创建一个进程组,创建完该组中的进程,然后终止,一个进程组中只有还有一个进程,则该进程组就存在,与组长进程是否存在无关,2,作业:shell控制的不是进程而是作业,shell可以运行原创 2017-06-18 19:53:40 · 479 阅读 · 0 评论 -
文件描述符与缓冲区
文件指针指向进程用户区的一个叫做FILE结构体的东西,下面来看FILE结构体中都有哪些内容;FILE结构体中最重要的是文件描述符与缓存,先说文件描述符,一个进程打开或者创建一个新文件文件的时候返回该文件的文件描述符,当后读写文件时将文件描述符作为参数,文件描述符是一个非负的索引值,指向内核中每个进程文件的记录表,所有对设备和文件的操作都通过文件描述符来完成。files_struct结构体中fd原创 2017-05-07 18:01:44 · 1991 阅读 · 0 评论 -
僵尸进程与孤儿进程
一,概念僵尸进程:如果一个进程通过fork()创建子了一个进程,当子进程退出而父进程还没有调用wait/waitpid来保存子进程的状态且回收它,此时子进程的状态描述信息仍然保留在系统中,称这类进程为僵尸进程;;僵尸进程的优点是方便上层进程得知子进程的退出状态,但是如果不及时回收会造成内存泄露;孤儿进程:当一个父进程已经推出,而他的一个或多个子进程还在运行,则称这些子进程为孤儿进程,孤儿进原创 2017-04-14 19:13:36 · 380 阅读 · 0 评论 -
PCB描述信息
task_struct内容1,标识符内核用来识别不同进程,用户程序通过进程pid发送命令,新创建的进程的pid比前一个进程多1,最大进程号是32767;2,进程状态:1>运行时状态:分为两种,正在运行和等待运行,都位于运行队列中。current所指向的就是正在运行的进程,cpu是这些进程唯一等待的资源。(task_running)2>等待状态:位于等待队原创 2017-04-12 17:15:27 · 720 阅读 · 0 评论 -
Cut/Sort/Uniq
cut-c:按字符截取;(n,-n,n-,n-m ,(n,m,v) ) -b:按字符截取,用法和-c类似;[lianjiao@localhost 7_3_sed]$ echo "abcd1234" | cut -c 2b[lianjiao@localhost 7_3_sed]$ echo "abcd1234" | cut -c -2ab[lianjiao@localhost 7_3_sed原创 2017-07-04 17:22:58 · 420 阅读 · 0 评论