摘要:本文只讨论ioctl 在 linux网络编程中的应用#include<unistd.h> int ioctl( int fd, int request, .../* void *arg */ ); 返回0——成功, -1——出错第一个参数 fd 指示某个文件描述符(当然也包括 套接口描述符)第二个参数 request 指示要ioctl执行的操作第三个参数 总是某种指针,具体的指向类型依赖于 request 参数我们可以把和网络相关的请求(request)划分为6 类: 套接口操作 文件操作 接口操作 ARP 高速缓存操作 路由表操作 流系统下表列出了网络相关ioctl 请求的req
阅读全文
摘要:定制环境变量 环境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell。对于Linux来说一般是bash,但也可以重新设定或切换到其它的Shell。环境变量文件:/etc/profile。 环境变量是通过Shell命令来设置的,设置好的环境变量又可以被所有当前用户所运行的程序所使用。对于bash这个Shell程序来说,可以通过变量名来访问相应的环境变量,通过export来设置环境变量。下面通过几个实例来说明。 1. 显示环境变量HOME $ echo $HOME /home/terry 2. 设置一个新的环境变量WELCOME $ export WELCOME="Hel
阅读全文
摘要:源文:http://www.linux521.com/2009/system/200905/2801.htmlyum主要功能是更方便的添加/删除/更新RPM包.它能自动解决包的倚赖性问题.它能便于管理大量系统的更新问题 一、yum list 列出所有包文件,可搭配grep查询软件包,如yum list |grep kernel二、yum info xxx 显示包xxx详细信息,即使xxx没有安装三、yum update kernel 用yum升级内核四、yum update 全面升级系统五、yum list available 列出升级源上所有可以安装的包(List all packages
阅读全文
摘要:原文出处:https://help.ubuntu.com/community/AptGetHowto http://yuleihome.javaeye.com/blog/179142参考: http://www.blogjava.net/void241/archive/2008/08/23/223840.html原文作者:UbuntuWiki 翻译人员:sigus 5451vs5451 youyou keke initnas 校正人员:MillenniumDarkapt-get使用source.list文件进行软件包管理。如果您想了解关于如何编辑和更新source.list中的条目的信息,请参
阅读全文
摘要:funway: @ 2009-12-3 该程序是修改的一个网络上一位叫周立发的仁兄写的简单的网络通讯程序。 源程序可见http://www.cnitblog.com/zouzheng/archive/2007/03/27/24732.aspx 源程序的功能只能实现网络上一个客户端对一个服务器的相互通信。 多个客户端必须等待占用服务器的客户的退出才能与服务器通讯。 修改后实现一个类似QQ群聊的功能。多个客户端通过服务器发送消息。当然,服务器端也可发送消息给各个客户。/***********************************************文件名:common.h该头文件包含
阅读全文
摘要:1.make & Makefile 的基本用法:一个程序由print.c和main.c两个源文件构成,程序的功能是main.c中的main函数调用print.c中定义的print函数。(1)基本的编译链接:# cc -c main.c //编译main.c生成目标文件main.o# cc -c print.c //编译print.c生成目标文件print.o# cc -o exe main.o print.o //链结main.o和print.o生成可执行文件exe(2)Makefile文件exe:main.o print.o //1 //依赖条件 cc -o exe main.o p
阅读全文
摘要:(1) man不只可以用来查看SHELL命令,还可以查看系统调用函数,C库函数以及其他数据结构等等。(2) man域的概念$man date会发现在第一行显示:DATE(1) User Commands DATE(1)其中DATE就是要man的命令(函数,数据结构等)1即该命令所属的域。 该域即为User Commands。常见的man域有1~9号,分别表示:领域名称说明1用户命令可由任何人启动的2系统调用即由内核提供的函数3 (3p)例程即库函数4设备即库函数5文件格式描述例如/etc/passwd6游戏7杂项例如宏命令包、惯例、网络协议等8系统管理员工具root可用的命令9其他(Linux
阅读全文
摘要:1. vmlinuz这是编译出来的压缩了的内核文件2. initrdinitrd是linux在系统引导过程中使用的一个临时的根文件系统,用来支持两阶段的引导过程。initrd 的英文含义是 boot loader initialized RAM disk,就是由 boot loader 初始化的内存盘。在 linux内核启动前, bootloader 会将存储介质中的 initrd 文件加载到内存,内核启动时会在访问真正的根文件系统前先访问该内存中的 initrd 文件系统。第一阶段启动的目的是为第二阶段的启动扫清一切障爱,最主要的是加载根文件系统存储介质的驱动模块。3. System.map
阅读全文
摘要:1. 下载内核源码的压缩包 linux-2.6.30.5.tar.bz2,有56MB大小2. 解压出来后这个内核源码的文件夹linux-2.6.30.5,有332MB大小3. 查看编译所需的最新版本的软件依赖的话,在Documentation/Changes文件里4. make mrproper 确保内核源文件中没有旧的.o文件与依赖关系5. make O=/usr/src/kernels/linux-2.6.30.5 menuconfig 配置内核,生成配置文件 .config6. make O=/usr/src/kernels/linux-2.6.30.5 - -| 花了70分钟左右才在自
阅读全文