随笔分类 -  Linux

 
用C语言实现Ping程序功能
摘要:大部分人用ping命令只是作为查看另一个系统的网络连接是否正常的一种简单方法。在这篇文章中,作者将介绍如何用C语言编写一个模拟ping命令功能的程序。ping命令是用来查看网络上另一个主机系统的网络连接是否正常的一个工具。ping命令的工作原理是:向网络上的另一个主机系统发送ICMP报文,如果指定系统得到了报文,它将把报文一模一样地传回给发送者,这有点象潜水艇声纳系统中使用的发声装置。例如,在Li... 阅读全文
posted @ 2009-12-30 12:29 surfer 编辑
Linux信号量编程实例
摘要:本例示范Linux信号量的基本用法。该范例使用了两个线程分别对一个公用队列进行入队和出队操作,并用信号量进行控制,当队列空时出队操作可以被阻塞,当队列满时入队操作可以被阻塞。主要用到的信号量函数有:sem_init:初始化信号量sem_t,初始化的时候可以指定信号量的初始值,以及是否可以在多进程间共享。sem_wait:一直阻塞等待直到信号量>0。sem_timedwait:阻塞等待若干时间... 阅读全文
posted @ 2009-12-30 12:28 surfer 编辑
Linux下静态链接库的制作与使用
摘要:Linux 中的应用程序以以下两种方式之一链接到外部函数:要么在构建时与静态库( lib*.a)静态地链接,并且将库代码包含在该应用程序的可执行文件里;要么在运行时与共享库( lib*.so)动态地链接。通过动态链接装入器,将动态库映射进应用程序的可执行内存中。在启动应用程序之前,动态链接装入器将所需的共享目标库映射到应用程序的内存,或者使用系统共享的目标并为应用程序解析所需的外部引用。现在应用程... 阅读全文
posted @ 2009-12-30 12:27 surfer 编辑
Linux下动态链接库技术分析和移植技巧
摘要:摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系统中都有动态库的概念,采用动态库可以有效的减少程序大小,节省空间,提高效率,增加程序的可扩展性,便于模块化管理。但不同操作系统的动态库由于格式 不同,在需要不同操作系统调用时需要进行动态库程序移植。本文分析和比较了两种操作系统动态库技术,并给出了将Visual C++编制的动态库移植到Linux上的方法和经验。    1、... 阅读全文
posted @ 2009-12-30 12:26 surfer 编辑
linux ps(process status) 命令详解
摘要:功能说明:报告进程状况。 常用参数: ps auxf 语  法:ps [-aAcdefHjlmNVwy][acefghLnrsSTuvxX][-C ][-g ][-G ][-p ][p ][-s ][-t ][t ][-u ][-U ][U ][-][--cols ][--columns ][--cumulative][--deselect][--forest][--headers][--he... 阅读全文
posted @ 2009-12-30 12:24 surfer 编辑
sed命令详解
摘要:1.sed-n'2'pfilename打印文件的第二行。2.sed-n'1,3'pfilename打印文件的1到3行3.sed-n'/Neave/'pfilename打印匹配Neave的行(模糊匹配)4.sed-n'4,/The/'pfilename在第4行查询模式The5.sed-n'1,$'pfilename打印整个文件,$表示最后一行。6.sed-n'/.*ing/'pfilename匹配任... 阅读全文
posted @ 2009-12-30 12:23 surfer 编辑
Linux下动态链接库的创建和使用
摘要:/*SList.h单链表的实现*/#ifndefSLIST_H_#defineSLIST_H_#include<iostream>classNode...{public:intinfo;Node*next;Node(intel,Node*ptr=0)...{info=el;next=ptr;}};classSList...{public:SList()...{head=tail=0;}... 阅读全文
posted @ 2009-12-30 12:22 surfer 编辑
linux netstat
摘要:netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息,在我的计算机上执行netstat后,其输出结果为:Active Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 2 210.34.... 阅读全文
posted @ 2009-12-30 12:17 surfer 编辑
netstat 命令详解
摘要:功能说明:显示网络状态。语  法:netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]补充说明:利用netstat指令可让你得知整个Linux系统的网络情况。参  数:-a或--all 显示所有连线中的Socket。-A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址。-c或--continuous 持... 阅读全文
posted @ 2009-12-30 12:15 surfer 编辑
linux kill 命令详解
摘要:当需要中断一个前台进程的时候,通常是使用< Ctrl+c >组合键;但是对于一个后台进程恐怕就不是一个组合键所能解决的了,这时就必须求助于kill命令。该命令可以终止后台进程。至于终止后台进程的原因很多,或许是该进程占用的CPU时间过多;或许是该进程已经挂死。总之这种情况是经常发生的。  kill命令是通过向进程发送指定的信号来结束进程的。如果没有指定发送信号,那么默认值为TERM信号... 阅读全文
posted @ 2009-12-30 12:14 surfer 编辑
GNU make的用法详解
摘要:GNU make 指南 本文是一篇介绍 GNU Make 的文章,读完后读者应该基本掌握了 make 的用法。而 make 是所有想在 Unix (当然也包括 Linux )系统上编程的用户必须掌握的工具。如果你写的程序中没有用到 make ,则说明你写的程序只是个人的练习程序,不具有任何实用的价值。也许这么说有点儿偏激,但 make 实在是应该用在任何稍具规模的程序中的。希望本文可以为中国的 U... 阅读全文
posted @ 2009-12-30 12:13 surfer 编辑
Db2 日常实用操作积累-部分
摘要:DB2数据库1、Load 方法装入数据:export to tempfile of del select * from TABLENAME where not 清理条件;load from tempfile of del modified by delprioritychar replace into TABLENAME nonrecoverable;说明: 在不相关的数据表export数据时,可... 阅读全文
posted @ 2009-12-30 12:12 surfer 编辑
FTP命令详解
摘要:FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作系统下使用FTP,都会遇到大量的FTP内部命令。熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。  FTP的命令行格式为:ftp -v -d -i -n -g [主机名],其中  -v显示远程服务器的所有响应信息;  -n限制ftp的自动登录,即不使用;  .n etrc文件;  -d使用调... 阅读全文
posted @ 2009-12-30 12:11 surfer 编辑
ar和nm命令的使用
摘要:当我们的程序中有经常使用的模块,而且这种模块在其他程序中也会用到,这时按照软件重用的思想,我们应该将它们生成库,使得以后编程可以减少开发代码量。这里介绍两个命令ar和nm,用来对库操作。当我们的程序中有经常使用的模块,而且这种模块在其他程序中也会用到,这时按照软件重用的思想,我们应该将它们生成库,使得以后编程可以减少开发代码量。这里介绍两个命令ar和nm,用来对库操作。1、ar基本用法ar命令可以... 阅读全文
posted @ 2009-12-30 12:09 surfer 编辑
linux下DNS配置详解
摘要:linux下DNS配置详解DNS 是域名系统(DomainName Server) 的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。 DNS 命名用于Internet等TCP/... 阅读全文
posted @ 2009-12-27 23:19 surfer 编辑
linux fedora core 5如何配置FTP服务和Web服务
摘要:非常详细的vsftpd服务器配置相关文件:/etc/vsftpd/vsftpd.conf 主配置文件/etc/vsftpd.ftpusers 指定哪些用户不能访问FTP服务器/etc/vsftpd.user_list 可以根据vsftpd.conf文件中的设置来决定该文件中指定的用户是否可以访问ftp服务器/etc/rc.d/init.d/vsftpd vsftpd的启动脚本文件2.修改/etc/... 阅读全文
posted @ 2009-12-27 23:15 surfer 编辑
/etc/fstab文件详解
摘要:fstab中存放了与分区有关的重要信息,其中每一行为一个分区记录,每一行又可分为六个部份,下面以/dev/hda7 / ext2 defaults 1 1为例逐个说明:1. 第一项是您想要mount的储存装置的实际位置,如hdb或如上例的/dev/hda7。2. 第二项就是您想要将其加入至哪个目录位置,如/home或如上例的/,这其实就是在安装时提示的挂入点。3. 第三项就是所谓的local fi... 阅读全文
posted @ 2009-12-27 23:12 surfer 编辑
在HP-UX下如何给根盘做磁盘镜像
摘要:用下面的命令确定和记录要成为镜像盘的磁盘硬件地址: ioscan -fnC disk  在这个例子中,用作镜像的磁盘为/dev/dsk/c1t0d0。请参考下面所使用的每个命令的帮助页,以更好地了解这些命令。  建立根卷组镜像:1) swlist -l bundle如果系统上已安装,这个命令将显示MirrorDisk/UX。如果未找到MirrorDisk/UX,则需要将其装载到系统上,这个产品**... 阅读全文
posted @ 2009-12-27 23:04 surfer 编辑
bash shell字符串的截取
摘要:shell字符串的截取的问题:一、Linux shell 截取字符变量的前8位,有方法如下:1.expr substr “$a” 1 82.echo $a|awk ‘{print substr(,1,8)}’3.echo $a|cut -c1-84.echo $5.expr $a : ‘\(.\\).*’6.echo $a|d... 阅读全文
posted @ 2009-12-27 23:01 surfer 编辑
awk 用法小结
摘要:ARGV 命令行变元数组FILENAME 当前输入文件名FNR 当前文件中的记录号FS 输入域分隔符,默认为一个空格RS 输入记录分隔符NF 当前记录里域个数NR 到目前为止记录数OFS 输出域分隔符ORS 输出记录分隔符1、awk '/101/' file 显示文件file中包含101的匹配行。 awk '/101/,/105/' file awk '$1 == 5' file awk '$1... 阅读全文
posted @ 2009-12-27 22:59 surfer 编辑