自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

转载 Linux中shell文件操作大全

1.创建文件夹#!/bin/shmkdir -m 777 "%%1"2.创建文件#!/bin/shtouch "%%1"3.删除文件#!/bin/shrm -if "%%1"4.删除文件夹#!/bin/shrm -rf "%%1"5.删除一个目录下所有的文件夹#!/bin/bashdirec="%%1" #$(pwd)fo

2017-06-30 16:54:41 254

原创 Linux 下用脚shell脚本实现进度条的编写

一、进度条实现的代码块 1 #!/bin/bash 2 3 i=0 4 bar='' 5 lable=('|' '/' '-' '\\') 6 index=0 7 while [ $i -le 100 ] 8 do 9 printf "[%-100s][%d%%][%c] \r" "$bar" "$i" "${lable[$index]}"

2017-06-30 16:39:24 447

原创 Linux 下的 eval

一、eval command-line其中command-line:表示在终端上输入的一条普通的命令行。然而当在他的前面加上 eval 时,eval会对后面的comLine进行两遍扫描,如果在第一遍扫描后comLine是一个普通命令,则执行此命令,如果comdLine中含有变量的间接引用,则需保证间接引用的语义如://eg1:shell脚本pipe="|"eval ls -al $pipe w

2017-06-27 17:10:35 795

