
linux
文章平均质量分 75
LP9127
这个作者很懒,什么都没留下…
展开
-
Linux下命令与文件的查询
提纲:本文简单介绍了几个在Linux下查询命令与文件指令,包括which、whereis、locate、find四个指令。 一、为什么要有这些查找指令? 通过对Linux系统的简单了解,我们都知道Linux系统始终遵循的一个思想就是“Linux下一切皆文件”,那么既然Linux系统中有如此多的文件,当我们想对其中的一个文件进行查找或者维护时就必须得快速的找到它,因此Linux系统提供了这几个查询原创 2017-03-27 00:46:50 · 598 阅读 · 0 评论 -
NAT技术与代理服务器
一、背景知识之虚拟专用网VPN 1、VPN的基本概念 VPN(Virtual Private Network)是虚拟专用网,在介绍这个知识之前,先引入几个基础知识。 (1)全球地址 全球地址就是由因特网管理机构分配的全球唯一的IP地址。 (2)专用地址 基本概念:由于全球IP地址的短缺,再加上在同一机构内的主机很少需要和外部因特网上的主机进行通信,更多的是和同一机构内的主机进行通信,因此原创 2017-06-20 16:26:56 · 616 阅读 · 0 评论 -
Linux下的五种I/O模型
一、五种I/O模型1、阻塞I/O模型 应用程序调用一个I/O函数,导致应用程序阻塞,等待数据,如果数据没有准备好,则一直阻塞,直到数据准备好,将数据从内核空间拷贝到用户空间,I/O函数成功返回。 2、非阻塞I/O模型 将套接口设置为非阻塞形式就是告诉内核,当所请求的I/O函数还没有准备好时,直接返回错误,而不让进程进入睡眠状态,此后,I/O函数不断地测试数据有没有准备好,如果数据没有准备好,则原创 2017-06-30 16:14:23 · 432 阅读 · 0 评论 -
路由算法
一、路由算法的基本概念 1、什么是路由算法 路由算法是提高路由协议功能,减少路由时开销的一种算法。它的目的是找到源路由器到目的路由器的最佳路径。 2、设计路由算法时应考虑的因素 (1)最优化 路由算法必须能够在源路由器和目的路由器之间找到最优路径。 (2)简洁性 由于计算机物理资源有限,因此路由算法必须保证简洁,以减少软件和应用的开销。 (3)坚固性 当出现任何非正常或者不可预料的原创 2017-06-24 16:19:13 · 1772 阅读 · 0 评论 -
端口
一、端口的概念 端口是设备与外部通讯交流的接口,一般端口可以分为虚拟端口和物理端口,虚拟端口就是计算机或者交换机路由器内部的接口,一般不可见,而物理端口一般是可见的。 二、端口的类型 1、硬件端口 CPU通过接口寄存器与外部设备进行数据传送,这些硬件寄存器就称为端口或者接口。 2、软件端口 一般指网络中面向连接(TCP)和无连接(UDP)的通信协议端口,包括数据I/O和缓冲区。 (1)原创 2017-06-24 21:17:47 · 948 阅读 · 1 评论 -
TCP报头中的URG和PSH
一、URG 紧急URG(URGent)当URG=1时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应该尽快传送,而不按照原来的排队序列来传送。 当URG=1时,发送应用进程告诉发送方的TCP有紧急数据要传送,于是发送方的TCP就将紧急数据插入到本报文数据段的最前面,而在紧急数据后面的数据仍是普通数据。 二、PSH 推送(PuSH),当两个应用进程进行交互式的通信时,有时一端的应用进原创 2017-06-24 21:42:05 · 806 阅读 · 0 评论 -
TCP定时器
一、常见的四种TCP定时器 1、超时重传计时器 2、坚持计时器 3、保活计时器 4、时间等待计时器 二、四个定时器的特点和应用场景 1、超时重传计时器(Retransmission Timer) 超时重传计时器:为了控制丢失的报文段,设置的一种定时器。发送端在将TCP报文发送出去之后会等待目标端对该报文的确认,此时等待的结果有两种:当超过定时器设置的时间还没有收到确认的话,则认为刚才发原创 2017-06-25 12:38:49 · 561 阅读 · 0 评论 -
信号基本概念
一、信号的基本概念 通过一个普遍例子来引入信号这个基本概念 1、自己写一个前台进程,在client.c文件中写一个程序,然后运行该程序 2、用Ctrl+c组合键来使该进程中断 3、分析一下该中断的过程 (1)用户创建一个前台进程 (2)输入Ctrl+c组合键,产生硬件中断 (3)如果CPU正在执行该前台进程,则暂停执行用户空间代码,CPU从用户态切换到内核态去处理该硬件中断原创 2017-06-14 15:39:11 · 845 阅读 · 0 评论 -
守护进程
一,守护进程的基本概念 守护进程又名精灵进程,该进程是一种运行在后台的特殊进程,它独立于控制终端并周期性的执行某种任务或等待处理某些发生的事件。 在理解守护进程之前,需要先了解一些基础知识,即进程组、作业、会话以及终端。 二、进程组、作业、会话 1、进程组(Proess Group) (1)进程组由一个或者多个进程组成; (2)每个进程组都有一个组长进程,而组长进程往往是该进程组中的第一原创 2017-06-15 16:10:40 · 370 阅读 · 0 评论 -
线程安全和可重入函数
一、线程安全 1、什么是线程安全? 如果一个进程中有多个线程在同时运行,这些线程可能会同时运行同一段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就表示线程是安全的。 线程安全问题是由全局变量和静态变量引起的。 2、如何避免线程安全问题 (1)使用线程安全的类 (2)使用synchronized同步代码块,或者用Lock锁 (3)多线程并发原创 2017-06-15 19:15:22 · 383 阅读 · 0 评论 -
ARP协议
一、理解ARP协议 1、ARP协议的基本概念 (1)ARP协议就是地址解析协议; (2)ARP协议是网络层的协议; (3)ARP协议的用途是从网络层的IP地址解析出在数据链路层的硬件地址; (4)每台主机都有一个ARP高速缓冲区,该缓冲区中存放了本局域网上各主机和路由器的IP地址到硬件地址的映射表。注意:该映射表经常动态更新。 2、ARP协议的格式 (1)格式如下图 说明: (原创 2017-06-19 17:17:51 · 551 阅读 · 0 评论 -
CRC循环冗余校验
一、背景知识 1、比特差错 现实的通信链路都不会是理想的,因为比特在传输过程中可能产生差错:1可能变成0,0可能变成1,这就叫做比特差错。 2、误码率 在一段时间内,传输错误的比特占所传输的比特总数的比率成为误码率。误码率和信噪比有很大的关系,如果设法提高信噪比,就可以使误码率减小。 3、为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用个中差错检测措施,目前使用最广泛的就是CRC原创 2017-06-19 16:19:39 · 1414 阅读 · 0 评论 -
子进程的异步等待方式
通过之前所学的知识,我们可以了解到,通过wait函数或者waitpid函数可以清理僵尸进程,父进程可以通过两种方式等待子进程,一种是阻塞方式,另一种是非阻塞方式,而不管是那种方式,父进程都做不到完全不理会子进程而去完成自己的动作,即子进程不能达到异步等待的目的。 一、SIGCHLD信号 1、关于SIGCHLD信号 子进程在终止时会给父进程发SIGCHLD信号,该信号的默认处理动作是忽略,父进程原创 2017-06-15 21:30:30 · 350 阅读 · 0 评论 -
Linux下的粘滞位
一、粘滞位产生的原因 没有粘滞位的时候,如果用户对目录有写权限,则可以删除其中的文件和子目录,即使该用户不是这些文件的所有者。为了防止这一现象的出现,就设置了粘滞位,粘滞位出现执行许可的位置上,用t表示,设置了该位后,其它用户就不可以删除不属于他的文件和目录。 总的来说,粘滞位的产生是为了保护文件或者目录的安全。 二、注意事项 粘滞位只针对目录有效,对文件无效。 三、粘滞位的作用 若一个原创 2017-03-28 22:35:22 · 468 阅读 · 0 评论 -
初识Linux
一、计算机体系结构 1、计算机的概念 计算机其实就是接收用户输入的指令和数据,经过中央处理器(cpu)处理后,以产生或存储成有用的信息。 2、计算机体系结构图 几点说明: (1)在Linux操作系统下,存储器就表示的是内存; (2)CPU只和内存打交道,不直接和输入输出设备进行数据交换。 3、计算机系统与操作系统的关系 计算机系统主要由硬件构成,操作系统主要用于管理和驱动硬件。原创 2017-03-21 18:39:25 · 404 阅读 · 0 评论 -
Linux的文件与目录权限
一、背景知识 1、Linux是一个多用户、多任务系统,因此常常有个用户同时使用一台主机来进行工作,为了让各个用户具有较保密的文件数据,就需要有文件的权限管理。 2、Linux系统文件有三个身份 所有者(owner) 用户组(group) 其他人(others) 3、每种身份都有三种权限 可读(read) 可写(write) 可执行(execute) 二、文件属性 1、通过指令l原创 2017-03-24 11:30:07 · 463 阅读 · 0 评论 -
vim的简单配置和插件安装
提纲:本文简单阐述了一下CentOS6.5下vim的简单配置和插件的安装步骤。一、为什么要配置vim 作为一个初识Linux的菜鸟,第一次打开vim准备编写一个小程序来练练手,却被它的格式打败了,真是别扭至极,因此就自己尝试着简单配置一下vim,日后如果有需求会做进一步的完善。 二、什么是vim Vim是一款Linux下的文本编辑器,与我们使用的VS不同,它是通过键盘来进行文本编辑的,要想提高原创 2017-03-31 20:45:12 · 499 阅读 · 0 评论 -
实现一个简单的进度条
提纲:本文主要说明了Linux系统和Windows系统下回车和换行的区别,以及Linux下缓冲区的问题,最后运用这两点知识实现一个简单的进度条。 一、关于回车和换行 不同操作系统下的回车和换行 1、Windows操作系统下 回车’\r’:就是将光标移到本行的开头,并将之前的内容覆盖掉; 换行’\n’:就是将光标移到下一行的开头;2、Unix/Linux系统下 回车’\r’:就是将光标移到原创 2017-04-13 12:19:04 · 1035 阅读 · 0 评论 -
进程基本概念
一、题外话 说到进程这个概念,还是以前上机的时候,每当VS卡得运行不了的时候,老师就会让我们打开任务管理器,在进程那个窗口下,选中VS,然后结束掉这个进程,如下图所示: 那时还不懂什么是进程,但是能猜到大概的意思应该就是一个程序在运行时的状态。 最近的一段时间在学习Linux方面的东西,对进程做了进一步的了解,下面就来看一看进程的相关知识。 二、进程的基本概念 1、先来看一下不同的书籍原创 2017-04-16 21:26:43 · 603 阅读 · 0 评论 -
初识Linux下的进程
一、回顾Linux体系结构 通过之前对Linux系统的简单接触,我们对Linux有了简单的了解,请允许我盗图进行说明 简单的来说,Linux体系结构可以描述为 1、操作系统 (1)操作系统其实也是一组程序,这组程序的重点在于管理计算机的所有活动以及驱动系统中的所有硬件; (2)操作系统必须要能够驱动硬件,如此应用程序才能够使用硬件功能; 2、系统调用 为了保护内核,并且保原创 2017-04-14 12:31:24 · 543 阅读 · 0 评论 -
僵尸进程和孤儿进程
一、概念的引入 在Linux环境中,子进程是父进程通过fork函数创建的,子进程和父进程相互独立,子进程和父进程的运行是异步的,当一个进程因为某种原因终止时,它的父进程需要调用wait()或者waitpid()系统调用取得子进程的终止状态。 1、僵尸进程 一个终止了但是没有被父进程回收的进程成为僵尸进程。 2、孤儿进程 如果一个进程正在运行但是它的父进程终止了,此时该进程就是孤儿进程,系统原创 2017-05-11 17:59:16 · 564 阅读 · 0 评论 -
atexit函数
一、什么是atexit函数? 1、头文件 stdlib.h 2、函数功能 登记进程中的函数 3、atexit函数的使用 代码如下: 改程序的运行结果如下: 由上图可知,程序每被登记一次就被调用一次并且调用这些函数的顺序和它们登记时候的顺序相反。原创 2017-05-11 19:13:46 · 396 阅读 · 0 评论 -
Linux下的git配置
前言:最近学习了网络编程,想将自己的代码提交到git上进行托管,但是发现自己的Linux上并没有git,于是就进行了git的配置之路。一点小插曲一、查看自己是否已经安装过git?输入 git –version 如果已经安装了,就会显示git的版本信息 如果没有安装就会输出 “bash:git:command not found” 如果没有安装就要进行下一步了。...原创 2017-07-08 18:49:11 · 617 阅读 · 0 评论