- 博客(27)
- 收藏
- 关注
转载 Shell-彩色进度条~
#!/bin/bashnum=0str='#'max=100pro=('|' '/' '-' '\')while [ $num -le $max ]do ((color=30+num%8)) echo -en "\e[1;"$color"m" let index=num%4 printf "[%-100s %d%% %c]\r" "$str" "$num"
2017-07-11 17:41:48 280
原创 Linux Shell中 eval语法调研
一、eval语法功能说明:告知shell取出eval的参数,重新运算求出参数的内容。语 法:eval [参数]补充说明:eval可读取一连串的参数,然后再依参数本身的特性来执行。参 数:参数不限数目,彼此之间用分号分开。二、eval用法1. eval 命令行其中command-line是在终端上键入的一条普通命令行。然而当在它前面放上eval时,其结果是shell在执行命令行之前扫描它
2017-07-03 15:47:08 319
转载 poll服务器编程综合
一、poll服务器代码#include<stdio.h>#include <sys/types.h> /* See NOTES */#include <sys/socket.h>#include<stdlib.h>#include<netinet/in.h>#include<poll.h>#include<string.h>static void usage(cons
2017-06-30 11:22:13 292
转载 e-poll服务器编程综合
一、e-poll服务器代码#include<stdio.h>#include<stdlib.h>#include<sys/epoll.h>#include<sys/types.h>#include<sys/socket.h>#include<netinet/in.h>#include<arpa/inet.h>#include<string.h>static void Usage(con
2017-06-30 11:19:25 332
转载 select服务器编程综合
一、服务器端代码#include<stdio.h>#include<sys/types.h>#include<sys/socket.h>#include<unistd.h>#include<stdlib.h>#include<netinet/in.h>#include<string.h>#include<sys/time.h>static void Usage(const char *
2017-06-30 11:16:39 344
转载 C语言实现简单UDP协议服务端
一、源代码#include<stdio.h>#include<stdlib.h>#include<sys/types.h>#include<sys/socket.h>#include<arpa/inet.h>//#include<netinet/in.h>#include<string.h>static void usage(const char * str){ printf(
2017-06-26 13:57:42 2946
转载 C语言实现简易网络进程及线程间通信
1.单进程通信客户端代码#include<stdio.h>#include<arpa/inet.h>#include<sys/socket.h>#include<stdlib.h>#include<unistd.h>#include<strings.h>#include<netinet/in.h>#include<string.h>void usage(const char *str
2017-06-23 08:39:28 3617
转载 TCP协议保证可靠交付的部分特点总结
一、使用UGG和PSH状态字段重点内容 1、URG推送位 紧急数据的起始点=序号; 紧急数据的终止点=序号+紧急指针;(综上,紧急指针就是记录紧急数据的字节数,紧急指针永远为正数)1)在紧急数据后面的数据为普通数据,需要按序缓存2)窗口为0也可以发送紧急数据3)紧急数据都处理完成后,tcp就告诉进程恢复到正常操作 例如,已经发送了很长的一个程序要在远地的主机上运
2017-06-20 17:29:33 1424
转载 NAT & 代理服务器 ——在网络中金蝉脱壳
一、NAT NAT即Network Address Translation,它可以让那些使用私有地址的内部网络连接到Internet或其它IP网络上。NAT路由器在将内部网络的数据包发送到公用网络时,在IP包的报头把私有地址转换成合法的IP地址。 二、NAT的工作原理 内部网络中的一台主机想传输数据到外部网络时,它先将数据包传输到NAT路由器上,路由器检查数据包
2017-06-19 00:20:52 413
转载 NAT & 代理服务器 ——在网络中金蝉脱壳
一、NAT NAT即Network Address Translation,它可以让那些使用私有地址的内部网络连接到Internet或其它IP网络上。NAT路由器在将内部网络的数据包发送到公用网络时,在IP包的报头把私有地址转换成合法的IP地址。 二、NAT的工作原理 内部网络中的一台主机想传输数据到外部网络时,它先将数据包传输到NAT路由器上,路由器检查数据包
2017-06-19 00:17:28 240
转载 网络端口的小记
一、有效网络端口范围及分类 在Internet上,按照协议类型分类,端口被分为TCP端口和UDP端口两类,虽然他们都用正整数标识,但这并不会引起歧义 固定端口(0-1023): 使用集中式管理机制,即服从一个管理机构对端口的指派,这个机构负责发布这些指派。由于这些端口紧绑于一些服务,所以我们会经常扫描这些端口来判断对方 是否开启了这些服务, 动态端口
2017-06-19 00:11:04 386
转载 ARP协议的工作过程和局域网使用
一、ARP的工作过程 1. 原理:(ARP协议只使用于局域网中) 1> 在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。 2> 在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。 3>
2017-06-12 17:35:10 4640
转载 CRC校验的理解和C语言实现
1、CRC是什么 CRC检验的基本思想是利用线性编码理论,在发送端根据要传送的k位二进制码序列,以一定的规则产生一个检验码r位(就是CRC码),附在信息后面,构成一个新的二进制码序列数共(k+r)位,最后发送出去。接收端根据同样的规则校验,以确定传送中是否出错。接收端有两种处理方式:1、计算k位序列的CRC码,与接收到的CRC比较,一致则接收正确。2、计算整个k+r位的CRC码,若为0,则接收正确
2017-06-12 17:20:45 6634 3
转载 crond和crontab的tag
一 croncrond位于/etc/rc.d/init.d/crond 或 /etc/init.d 或 /etc/rc.d /rc5.d/S90crond,最总引用/var/lock/subsys/crond。 cron是一个linux下的定时执行工具(相当于windows下的scheduled task),可以在无需人工干预的情况下定时地运行任务task。由于cron 是
2017-06-09 14:50:35 226
转载 C++中多态的几大关键点
1、什么是运行期多态?在程序执行期间(非编译期)判断所引用对象的实际类型,根据其实际类型调用相应的方法。使用virtual关键字修饰类的成员函数时,指明该函数为虚函数,派生类需要重新实现,编译器将实现动态绑定。 给出一个简单的代码:#includeusing namespace std ;class CBase{public: void FunTest1(int _iTest
2017-03-11 15:32:52 218
转载 C++中继承的几大关键点
1、概念:继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能。这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。一个新类从已有的类中获得其已有的特性称为继承,被继承的称为父类(Base class)或基类,新产生的类称为派生类或子类。2、
2017-03-11 15:27:07 240
转载 管道的数据结构及容量验证
一、管道的容量在管道一端不断写入将会阻塞管道,可以通过这一特点测试管道容量#include #include #include int main(int argc, char* argv[]){ int pipefds[2]; //[0] for read, [1] for write pipe(pipefds); char buf[4096]
2017-03-09 11:18:45 1729
转载 进程结束及Linux中的系统调用
一、atexit函数atexit()注册的函数类型应为不接受任何参数的void函数,exit调用这些注册函数的顺序与它们 登记时候的顺序相反。同一个函数如若登记多次,则也会被调用多次。#include #include stdlib.h> void exit_fn1(void) { printf("Exit function #1 called\
2017-02-20 21:24:51 597
转载 C++中的this指针
一.this指针的实现[cpp] view plain copy #include using namespace std ; class Date1 { public: void InitDate(int year, int month, int day) { _
2017-02-20 21:17:43 248
转载 进程调度算法整理
1、FCFS(First come first serve),或者称为FIFO算法,先来先处理。这个算法的优点是简单,实现容易,并且似乎公平;缺点在于短的任务有可能变的非常慢,因为其前面的任务占用很长时间,造成了平均响应时间非常慢。2、时间片轮询算法,这是对FIFO算法的改进,目的是改善短程序(运行时间短)的响应时间,其方法就是周期性地进行进程切换。这个算法的关键点在于时间片的选择,时间片
2017-02-19 12:42:46 693
转载 Linux中的进程描述符
一、进程和PCB进程是一个正在执行的程序。 进程是程序的一个实例。 进程能分配处理器并由处理器执行的实体。 如果从内核的角度看的话:进程是分配系统资源的单位。当一个程序被加载到内存之后并为他分配一个PCB(进程控制块),这时候就称为进程了。在Linux中PCB就是一个名字叫做task_struct的结构体,我们叫他”进程描述符”。它里面有进程执行的所有信息,所以CPU对task_s
2017-02-19 12:36:22 1149
转载 C语言实现进度条[背景+源码]
一、回车和换行的区别/n 换行将光标移动到下一行第一格相当于平时用的回车 /r 回车 将光标移动到当前行第一格'/r'是回车,'/n'是换行,前者使光标到行首,后者使光标下移一格。通常用的Enter是两个加起来。下面转一篇文章。背景:在计算机还没有出现之前,有一种叫做电传打字机(TeletypeModel 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完
2017-02-19 12:31:44 1719
转载 C语言实现进度条[背景+实现]
一、C语言中回车与换行/n 换行将光标移动到下一行第一格相当于平时用的回车 /r 回车 将光标移动到当前行第一格背景: 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。于是,研制人员
2017-02-19 12:18:11 2698
转载 Linux基本--touch、find、三个时间
一、使用命令stat获取文件的三个时间 含义分别是时间名称简称中文名称含义linux 命令备注access timeatime访问时间最后一次访问文件或目录的时间ls -lu filename访问时间的更新并不是实时的modifytimemtime修改时间最后一次修改文件或目录
2017-02-14 23:18:59 556
原创 从一个新的起点,重识C语言
作为计算机类专业的第一门课程,C语言有着千千万万的学习者和使用者,也从侧面证明C语言的实用和强大。而作为一名计算机专业的在读学生,处在关键的学习阶段,再次深入学习并熟练掌握C语言成为眼下最重要的事。 博主的第一身份是IT发烧友,坐标西安。因为对IT的热爱,报考志愿时,博主毅然将6个专业志愿全部填写为计算机及通信的相关专业。经过两年的学习,博主认识到一个个程序的背后是程序员敲下的一句句代码,而
2016-09-24 18:30:07 270
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人