2 烬_zhang

尚未进行身份认证

而困而知,而勉而行

等级
TA的排名 3w+

【PowerShell(3)】——交互式

进行数学运算我们可以把powershell当成一个计算器。象键入命令行那样输入数学表达式,回车,powershell会自动计算并把结果输出。常用的加减乘除模(+,-,*,/,%)运算和小括号表达式都支持。PSC:\>2+4+915PSC:\>0xABCD43981PowerShell也能自动识别计算机容量单位,包括KB,MB,GB,TB,PB。PSC:\>1pb...

2018-03-22 11:54:36

【PowerShell(2)】—— 初识PowerShell

PowerShell快速编辑模式和标准模式powershell控制台有两种模式,一个是快速编辑模式,一个是标准模式。快速编辑模式和标准模式的切换可以通过控制台标题栏->鼠标右击->属性->选项->编辑选项。Powershell标准模式鼠标右击选择标记后才能实现复制和粘切功能。Powershell快速编辑模式可以通过鼠标左键选择任意矩形区域内的文本,并且鼠标右击实现复制功能...

2018-03-21 15:59:45

【PowerShell(1)】—— 介绍和安装及简单使用

PowerShell介绍owershell是运行在windows机器上实现系统和应用程序管理自动化的命令行脚本环境。你可以把它看成是命令行提示符cmd.exe的扩充,不对,应当是颠覆。powershell需要.NET环境的支持,同时支持.NET对象。微软之所以将Powershell定位为Power,并不是夸大其词,因为它完全支持对象。其可读性,易用性,可以位居当前所有shell之首。当前p...

2018-03-21 14:50:10

【进程(3)】—— 进程间通信

进程间通信每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,InterProcessCommunication)。如下图所示管道管道是一种最基本的IPC机制,由pipe函数创建:#include...

2018-03-15 14:48:24

【进程(2)】—— 进程控制

 fork函数#include<sys/types.h>#include<unistd.h>pid_tfork(void);fork调用失败则返回-1,调用成功的返回值见下面的解释。我们通过一个例子来理解fork是怎样创建新进程的。例: fork#include<stdio.h>#include<unistd.h>#include...

2018-03-15 14:01:52

【进程(1)】—— 环境变量

