命令代换``和$()区别,eval命令

eval eval主要用在对参数的特殊处理上,一般的命令行,shell对参数只执行一遍。eval会对后面的参数进行两遍扫描,如果第一遍扫描,cmdline只是个普通参数,就直接执行命令。若cmdline的变量又间接引用,则扫描第二遍,执行间接引用的语义。而用echo $cmd时,只进行一次扫描。...

2017-07-12 16:42:15

阅读数 217

评论数 0

Select服务器

select#include<stdio.h> #include<stdlib.h> #include<sys/types.h> #include<sys/socket.h> #include<netinet/in.h> #include...

2017-07-11 16:52:02

阅读数 191

评论数 0

UDP_server

udp_client.c#include<stdio.h> #include<string.h> #include<sys/types.h> #include<sys/socket.h> #include<arpa/inet.h> #in...

2017-07-08 15:28:13

阅读数 169

评论数 0

基于TCP的客户服务器模式的三种通信

在以下的客户端/服务器程序实例中,TCP_server.c的作用是接受client请求,并与client进行简单的数据通信,整体为一个阻塞式的网络聊天工具。首先我们需要了解几个socket API: int socket(int domain, int type, int protocol); ...

2017-07-08 14:10:29

阅读数 1029

评论数 0

TCP协议 标记位&定时器&三次握手四次挥手

TCP段格式: 1、标记位 URG(紧急位) 紧急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。TCP的紧急方式是发送端向另一端发送紧急数据的一种方式。紧急指针指向包内数据段的某个字节(数据从第一字节到指针所指字节就是紧急数据,不进入接收缓冲就直接交给上层进程...

2017-07-03 10:29:17

阅读数 1123

评论数 0

网络端口的分类

网络通信的实质是两台主机上的进程进行通信,IP地址标识了互联网中的唯一一台主机,而端口号标识某台特定主机的特定进程,由此我们可以用 IP+端口号 来标识互联网中的唯一进程。 网络端口的分类TCP/IP中协议字段占2个字节16个比特位。即0-65535,端口号用来表示和区别网络中的不同应用程序。 (...

2017-07-02 11:01:55

阅读数 591

评论数 0

NAT技术与代理服务器调研

网络地址转换(NAT): 是一种方法,重新映射一个IP的地址空间通过修改到另一网络地址中的信息的互联网协议(IP)数据报分组报头,而他们在整个交通运输路由设备。内部私有网络地址(IP地址)翻译成合法网络IP地址的技术该技术最初用于为便于重新路由IP网络流量,而不会重编的每个主机的。它已成为在保护...

2017-06-29 16:19:11

阅读数 865

评论数 0

编写arp脚本抓取对应主机mac地址

ARP地址解析协议常用在局域网内实现IP地址到MAC地址转化。从而或得目的主机的硬件地址 每台主机都维护一个ARP缓存表。可以用arp -a命令查看 用arp脚本也可以查看缓存表,下面给出脚本代码及运行结果: i=1 3 proc_count=0 4 while [ $i -le 25...

2017-06-29 15:37:11

阅读数 1009

评论数 0

CRC循环冗余码

CRC即循环冗余校验码:是数据通信领域最常用的一种差错校验码,其特征是信息字段和校验字段长度可以任意选定。CRC的原理: 在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码也叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)...

2017-06-28 16:23:19

阅读数 1095

评论数 0

crond与crontab调研

crond :linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。 crontab:...

2017-06-28 15:25:03

阅读数 797

评论数 0

守护进程

守护进程所谓守护进程就是7*24小时一直运行在服务器端不受登录、注销影响。也称精灵进程。 守护进程自成组自成会话。 这里有一点需要说明,后台作业并非守护进程,后台进程是指会话内部的作业,当关闭会话时会话内部所有后台作业都会结束而守护进程自成会话,所以不受影响。 **创建**一个守护进程需要调用se...

2017-06-27 21:08:34

阅读数 563

评论数 0

哈希表线性探测&二次探测

在代码中实现了哈希表中任意类型都可以存放,即哈希函数要可扩展以及哈希表动态增容的功能。 贴上代码: #include #include using namespace std; template//特化 class _HashFun { public: size_t operato...

2017-06-09 11:00:36

阅读数 1314

评论数 0

线索化二叉树 前中后序线索化及前序中序遍历

#pragma once #include using namespace std; enum PointInfo{LINK,THREAD};//保存节点线索信息 template struct BinaryTreeNodeThd { T _data; BinaryTreeNodeT...

2017-05-07 16:57:32

阅读数 956

评论数 0

二叉树面试题

1、>> 二叉树的后续遍历非递归 void PostOrder_Nor()//后序遍历 非递归 { if(_pRoot == NULL) return; stack s; Node* pCur = _pRoot; Node* prev = NULL;//临时变...

2017-05-07 16:55:00

阅读数 868

评论数 2

二叉树基本操作及面试题

#include #include #include #include using namespace std; template struct BinaryTreeNode//给出二叉树节点的结构体 { BinaryTreeNode(const T& value) :_value...

2017-05-07 16:52:06

阅读数 894

评论数 2

文件描述符fd与文件指针FILE*的关系

文件指针是指向一个FILE的结构体,这个结构体里包括一个文件描述符(在Windows下也被称为文件句柄)和一个I/O缓冲区。文件描述符用于ANSI C标准的IO库调用中,用于标识文件。FILE中包含文件描述符元素,可以用fopen()直接获取指针fp,然后使用fp获得fp中所包含文件描述符fd的...

2017-04-27 13:56:11

阅读数 4259

评论数 1

C++实现稀疏矩阵的压缩存储

什么是稀疏矩阵呢,就是在M*N的矩阵中,有效值的个数远小于无效值的个数,并且这些数据的分布没有规律。在压缩存储稀疏矩阵的时候我们只存储极少数的有效数据。我们在这里使用三元组存储每一个有效数据,三元组按原矩阵中的位置,以行优先级先后次序依次存放。下面我们来看一下代码实现。 #include #inc...

2017-04-23 15:12:03

阅读数 3239

评论数 0

Linux中的僵尸进程与孤儿进程

1、僵尸进程 一个子进程在其父进程没有调用wait()或waitpid()的情况下退出,这个子进程就是僵尸进程。如果其父进程还存在而一直不调用wait,则该僵尸进程将无法回收,等到其父进程退出后该进程将被init回收。 运行结果 2、孤儿进程 一个父进程退出,而它的一个或多个子进程还在运行...

2017-04-21 21:16:32

阅读数 804

评论数 0

输出全排列

//输出全排列,时间复杂度近似为O(N!) void Prem(int* arr, int size, int N) { int idx = 0; if(size == N) { for(idx = 0; idx < size; idx++) { cout<<...

2017-04-21 15:12:39

阅读数 812

评论数 0

括号匹配算法

bool IsBracket(char ch) { if(ch == '(' || ch == '[' || ch == '{' || ch == ')' || ch == ']' || ch == '}') { return true; } return false; } bool ...

2017-04-21 15:05:07

阅读数 794

评论数 0

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