
linux/unix
文章平均质量分 62
plusboy
这个作者很懒,什么都没留下…
展开
-
linux下用valgrind做内存检查
用C/C++开发其中最令人头疼的一个问题就是内存管理,有时候为了查找一个内存泄漏或者一个内存访问越界,需要要花上好几天时间,如果有一款工具能够帮助我们做这件事情就好了,valgrind正好就是这样的一款工具。Valgrind是一款基于模拟linux下的程序调试器和剖析器的软件套件,可以运行于x86, amd64和ppc32架构上。valgrind包含一个核心,它提供一个虚拟的CPU运行程序,还有一原创 2007-02-08 18:00:00 · 3188 阅读 · 0 评论 -
巧用find命令管理文件名为乱码的文件
巧用find命令管理文件名为乱码的文件 当文件名为乱码的时候,无法通过键盘输入文件名,所以在终端下就不能直接利用rm,mv等命令管理文件了。但是我们知道每个文件都有一个i节点号,我们可以考虑通过i节点号来管理文件。首先,我们要取得文件的i节点号。这个可以通过ls命令的-i选项获得得。-bash-3.00$ ls -i41697812 a 32983551 di 329原创 2007-09-16 23:15:00 · 1687 阅读 · 0 评论 -
unix文件管理命令
unix文件管理命令unix系统提供了很多命令用于管理文件和目录。它们以简单的方式完成各种特定的任务,比如删除符合指定条件的文件,重命名某些文件。下面是一些常用到的命令。1、lsls是一个使用频率非常高的命令,它指指定目录的内容输出到标准输出,如果没有指定目录则输出当前工作目录的内容。如下图:-bash-3.00$ lsdi di.c ethnet ethnet.c ethne原创 2007-09-13 19:53:00 · 5218 阅读 · 0 评论 -
bash shell的执行过程
bash shell的执行过程1、检查/etc/profile文件是否存在,如果存在,bash就读取该文件,否则跳过。2、检查~/.bash_profile文件是否存在,如果存在就读取该文件,否则跳过。3、检查~/.bash_login文件是否存在,如果存在就读取该文件,否则跳过。4、检查~/.profile文件是否存在,如果存在就读取该文件,否则跳过。5、显示提示符。原创 2007-09-16 00:18:00 · 1489 阅读 · 0 评论 -
linux网络编程基础
linux网络编程基础首先,什么是socket?socket是计算机用于与网络上的其它计算机进行通信的一个接口,它就像是电源插线板上的插口一样,用电电器想要获得电源,就必须要有个插头连接到插线板上的插口。同样,计算机要想获得一个网络连接就得建立一个socket。下面是一些在建立一个socket时常的函数:socket() --- 用来创建一个socket接口例:sock = soc原创 2007-09-12 20:56:00 · 1568 阅读 · 0 评论 -
linux文件搜索查找命令
linux文件搜索查找命令1、grep功能描述grep 命令在一个或多个文件中查找与指定模式匹配的字符串。如果模式里包含有空格,必须用引号括起来。grep的模式只能是一个被引号括起来的字符串或者是一个单词,后面紧跟着的参数都被当作文件名。grep命令把结果输出到标准输出上,并不改变被搜索的源文件。命令格式grep pattern filename filename2 ...grep原创 2007-09-14 20:41:00 · 14273 阅读 · 2 评论 -
使用GNU automake工具集的几个步骤
使用GNU automake工具集的几个步骤1、使用autoscan命令来扫描源代码目录生成configure.scan文件2、把configure.scan重命名为configure.in文件,根据需要修改该文件里的各项宏定义3、执行aclocal生成aclocal.m4文件4、执行autoconf通过configure.in生成configure文件5、编写Makefile.am文件6、执行a原创 2007-05-25 15:54:00 · 2186 阅读 · 0 评论 -
Linux 下ioctl的bug?
ifconfig 在Linux和Solaris下的差别在unix系统下可以通过ifconfig命令来查询和设置网络接口的运行参数,在各个unix系统下,它的绝大多数功能是一样的,不过今天我发现了一个在Linux和Solaris下不一致的地方。那就是ifconfig的up命令。在Solaris下执行如下两个命令 #ifconfig ifname down #ifconfig ifname原创 2007-04-13 16:52:00 · 1907 阅读 · 0 评论 -
在Solaris下使用IPMP(IP Multipathing)
在Solaris下使用IPMP(IP Multipathing)为什么要使用IPMP1、为了增加网络的吞吐量,实现多网卡的负载均衡。2、为了实现网卡冗余,提高系统可靠性与可用性。比如有某块网卡因为某些不可预测的原因,从网络上断开了,这时候客户就再也访问不了与该网卡相关联的IP地址了。但是如果使用了IPMP,我们就可以把几块网卡配置成一个组,一旦组里面的某块网卡与网络的连接断开了,那么IPMP就会检原创 2007-07-03 17:42:00 · 3053 阅读 · 0 评论 -
Solaris 内核统计信息 - 使用C访问libkstat
前段时间看了篇文章,高兴的时候就把它翻译过来了。哈哈,第一次翻译文章,水平有限,不足之处欢迎指正。原文出处:http://developers.sun.com/solaris/articles/kstatc.html <!-- @page { size: 21cm 29.7cm; margin: 2cm } PRE.wes翻译 2007-03-21 17:04:00 · 4048 阅读 · 0 评论 -
RPM与pkg两种软件安装包的制做方法
<!-- @page { size: 21cm 29.7cm; margin: 2cm } P { margin-bottom: 0.21cm } --> 软件开发的最终目标就是要给用户用,而在把软件发布给用户前,我们一般会先制做一个安装包,这样用户在使用我们的软件前就能轻松的把软件安装到系统上,这篇文章我就介绍在L原创 2007-02-01 18:47:00 · 5280 阅读 · 0 评论 -
glib库hash表GHashTable介绍
hash表是一种提供key-value访问的数据结构,通过指定的key值可以快速的访问到与它相关联的value值。hash表的一种典型用法就是字典,通过单词的首字母能够快速的找到单词。关于hash表的详细介绍请查阅数据结构的相关书籍,我这里只介绍glib库中hash表的基本用法。要使用一个hash表首先必须创建它,glib库里有两个函数可以用于创建hash表,分别是g_hash_table_new原创 2007-01-28 15:35:00 · 24578 阅读 · 5 评论 -
取得Linux系统的各种统计信息
<!-- @page { size: 21cm 29.7cm; margin: 2cm } P { margin-bottom: 0.21cm } --> 取得Linux系统的各种统计信息 本文基于Linux 2.6.x内核 一、取得CPU信息(相关文件/proc/stat) 在一个系原创 2007-03-13 17:54:00 · 10001 阅读 · 1 评论 -
glib库队列GQueue介绍
队列是一种向最后添加条目,从最前删除条目的数据结构,这种数据结构在处理按顺序到达的数据是很有用。glib库提供的队列GQueue是一个双端队列,它的实现基础是双向链表,所以它支持在队列的两端进行添加和删除,也支持很多其它的操作,比如在队列中进行插入和删除,但是我不推荐使用这样的功能,因为当你经常需要在队列中进行插入和删除的时候,链表或许是个更好的选择。下面的代码演示利用glib库中的GQueue向原创 2007-01-24 21:31:00 · 8116 阅读 · 0 评论 -
glib库数组GArray介绍
glib库中的数组GArray类型很像C++标准容器库中的vector容器。要使用glib库中的数组中需要声明一个指向GArray类型的指针。GArray的定义如下:struct GArray{ gchar *data; guint len;};然后就可以在这个数组前或者数组后添加数据,添加数据的时候数组也会像C++中的vector容器一样自动增长,并分配内存。下面我们来看看这一段示例代原创 2007-01-23 19:18:00 · 9747 阅读 · 0 评论 -
glib库双向链表GList介绍
在上一篇文章里我介绍了glib库中单向链表的用法,这篇文章介绍glib库双向链表的用法,还是沿用上一篇文章的风格,采用在代码中加入注释来说明代码,最后贴出程序的运行结果,然后加以少量说明。双向链表与单向链表的区别是,从一个节点,不仅能访问到它的下一个节点,还能访问到它的上一个节点,其定义如下:struct GList{ gpointer data; GList *next;原创 2007-01-21 17:54:00 · 13325 阅读 · 4 评论 -
glib库单向链表GSList介绍
glib库单向链表介绍glib库里实现了一些基本的数据结构,比如单向链表,双向链表、队列、树、hash表和数组。这篇文章里我主要介绍在linux平台下使用glib库中的单向链表进行编程,以后的文章我会陆续介绍双向链表、队列和其它数据结构的用法。单向链表(即GSList)是glib库里最简单的容具,它把一系列的节点链接在一起,可以从一个节点访问到下一个节点。glib库里对GSList结构的定义如原创 2007-01-19 13:39:00 · 15815 阅读 · 3 评论 -
linux下的C语言开发要学些什么
linux下的C语言开发要学些什么虽然在linux下写程序也有5、6年了,但是这几年来一直都没有想过在linux下开发要学习些什么东西,2006年年初离开了原来的公司,进入现在的公司做linux平台下的集群开发,linux下的C编程便成了每天工作的重点。前两天回到母校的BBS上转了一下,看到一些师弟们在问,学完学校的C语言教科书后,怎么进一步学习C语言开发。现在我就以我这几年的经验谈谈在lin原创 2007-01-17 09:18:00 · 12293 阅读 · 9 评论 -
bash shell的几个配置文件的作用
bash shell的几个配置文件的作用/etc/profile为用户设置环境信息。用户第一次登录时,执行该文件。/etc/profile设置用户的PATH、HISTSIZE、HISTFILESIZE等环境变量的值。最后从/etc/profile.d目录中搜集shell的设置信息。~/.bash_profile配置用户自己的shell信息,用户登录时执行该文件设置环境变量,并由该文件执行~原创 2007-09-16 00:34:00 · 1272 阅读 · 0 评论