linux基础知识
文章平均质量分 80
lhb19891029
这个作者很懒,什么都没留下…
展开
-
makefile伪目标
最早先的一个例子中,我们提到过一个“clean”的目标,这是一个“伪目标”, clean: rm *.o temp 正像我们前面例子中的“clean”一样,即然我们生成了许多文件编译文件,我们也应该提供一个清除它们的“目标”以备完整地重编译而用。 (以“make clean”来使用该目标) 因为,我们并不生成“clean”这个文件。“伪目转载 2013-04-07 15:23:29 · 260 阅读 · 0 评论 -
网络性能测试工具iperf
Iperf使用方法与参数说明 参数说明 -s 以server模式启动,eg:iperf -s -c host以client模式启动,host是server端地址,eg:iperf -c 222.35.11.23 通用参数 -f [kmKM] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:i原创 2013-06-08 19:55:13 · 433 阅读 · 0 评论 -
linux内核链表的分析
转自:http://blog.csdn.net/tigerjb/article/details/8299599 前言: 在Linux内核中使用了大量的链表来组织其数据,其采用了双向链表作为其基本的数据结构。但是与我们传统的数据结构中所学的双向链表又有着本质的一些不同(其不包含数据域)。其主要是Linux内核链表在设计时给出了一种抽象的定义。 采用这种定义有以下两种好处:1是可扩展性,转载 2013-06-19 19:43:53 · 310 阅读 · 0 评论 -
makefile浅析(1)
转自:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=408225 Makefile 介绍 ——————— make命令执行时,需要一个 Makefile 文件,以告诉make命令需要怎么样的去编译和链接程序。 首先,我们用一个示例来说明Makefile的书写规则。以便给大家一个感兴认识。这个示例来源于GNU的mak转载 2013-06-20 10:16:44 · 250 阅读 · 0 评论 -
makefile浅析(2)
转自http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=408225 一、Makefile里有什么? Makefile里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。 1、显式规则。显式规则说明了,如何生成一个或多的的目标文件。这是由Makefile的书写者明显指出,要生成的文件,文件的依赖文件,生成的命转载 2013-06-20 10:17:26 · 236 阅读 · 0 评论 -
netstat命令详解
简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。 输出信息含义 执行netstat后,其输出结果为 Active Internet connections (w/o servers) Proto Re转载 2013-06-20 20:31:44 · 247 阅读 · 0 评论 -
linux头文件
POSIX标准定义的头文件 目录项 文件控制 文件名匹配类型 路径名模式匹配类型 组文件 网络数据库操作 口令文件 正则表达式 TAR归档值 终端I/O 符号常量 文件时间 字符扩展类型 -------------------转载 2013-06-25 16:24:04 · 257 阅读 · 0 评论 -
LinuxTC浏量控制
在 linux 中,tc 有二种控制方法 CBQ 和 HTB.HTB 是设计用来替换 CBQ 的.HTB比CBQ更加灵活,但是CPU 开销也更大,通常高速的链路会使用CBQ,一般而言HTB使用的更加广泛 我们对 tc 中的 HTB 的规则本质上是一个树形结构,包括三个基本的构成块: 队列规定 qdisc(queueing discipline) ,类(class)和分类器(Class原创 2013-04-01 15:31:44 · 362 阅读 · 0 评论 -
Linux 中的零拷贝技术
引言 传统的 Linux 操作系统的标准 I/O 接口是基于数据拷贝操作的,即 I/O 操作会导致数据在操作系统内核地址空间的缓冲区和应用程序地址空间定义的缓冲区之间进行传输。这样做最大的好处是可以减少磁盘 I/O 的操作,因为如果所请求的数据已经存放在操作系统的高速缓冲存储器中,那么就不需要再进行实际的物理磁盘 I/O 操作。但是数据传输过程中的数据拷贝操作却导致了极大的 CPU 开销,限转载 2013-12-24 09:28:33 · 557 阅读 · 0 评论 -
linux环境下动态链接和静态链接
一个程序要想在内存中运行,除了编译之外还要经过链接和装入这两个步骤。从程序员的角度来看,引入这两个步骤带来的好处就是可以直接在程序中使用printf和errno这种有意义的函数名和变量名,而不用明确指明printf和errno在标准C库中的地址。当然,为了将程序员从早期直接使用地址编程的梦魇中解救出来,编译器和汇编器在这当中做出了革命性的贡献。编译器和汇编器的出现使得程序员可以在程序中使用更具意义原创 2014-04-10 11:03:34 · 304 阅读 · 0 评论 -
vim操作基本指令
转自:http://blog.csdn.net/borefo/article/details/5017731 § 进入输入模式 在命令模式下输入以下指令,程序将会进入输入(insert)模式 此时使用者便可以修改文件档, 若想跳出输入模式,则键入即可回到命令模式。 i 在光标左方进入输入模式 I 在光标所在行的行首进入输入模式 a 在光标右方进入输入模式 A 在光标所在转载 2014-05-19 15:30:17 · 299 阅读 · 0 评论 -
linux内核链表宏container_of
转自:http://blog.csdn.net/wxc0077/article/details/4336803 linux-2.6.29/include/linux/kernel.h 493 #define container_of(ptr, type, member) ({ / 494 const typeof( ((type *)转载 2013-06-18 16:28:48 · 321 阅读 · 0 评论 -
I/O模型
转自:http://jzhihui.iteye.com/blog/1629788 《Unix网络编程卷1:套接字联网API》(下面称为卷1)第6章对Unix I/O模型有5种划分:阻塞式I/O模型,非阻塞式I/O模型,I/O复用模型,信号驱动式I/O,异步I/O模型。这里我们只关心跟我们主题相关的四类: 阻塞式I/O模型:应用进程调用I/O操作时阻塞,只有等待要操作的数据准备好,并复制转载 2013-06-17 10:56:18 · 244 阅读 · 0 评论 -
Linux 中直接 I/O 机制的介绍
直接 I/O 的动机 在介绍直接 I/O 之前,这一小节先介绍一下为什么会出现直接 I/O 这种机制,即传统的 I/O 操作存在哪些缺点。 什么是缓存 I/O (Buffered I/O) 缓存 I/O 又被称作标准 I/O,大多数文件系统的默认 I/O 操作都是缓存 I/O。在 Linux 的缓存 I/O 机制中,操作系统会将 I/O 的数据缓存在文件系统的页缓存( page转载 2013-06-06 15:22:20 · 243 阅读 · 0 评论 -
linux解压文件命令
linux下解压命令大全 .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ——————————————— .gz 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip FileName .tar.gz 和转载 2013-04-07 15:35:50 · 281 阅读 · 0 评论 -
Makefile变量定义解析
Makefile变量定义解析 一般在我们书写Makefile时,各部分变量引用的格式我们建议如下: 1. make变量(Makefile中定义的或者是make的环境变量)的引用使用“$(VAR)”格式。 2. 出现在规则命令行中shell变量(一般为执行命令过程中的临时变量,它不属于Makefile变量,而是一个shell变量)引用使用shell的“$tmp”格式。 3. 对出转载 2013-04-07 15:10:34 · 310 阅读 · 0 评论 -
ubuntu 网络配置总结
Ubuntu的网络设置涉及到如下文件: /etc/network/interfaces # 网络接口配置,包括网络接口说明、IP地址、子网掩码、网关等 /etc/resolv.conf # DNS服务器设置 /etc/hostname # 主机名设置 /etc/hosts # 域名解析映射 /etc/hosts.allow # IP访问允许规则 /转载 2013-04-22 09:32:08 · 321 阅读 · 0 评论 -
shell(1) 输入与输出
在shell脚本中,可以用几种不同的方式输入输出数据,可以使用标准输入--缺省为键盘,或者指定一个文件作为输入,对输出也一样,默认标准输出是终端屏幕,也可以指定文件作为输出。 1.常用输入输出命令 echo 使用echo命令可以显示文本或变量,或者把字符串输入到文件。 echo string echo string >myfile read read一般是从键盘或文件的某一行原创 2013-04-22 21:55:45 · 293 阅读 · 0 评论 -
c语言中二维数组及函数参数传递
先来回顾一下一维数组。一维数组的数组名即为指向该数组的指针,该指针值保存了数组存放在内 存中的一块连续区域的起始地址;数组的下标表示了这片内存区域的某存储区相对于起始地址的偏移量。简单来讲就是:指向一维数组的指针,指向数据存放区域的 起始位置。 事实上,计算机系统的多维数组其实最终还是以一维数组的形式实现的。就N x M的二维数组来讲,设其数组名为array。指针array指向一个数组,该数转载 2013-04-15 20:47:07 · 359 阅读 · 0 评论 -
理解同步异步,阻塞和非阻塞
今天看到《WIN32多线程程序设计》的同步控制时,才发现原来自己对同步和异步的概念很模糊,甚至混淆。于是GOOGLE了一下。 下面都是高人们的见解,简单明了。 ------------------------------------------------------------------------------------------------------ 同步是指:发送方发出数据转载 2013-05-21 10:42:29 · 193 阅读 · 0 评论 -
深入理解ext2文件系统
转自:http://blog.csdn.net/liuchang985/article/details/5756044 摘要:我们对于ext2/ext3文件系统的了解大多来自操作系统的课本或者《understanding linux kernel》这本书,但是最近做了一个项目,需要根据文件的inode结点号找到inode本身。因此需要对ext2/ext3文件系统做深入的理解。在做的过程中才发转载 2013-05-29 10:18:37 · 338 阅读 · 0 评论 -
ext2文件系统的文件类型
普通文件 普通文件是最常见的情况,我们要重点关注它。但普通文件只有在开始有数据时才需要数据 块。普通文件在刚创建时是空的,并不需要数据块;也可以用truncate() 或open() 系统调用清 空它。这两种情况是相同的,例如,当你发出一个包含字符串 > filename 的shell 命令时, shell 创建一个空文件或截断一个现有文件。 目录 Ext2原创 2013-05-29 10:52:51 · 319 阅读 · 0 评论 -
Linux下Socket编程的端口问题( Bind(): Address already in use )
在做linux下的网络方面的实验时,每次修改了源代码并再次编译运行时,常遇到下面的地使用错误: Cann't bind server socket ! : Address already in use 虽然用Ctrl+C强制结束了进程,但错误依然存在,用netstat -an |grep 5120和ps aux |grep 5120都还能看到刚才用Ctrl+C“强制结束”转载 2013-06-08 19:26:02 · 314 阅读 · 0 评论 -
linux多线程入门
转自:http://blog.csdn.net/wallwind/article/details/7212946 《线程》,对于一个程序员,如果不懂得线程,那么我觉得他对基础的高级程序还是没有入门的。 线程里有几个概念,包括创建,终止,同步,调度,进程交互等概念。 线程并不维持线程表,而是由一个进程维护。 一个进程里的多个线程共享进程的地址空间。 共享以下:转载 2013-06-06 15:35:24 · 264 阅读 · 0 评论 -
makefile小结
makefile心得 在Makefile中也#开始的行都是注释行.Makefile中最重要的是描述文件的依赖关系的说明。一般的格式是: target:components TAB rule 第一行表示的是依赖关系。第二行是规则。 比如说我们上面的那个Makefile文件的第二行。 main:main.o mytool1.o原创 2015-04-09 15:14:26 · 177 阅读 · 0 评论