2010年4月27日

摘要: 定制环境变量 环境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell。对于Linux来说一般是bash,但也可以重新设定或切换到其它的Shell。环境变量文件:/etc/profile。 环境变量是通过Shell命令来设置的,设置好的环境变量又可以被所有当前用户所运行的程序所使用。对于bash这个Shell程序来说,可以通过变量名来访问相应的环境变量,通过export来设置环境变量。下面通过几个实例来说明。 1. 显示环境变量HOME $ echo $HOME /home/terry 2. 设置一个新的环境变量WELCOME $ export WELCOME="Hel 阅读全文
posted @ 2010-04-27 10:00 哈呜 阅读(15786) 评论(0) 推荐(0)

2010年3月4日

摘要: 源文: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 阅读全文
posted @ 2010-03-04 11:57 哈呜 阅读(233) 评论(0) 推荐(0)
摘要: 原文出处: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中的条目的信息,请参 阅读全文
posted @ 2010-03-04 11:20 哈呜 阅读(844) 评论(0) 推荐(0)

2010年2月2日

摘要: auto关键字。。。待写。。。static关键字。。。待写。。。const关键字。。。待写。。。extern关键字。。。待写。。。restrict和volatile,两者都是为了方便编译器的优化。restrict关键字只用于修饰指针类型,它告诉编译器,所有要修改 该指针指向的内容 的操作,都必须是基于该指针的。额。。。 其实我还是没弄懂这个关键字的实际应用在哪,尽管理解了上面的说法。注意:restrict是C99中新增的关键字,在C89和C++中都不支持,在gcc中可以通过 "$ cc -std=c99 XXX.c"来得到对它的支持。volatile关键字告诉编译器该被变量 阅读全文
posted @ 2010-02-02 22:10 哈呜 阅读(280) 评论(0) 推荐(0)

2010年1月20日

摘要: C语言中有些函数使用可变参数,比如常见的int printf( const char* format, ...),第一个参数format是固定的,其余的参数的个数和类型都不固定。但C又无法用面相对象的函数重载的概念。 不过好在C语言中定义了va_list, va_start( ), va_arg( ), va_end( ) 这样一组宏来处理可变参数问题。 这组宏在stdarg.h头文件中定义,但是由于1)硬件平台的不同 2)编译器的不同,所以定义的宏也有所不同,下面以VC++中stdarg.h里x86平台的宏定义为例(linux环境中在stdarg.h里发现它将这组宏定义为gcc的内建函数了. 阅读全文
posted @ 2010-01-20 01:44 哈呜 阅读(666) 评论(0) 推荐(0)

2009年12月18日

摘要: funway: @ 2009-12-3 该程序是修改的一个网络上一位叫周立发的仁兄写的简单的网络通讯程序。 源程序可见http://www.cnitblog.com/zouzheng/archive/2007/03/27/24732.aspx 源程序的功能只能实现网络上一个客户端对一个服务器的相互通信。 多个客户端必须等待占用服务器的客户的退出才能与服务器通讯。 修改后实现一个类似QQ群聊的功能。多个客户端通过服务器发送消息。当然,服务器端也可发送消息给各个客户。/***********************************************文件名:common.h该头文件包含 阅读全文
posted @ 2009-12-18 20:51 哈呜 阅读(596) 评论(0) 推荐(0)
摘要: 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 阅读全文
posted @ 2009-12-18 14:58 哈呜 阅读(338) 评论(0) 推荐(0)
摘要: (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 阅读全文
posted @ 2009-12-18 14:48 哈呜 阅读(579) 评论(0) 推荐(0)
摘要: 1. vmlinuz这是编译出来的压缩了的内核文件2. initrdinitrd是linux在系统引导过程中使用的一个临时的根文件系统,用来支持两阶段的引导过程。initrd 的英文含义是 boot loader initialized RAM disk,就是由 boot loader 初始化的内存盘。在 linux内核启动前, bootloader 会将存储介质中的 initrd 文件加载到内存,内核启动时会在访问真正的根文件系统前先访问该内存中的 initrd 文件系统。第一阶段启动的目的是为第二阶段的启动扫清一切障爱,最主要的是加载根文件系统存储介质的驱动模块。3. System.map 阅读全文
posted @ 2009-12-18 14:40 哈呜 阅读(549) 评论(0) 推荐(0)
摘要: 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分钟左右才在自 阅读全文
posted @ 2009-12-18 14:35 哈呜 阅读(244) 评论(0) 推荐(0)

导航