每个进程在内核中都有一个进程控制块(PCB)来维护进程相关的信息,Linux内核的进程控制块是task_struct结构体。1.进程id。系统中每个进程有唯一的id,在C语言中用pid_t类型表示,其实就是一个非负整数。2.进程的状态,有运行、挂起、停止、僵尸等状态。3.进程切换时需要保存和恢复的一些CPU寄存器。4.描述虚拟地址空间的信息。5.描述控制终端的信息。6.当前工作目录(Current...

2018-03-15 11:02:15

【TCP/IP】TCP协议

TCP协议TCP的段格式如下图所示和UDP协议一样也有源端口号和目的端口号,通讯的双方由IP地址和端口号标识。32位序号、32位确认序号、窗口大小稍后详细解释。4位首部长度和IP协议头类似,表示TCP协议头的长度,以4字节为单位,因此TCP协议头最长可以是4x15=60字节,如果没有选项字段,TCP协议头最短20字节。URG、ACK、PSH、RST、SYN、FIN是六个控制位,16位检验和将TCP...

2018-03-09 15:51:23

【TCP/IP】 UDP段格式

 UDP段格式下图是UDP的段格式下面分析一帧基于UDP的TFTP协议帧。以太网首部0000:00055d67d0b100055d6158a80800 IP首部0000:45000010:005393250000801125ecc0a80037c0a80020:0001UDP首部0020:05d40045003fac...

2018-03-09 15:19:09

【TCP/IP】 IP地址与路由

 IP地址与路由IPv4的IP地址长度为4字节,通常采用点分十进制表示法(dotteddecimalrepresentation)例如0xc0a80002表示为192.168.0.2。Internet被各种路由器和网关设备分隔成很多网段,为了标识不同的网段,需要把32位的IP地址划分成网络号和主机号两部分,网络号相同的各主机位于同一网段,相互间可以直接通信,网络号不同的主机之间通信则需要通过路...

2018-03-09 15:07:04

【 TCP/IP 】以太网(RFC 894)帧格式、 ARP数据报格式、 IP数据报格式

以太网(RFC894)帧格式以太网的帧格式如下所示:其中的源地址和目的地址是指网卡的硬件地址(也叫MAC地址),长度是48位,是在网卡出厂时固化的。用ifconfig命令看一下,“HWaddr00:15:F2:14:9E:3F”部分就是硬件地址。协议字段有三种值,分别对应IP、ARP、RARP。帧末尾是CRC校验码。以太网帧中的数据长度规定最小46字节,最大1500字节,ARP和RARP数据包...

2018-03-09 14:45:25

【 TCP/IP 】 协议栈与数据包封装

TCP/IP网络协议栈分为应用层(Application)、传输层(Transport)、网络层(Network)和链路层(Link)四层。如下图所示: TCP/IP协议栈两台计算机通过TCP/IP协议通讯的过程如下所示:TCP/IP通讯过程传输层及其以下的机制由内核提供,应用层由用户进程提供,应用程序对通讯数据的含义进行解释,而传输层及其以下处理通讯的细节,将数据从一台计算机通过一定的路径发送到...

2018-03-09 14:29:45

【算法 四】——线性查找和折半查找

线性查找有些查找问题要用时间复杂度为O(n)的算法来解决。例如写一个indexof函数,从任意输入字符串中找出某个字母的位置并返回这个位置,如果找不到就返回-1:例:线性查找#include<stdio.h>chara[]="helloworld";intindexof(charletter){ inti=0; while(a[i]!='\0')...

2018-03-08 15:48:03

【算法 三】—— 归并排序

归并排序插入排序算法采取增量式(Incremental)的策略解决问题,每次添一个元素到已排序的子序列中,逐渐将整个数组排序完毕,它的时间复杂度是O(n2)。下面介绍另一种典型的排序算法--归并排序,它采取分而治之(Divide-and-Conquer)的策略,时间复杂度是Θ(nlgn)。归并排序的步骤如下:1.Divide:把长度为n的输入序列分成两个长度为n/2的子序列。2.Conque...

2018-03-08 15:03:03

【算法 二】—— 时间复杂度分析

解决同一个问题可以有很多种算法,比较评价算法的好坏,一个重要的标准就是算法的时间复杂度。现在研究一下插入排序算法的执行时间,按照习惯,输入长度LEN以下用n表示。设循环中各条语句的执行时间分别是c1、c2、c3、c4、c5这样五个常数:受内存管理机制的影响,指令的执行时间不一定是常数,但执行时间的上界(UpperBound)肯定是常数,我们这里假设语句的执行时间是常数只是一个粗略估计。voidi...

2018-03-08 14:19:57

【算法 一 】—— 插入排序

插入排序插入排序算法类似于玩扑克时抓牌的过程,玩家每拿到一张牌都要插入到手中已有的牌里,使之从小到大排好序。 扑克牌的插入排序:也许你没有意识到,但其实你的思考过程是这样的:现在抓到一张7,把它和手里的牌从右到左依次比较,7比10小,应该再往左插,7比5大,好,就插这里。为什么比较了10和5就可以确定7的位置?为什么不用再比较左边的4和2呢?因为这里有一个重要的前提:手里的牌已经是排好序的。现在我...

2018-03-08 11:21:39

【gdb】- 段错误调试

如果程序运行时出现段错误,用gdb可以很容易定位到究竟是哪一行引发的段错误,例如这个小程序:段错误调试实例一:#include<stdio.h>intmain(void){ intman=0; scanf("%d",man); return0;}[zhangsan@localhoststudy-c]$gcc-ggdb4.c-ogdb4[zhan...

2018-03-07 17:33:43

【gdb】- 观察点调试

接着上一篇的步骤,经过调试我们知道,虽然sum已经赋了初值0,但仍需要在while(1)循环的开头加上sum=0;:观察点调试实例:#include<stdio.h>intmain(void){ intsum=0,i=0; charinput[5]; while(1){ sum=0; scanf("%s",input); fo...

2018-03-07 15:59:49

【gdb】- 断点调试

 断点调试实例:#include<stdio.h>intmain(void){ intsum=0,i=0; charinput[5]; while(1){ scanf("%s",input); for(i=0;input[i]!='\0';i++) sum=sum*10+input[i]-'0'; print...

2018-03-07 10:32:09

【gdb】- 单步执行和跟踪函数调用

操作环境:[root@localhostzhangsan]#cat/proc/versionLinuxversion2.6.32-696.el6.x86_64(mockbuild@c1bm.rdu2.centos.org)(gccversion4.4.720120313(RedHat4.4.7-18)(GCC))#1SMPTueMar2119:29:0...

2018-03-06 17:52:13

Linux--CentOs之yum

YUM是YellowdogUpdater,Modified的缩写,是由DukeUniversity所发起的计划,目的就是为了解决RPM的依赖关系的问题,方便使用者进行软件的安装、升级等等工作。注:yum只是为了解决RPM的依赖关系的问题,而不是一种其它的软件封装模式。RPM仍然是RHEL和CenOS中的默认软件管理器。yum可以视为RPM的一个前台工具...

2018-03-01 17:19:33

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!