原创 Linux脚本下倒引号(`)与$()

一、倒引号(`)在Linux的作用倒引号(`)在Linux中就是将倒引号内的Linux命令先执行,然后将执行结果赋予变量。二、$()的作用$()和 ` `:在 bash shell 中,$( ) 与` ` (倒引号) 都是用来做命令替换用(commandsubstitution)的。例如 version=$(uname -r)和version=uname -r都可以是version得到内核的版本

2017-06-26 22:56:29 2066

原创 TCP服务器的单进程实现

一、tcp_server(TCP服务器)//tcp_server.c代码 1 #include<stdio.h> 2 #include<sys/types.h> 3 #include<sys/socket.h> 4 #include<string.h> 5 #inc

2017-06-25 16:39:45 642

转载 TCP/IP协议

TCP协议[传输控制协议]开放分类:互联网通信技术 TCP(Transmission Control Protocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。在因特网协议族中,TCP层是位于IP层之上,应用层之下的中间层。

2017-06-25 12:44:48 580

原创 进程间通信之--命名管道

命名管道(FIFO)1、 什么是命名管道?命名管道也被称为FIFO文件,它是一种特殊类型的文件,它在文件系统中以文件名的形式存在,但是它的行为却和之前所讲的没有名字的管道(匿名管道)类似。 2 、创建命名管道我们可以使用两下函数之一来创建一个命名管道,他们的原型如下:#include <sys/types.h> #include <sys/stat.h> int mkfifo(const c

2017-06-24 18:11:36 235

原创 进程间通信之--匿名管道

一、为什么进程间通信需要管道两个进程之间的通信,每个进程各有不同的地址空间,每个地址空间的数据信息是独立的,任何一个进程的全局变量在另一个进程中都看不到。例如:父进程中有一个变量 a = 0;在子进程中改变 a 的值是不会影响在父进程中的 a 的值,因为虽然子进程所有的数据信息都是拷贝(写时拷贝)自父进程,两个进程有各自不同的地址空间。 eg:代码验证: //mypipe.c 1 #includ

2017-06-24 17:58:29 317

原创 常见路由表生成算法调研

一、相关概念路由:(名词)数据包从源地址到目的地址所需要经过的路径,由一系列节点组成。路由(动词)某个路由节点为数据报选择投递方向的选路过程。 路由节点:一个具有路由功能的主机或者路由器,维护一张路由表,通过查询路由表来决定向那个节点发送数据包。路由表:由很多路由条目组成,每个条目都指明去往某个网络的数据包应该经由哪个接收和发送,其中最后一个是缺省路由条目。 路由条目:路由表中的每一行,每个条目主要

2017-06-22 22:02:20 480

原创 I/O多路转接之--select

一、select概括系统提供select函数来实现多路复用输入/输出模型。select系统调用是用来让我们的程序监视多个文件句柄的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态变化。关于文件句柄,就是一个整数,我们最熟悉的句柄就是 0、1、2三个,0 是标准输出,1 是标准输入,2 是标准错误输出。0、1、2是整数表示的,对应的FILE*结构的表示就是stdi

2017-06-22 20:02:15 371

原创 dup/dup2/dup3(输入文件描述符重定向)

一、dup 系列函数的功能对输入文件描述符重定向。 dup参数越多,功能越齐全,要求也越细。二、dup的基本结构 三、dup的代码实现Makefile文件: 1 dup : dup.c 2 gcc -o $@ $^ 3 .PHONY:clea

2017-06-21 21:51:34 1780

原创 socketpair(双向通信)--高级IO

一、五种IO模型1、 阻塞I/O(eg:钓鱼者(王一)只钓鱼,不和任何人说话,也不干任何其他的事)2、非阻塞I/O (eg:钓鱼者(王二)一边钓鱼,一边问王一到底钓了多少鱼,但是王一并没有回答他,但他还是会一边钓他的鱼一边重复的问王一)3、 信号驱动I/O(SIGIO)(eg:钓鱼者(王三)他在自己的鱼竿上绑了一个铃铛(相当于一个信号),然后去旁边看手机去了,当铃铛响后,它会把鱼钓上来)4、 I/O

2017-06-21 17:55:26 1255

原创 TCP的三次握手&&四次挥手

TCP段格式: TCP((Transmission Control Protocol)传输控制协议,是一个面向连接的协议。在运用此协议进行数据传输前都会进行连接的建立工作(三次握手);当数据传输完毕,连接的双方都会通知对方要释放此连接(四次挥手)。认识TCP标志位tcp标志位有6种标示:SYN(synchronous建立联机)ACK(acknowledgement 确认)PSH(push传送

2017-06-19 23:27:37 257

原创 TCP的四种定时器

TCP的四种定时器TCP在建立连接后会启动四个定时器:重传计时器:Retransmission Timer 坚持计时器:Persistent Timer 保活计时器:Keeplive Timer 时间等待计时器:Time_Wait Timer1、重传计时器为了控制丢失的报文段或丢弃的报文段,也就是对报文段确认的等待时间。当TCP发送报文段时,就创建这个特定报文段的重传计时器,可能发生两种情况

2017-06-19 21:51:14 863

原创 TCP首部的URG和PSH

1、URG推送位紧急数据的起始点=序号; 紧急数据的终止点=序号+紧急指针;(综上,(URG)紧急指针就是记录紧急数据的字节数,紧急指针永远为正数)1)在紧急数据后面的数据为普通数据,需要按序缓存 2)窗口为0也可以发送紧急数据 3)紧急数据都处理完成后,tcp就告诉进程恢复到正常操作 例如,已经发送了很长的一个程序要在远地的主机上运行。但后来发现了一些问题,需要取消程序的运行。因此用户从键

2017-06-19 17:43:44 378

原创 端口号

一、常用端口及其分类电脑在Internet上相互通信需要使用TCP/IP协议,根据TCP/IP协议规定,电脑有256×256(65536)个端口,这些端口可分为TCP端口和UDP端口两种。如果按照端口号划分,它们又可以分为以下两大类: 1. 统保留端口(从0到1023) 这些端口不允许你使用,它们都有确切的定义,对应着因特网上常见的一些服务,每一个打开的此类端口,都代表一个系统服务,例如80端口

2017-06-19 17:18:43 641

原创 arp协议与rarp协议

说起arp,那么什么是arp呢?arp协议是什么呢?以及如果编写arp脚本抓取对应主机mac地址?这都是我以下需要讲的:1.什么是ARP协议ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。 但这个目标

2017-06-19 16:56:56 5047

原创 CRC校验

这个词语在操作系统&&组成原理一、CRC基本认识1、CRC的概念:循环校验码(CRC码):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。2、生成CRC码的基本原理:任意一个由二进制位串组成的代码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应。例如:代码1010111对应的多项式为x6+x4+x2+x+1,而多项式为x5+x3+x2+x+1对应的代码10

2017-06-18 20:55:25 929

原创 NAT技术与代理服务器调研

一、首先看看什么是NAT技术以及什么时候会涉及到它?1、所谓NAT技术就是网络地址转换。 2、那么它用在什么地方呢? 在专用网内部的一些主机本来已经分配到了本地IP地址,但是现在又想和因特网上的主机通信。那么应当采用什么措施呢? 最简单的办法就是设法再申请一些全球IP地址,但这在很多情况下是行不同的,因为全球的IPv4的地址已经所剩不多了,目前使用最多的方法就是采用网络地址转换。但是这种

2017-06-18 20:28:01 280

原创 进程组、作业、会话

一、进程组二、作业三、会话四、进程组与作业的区别如果作业内部某个进程有创建了子进程,则该子进程属于进程组,不属于作业。父进程退出作业也退出五、相关命令ps axj | grep -E ‘test|sleep’//显示会话/作业型如: [1] PID //1代表作业号 PID:是最后一个进程号jobs :查看作业fg 4 或%4: 把4号作业提到前台bg 2 :使2号作业在后台运行c

2017-06-14 17:44:06 249

原创 守护进程的模拟实现(daemon)

一、什么是守护进程守护进程也称为精灵进程(Daemon),是运行在后台的一种特殊进程。他独立与控制终端并且周期性的执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。 Linux的大多数服务器就是用守护进程实现的 比如:Internet服务器 inetd,Web服务器httpd等同时守护进程完成许多系统任务。比如:作业规划进程crond等。 Linux系统启动时会启动很多系统服务进

2017-06-14 17:16:18 519

原创 父进程等待子进程的异步版本

代码块 #include<stdio.h> 2 #include<stdlib.h> 3 #include<unistd.h> 4 #include<sys/types.h> 5 #include<sys/wait.h> 6 #include<signal.h>

2017-06-13 18:30:06 298

原创 验证子进程退出时会给父进程发送信号的机制

一、简单版本代码块 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<unistd.h> 4 #include<sys/types.h> 5 #include<sys/wait.h> 6 #include<signal.h> 7 void catchSig(int sig) 8 { 9 printf("get

2017-06-13 17:42:10 1764

原创 gdb调试多进程、多线程

一、gdb的初步认识介绍: gdb是Linux操作系统下的代码调试工具使用: 需要在源代码生成可执行文件后的时候加上-g选项 eg:(Makefile文件中在生成可执行文件的那句编译后面加上 -g)开始使用: gdb binFile(binFile代表可执行文件)退出: ctrl + d或 quit调试过程中常用得命令:“`list/l 行号:显示binFile源代码,接着上次的位置往下列

2017-06-12 18:00:24 705

原创 gdb调试常用命令

gdb调试过程中的常用命令: list/l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行。 list/l 函数名:列出某个函数的源代码。 r或run:运行程序。 s或step:进入函数调用 breaktrace(bt):查看各级函数调用及参数 info(i) locals:查看当前栈帧局部变量的值 info break :查看断点信

2017-06-12 17:56:46 510

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除