UNIX/LINUX编程
ArduousBonze
C/C++、Python/Perl/Shell、UNIX/LINUX、Oracle/Mysql/DB2
展开
-
Linux查看系统配置常用命令
系统 # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv # 列出所有PCI设备# lsusb -tv # 列出所有USB设备# lsmod # 列出加载的内核模块# env # 查转载 2009-06-29 15:20:00 · 1031 阅读 · 0 评论 -
ACE项目Makefile的编写
关于编写使用ACE类库项目的Makefile的写法,在<<ACE ProgrammersGuide>>一书中有详细的介绍(见2.5 How to build yourapplications),另外ACE包中的文档makefile-hints.html一节也对此作了一些介绍。这里介绍一种更为简单的方法,呵呵,因为已经有好心人为我们写出了自动生成工具。:-) 不知道大家有没转载 2009-05-25 13:55:00 · 2158 阅读 · 0 评论 -
vi技巧
vi的复制粘贴命令 vi编辑器有3种模式:命令模式、输入模式、末行模式。掌握这三种模式十分重要: 命令模式:vi启动后默认进入的是命令模式,从这个模式使用命令可以切换到另外两种模式,同时无论在任何模式下只要按一下[Esc]键都可以返回命令模式。在命令模式中输入字幕“i”就可以进入vi的输入模式编辑文件。 输入模式:在这个模式中我们可以编辑、修改、输入等编辑工作,在编辑器转载 2009-03-19 11:52:00 · 1113 阅读 · 0 评论 -
vi自动缩进
在编辑源代码时,vi 支持自动缩进。编辑源文件(如 .c 文件)时,大多数新版本 vi(像 vim)将自动启用自动缩进模式。如果自动缩进功能启用,可以使用 ^d (control-d) 来向左缩进一级,用 ^t (control-t) 向右缩进一级。如果未自动启用自动缩进,可通过在 ex 命令模式下输入 :set autoindent 来手动启用。还可以按喜好设置 tab 大小,设置命令为 :se转载 2009-03-16 09:07:00 · 2172 阅读 · 0 评论 -
Linux系统环境变量详谈
Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。 常见的环境变量 对于PATH和HOME等环境变量大家都不陌生。除此之外,还有下面一些常见环境变量。 ◆ HISTSIZE是指保存历史命令记录的条数。转载 2009-03-15 23:29:00 · 731 阅读 · 0 评论 -
linux下查看进程/线程
ps ax 命令显示一个当前系统进程的列表,该列表中包括其他用户拥有的进程。要显示进程以及它们的所有者,使用 ps aux 命令。该列表是一个静态列表;换一句话说,它是在你启用这项命令时正在运行的进程的快照。如果你需要一个时刻更新的运行进程列表,使用下面描述的 top 命令。ps 的输出会很长。要防止它快速从屏幕中滑过,你可以把它管道输出给 less 命令: ps aux | less你可以使用转载 2008-12-25 19:12:00 · 1205 阅读 · 0 评论 -
Linux top cpu
NAME top - display Linux tasksSYNOPSIS top -hv | -bcHisS -d delay -n iterations -p pid [, pid ...] The traditional switches - and whitespace are optional.DESCRIPTION The to原创 2008-12-24 22:25:00 · 1005 阅读 · 0 评论 -
Linux下查看一个命令的帮助的两种方法
使用man cmd或者cmd --help原创 2008-12-24 22:13:00 · 1765 阅读 · 0 评论 -
Linux PATH设置和显示
Linux下的变量,多种多样,包含在 Linux 运行的个个环节之中,当然对于一个桌面来说,有一个系统变量是应该知道的。那就是 PATH变量莫属 ,它在系统中的主要作用是,提供命令的搜索路径查看PATH变量:[root@xx ~]# echo $PATH/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/b转载 2008-12-24 22:03:00 · 9275 阅读 · 0 评论 -
Linux 环境下 Makefile 文件制作浅谈(一)
Linux 环境下 Makefile 文件制作浅谈(一) 编写:Leaf Zhou EMAIL:leaf_zhou_8@hotmail.com 可自由复制但禁止删改 2003-10-12转载 2009-05-25 13:56:00 · 1240 阅读 · 0 评论 -
Linux exec函数族
extern char **environ; int execl(const char* fullpath, const char* arg, ...); int execlp(const char* file, const char* arg, ...); int execle(const char* fullpath, const转载 2009-06-04 21:23:00 · 755 阅读 · 0 评论 -
Linux 关于动态链接库以及静态链接库的一些概念
库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀。例如:libhello.so libhello.a 为了在同一系统中使用不同版本的库,可以在库文件名后加上版本号为后缀,例如: libhello.so.1.0,由于程序连接默认以.so为文件后缀名。所以为了使用这些库,通常使用建立符号连接的方式。 ln -s libhello.so.1.0 libhello.so.1 ln转载 2009-06-04 14:26:00 · 1590 阅读 · 0 评论 -
epoll学习笔记
epoll有两种模式,Edge Triggered(简称ET) 和 LevelTriggered(简称LT).在采用这两种模式时要注意的是,如果采用ET模式,那么仅当状态发生变化时才会通知,而采用LT模式类似于原来的select/poll操作,只要还有没有处理的事件就会一直通知.以代码来说明问题:首先给出server的代码,需要说明的是每次accept的连接,加入可读集的时候采转载 2009-06-26 10:18:00 · 798 阅读 · 0 评论 -
EPOLL 边缘触发学习
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __转载 2009-06-26 10:17:00 · 1080 阅读 · 0 评论 -
腾讯公司后台服务器经典面试题 (2009年5月)
前些时间去了腾讯面试, 可惜现场没回答好。 是一些基础问题,同时也比较深入的问题。 在此列出来, 欢迎大家讨论交流。提问(不按时间顺序):1, 使用Linux epoll模型,水平触发模式(Level-Triggered);当socket可写时,会不停的触发socket可写的事件,如何处理?2, 从socket读数据时,socket缓存里的数据,可能超过用户缓存的长转载 2009-06-26 10:14:00 · 1630 阅读 · 0 评论 -
Shell脚本调试技术
Shell脚本调试技术文档选项<trvalign="top"><img alt="" height="1" width="8"src="//www.ibm.com/i/c.gif"/><img alt="" width="16"height="16转载 2009-06-26 16:56:00 · 710 阅读 · 0 评论 -
使用 inotify 监控文件系统的活动
使用 inotify 监控文件系统的活动编写自己的应用程序或使用开源工具套件文档选项<trvalign="top"><img alt="" height="1" width="8"src="unmht:///file.5/C:/Document转载 2009-06-19 12:37:00 · 1025 阅读 · 0 评论 -
vi显示行号的一点小技巧
以前在用vi编辑时,用ctrl+g就可以显示行号,今天不知道为啥老也不行,网上查了下,用下面办法::nu上面命令显示当前光标所在行的行号。如果想将所有行当行号显示,可以执行如下命令::set nu下面是显示行号后的例子: 43 44 String 45 dbtest.bindvalue.PKThreadC原创 2009-06-18 09:34:00 · 867 阅读 · 0 评论 -
Tcpdump的使用
tcpdump采用命令行方式,它的命令格式为: tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ] [ -i 网络接口 ] [ -r 文件名] [ -s snaplen ] [ -T 类型 ] [ -w 文件名 ] [表达式 ] 1. tcpdump的选项介绍 -a 将网络地址和转载 2009-06-15 18:30:00 · 566 阅读 · 0 评论 -
gdb保存断点信息问题
每次启动gdb ,想在main 函数处设断点 编辑一个文件比如叫 a a中输入 br main 保存 gdb 你的可执行文件 -x a就自动执行设断点了。 这相当于是gdb的一个批处理功能,你还可以在文件中加上其他你经常要用到的命令转载 2009-06-06 10:13:00 · 2068 阅读 · 0 评论 -
快速进入主目录
echo $HOMEcd $HOME原创 2008-12-24 22:20:00 · 998 阅读 · 0 评论 -
Ubuntu netbeans安装后出现乱码的解决
我目前用得是Ubuntu8.04 netbeans6.1 安装完成后出现了乱码 中文全变成了小方块!在网上找到了解决方法 一起共享!很简单的方法!大家可以试试把/usr/share/fonts/truetype/arphic/ 文件夹下的字体拷贝到 JAVA_HOME/jre/lib/fonts/fallback下面,就OK了。原创 2009-01-21 22:05:00 · 864 阅读 · 0 评论 -
Linux网络编程-客户端与服务器端异步通信
首先介绍一个函数select #include #include #include #include int select(int nfds,fd_set *readfds,fd_set *writefds, fd_set *except fds,struct timeval *timeout)void FD_SET(int fd,fd_set *fdset)void转载 2008-09-13 11:33:00 · 1095 阅读 · 0 评论 -
Linux网络编程--客户端连接服务器端
第一个简单的应用程序,客户端连接服务器端:####################server.c#################### #include stdio.h>#include stdlib.h>#include unistd.h>#include errno.h>#include string.h>#include sys/types.h>#inclu转载 2008-09-13 11:19:00 · 852 阅读 · 0 评论 -
Linux程序设计入门--网络编程
Linux系统的一个主要特点是他的网络功能非常强大。随着网络的日益普及,基于网络的 应用也将越来越多。 在这个网络时代,掌握了Linux的网络编程技术,将令每一个人处 于不败之地,学习Linux的网络编程,可以让我们真正的体会到网络的魅力。 想成为一 位真正的hacker,必须掌握网络编程技术。 现在书店里面已经有了许多关于Linux网络编程方面的书籍,网络上也有了许多关于 网络编程方面的教材,转载 2008-09-13 11:16:00 · 705 阅读 · 0 评论 -
Linux Telnet SSH
Linux下Telnet、ssh服务的配置和使用Telnet服务的配置步骤如下: 一、安装telnet软件包(通常要两个)。 1、 telnet-client (或 telnet),这个软件包提供的是 telnet 客户端程序; 2、是 telnet-server 软件包,这个才是真正的 Telnet server 软件包! 安装之前先检测是否这些软件包已安装,方法如下: [root@转载 2008-09-07 14:04:00 · 2020 阅读 · 0 评论 -
KDE
KDE,K桌面环境(K Desktop Environment)的缩写。KDE是一种着名的运行于UNIX以及Linux、FreeBSD等类Unix操作系统上面的自由图形工作环境,整个系统采用的都是TrollTech公司所开发的Qt程序库。KDE和GNOME都是Linux操作系统上最流行的桌面环境系统。转载 2008-06-14 21:54:00 · 783 阅读 · 0 评论 -
mount 和 umount
mount 和 umount 命令的使用mount 和 umount 是linux系统中分别用来挂载和卸载文件系统分区的mount:如果此时文件系统已经创建成功,您应该挂载分区了。挂载文件系统的命令是 mount,其语法是:mount [选项] [-o 挂载选项] 在本例中,我们首先会将分区临时挂载在 /mnt (或您选择的任何其它挂载点:请记住,挂载点必须已经存在)。挂载我们新创建的分区转载 2008-08-05 10:46:00 · 1358 阅读 · 0 评论 -
Red Hat9.0与Win XP双系统安装指南
如今Linux不仅在服务器领域的应用取得较大进展,而且在桌面应用领域也有越来越多的人选择使用。下面就以Red Hat Linux 9.0为例,介绍如何与Windows XP组成双系统。 给Linux划分领地 由于Linux无法安装在Windows的分区上,所以必须在硬盘中 分割出一块领地专供Linux使用,这里推荐用分区魔术师进行无损分区。为了方便讲述,这里先举一个实例来说明:装有Wind转载 2008-04-25 15:43:00 · 1170 阅读 · 0 评论 -
windows下的grub安装
Linux与Windows双系统下的引导管理器安装——boot.ini与menu.lst的例解大多数人日常工作所用的系统是Windows,如果想尝试或者转向Linux,那么进行Windows与Linux共存的双系统安装是个不错的主意。但双系统的安装较之单系统,在磁盘分区和引导管理器两个方面增加了复杂性,本文对双系统下引导管理器的安装来加以介绍。笔者假定你已经有了一个可以正常运行的Win转载 2008-04-25 15:50:00 · 2175 阅读 · 0 评论 -
Linux网络编程-客户端与服务器端通信
Linux网络编程--客户端连接服务器端让我们已经看到了client与server之间是如何建立连接的。接下来介绍它们之间如何建立tcp协议交互通信。先看看服务器端代码:###############################tcpserver.c######################### #include stdio.h>#includ转载 2008-09-13 11:23:00 · 1487 阅读 · 0 评论 -
Linux网络编程-客户端与服务器端通信(Echo)
Linux网络编程-客户端与服务器端通信 这里已经详细介绍了服务器与客户端之间的信息交互。本章将继续介绍服务器端回应(Echo)功能展示。先看看服务器端代码:###############################simptcpechoserver.c############################ #include stdio.h>#inclu转载 2008-09-13 11:26:00 · 1120 阅读 · 0 评论 -
linux下c语言select函数用法
select(I/O多工机制) 表头文件 #i nclude#i nclude#i nclude 定义函数 int select(int n,fd_set * readfds,fd_set * writefds,fd_set * exceptfds,struct timeval * timeout); 函数说明 select()用来等待文件描述词状态的改变。参数n代表转载 2008-09-13 11:13:00 · 770 阅读 · 0 评论 -
Vi与Vim的区别
一直用着vi,有朋友劝我用vim,那么它们有什么区别呢?简单点来说,它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。vim的这些优势主要体现在以下几个方面:1、多级撤消我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。2、易用性vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多转载 2009-01-22 11:27:00 · 786 阅读 · 0 评论 -
/etc/profile环境变量配置解析
与环境变量相关的文件可能还会有/etc/bashrc等,不过这是shell变量,是局部的,对于特定的shell器作用。/etc/profile是全局的,适用于所有的shell。profile文件会告诉shell使用什么语言,什么shell,命令的搜索路径等等。一些标准的环境变量:SHELL 默认shellLANG 默认语言PATH linux寻找命令的原创 2009-01-22 11:27:00 · 904 阅读 · 0 评论 -
轻松安装、卸载Linux软件/Linux软件安装通用思路
Linux软件的安装和卸载一直是困扰许多新用户的难题。在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序”来实现。与其相类似,在Linux下有一个功能强大的软件安装卸载工具,名为RPM。它可以用来建立、安装、查询、更新、卸载软件。该工具是在命令行下使用的。在Shell的提示符后输入rpm,就可获得该命令的帮助信息。软件的安装Linux下转载 2009-01-20 22:15:00 · 687 阅读 · 0 评论 -
umask用法
umask是在linux中常见的一个东西,它其实是一个掩码。当然,也有umask这样一个命令,它是对用户建立的文件的默认属性的定义。该定义为: 假设umask为022,则对于一个文件夹的话,它的默认属性为 777-022=755,这也就是我们平时建立文件夹的权限。而对于一般的文件的话,则是用 666-022=644. 这个umask在其他地方也经常见到,比如vsftpd中有 loca转载 2009-01-14 23:03:00 · 1627 阅读 · 0 评论 -
linux定时器的使用
使用定时器的目的无非是为了周期性的执行某一任务,或者是到了一个指定时间去执行某一个任务。要达到这一目的,一般有两个常见的比较有效的方法。一个是用linux内部的三个定时器,另一个是用sleep,usleep函数让进程睡眠一段时间,其实,还有一个方法,那就是用gettimeofday,difftime等自己来计算时间间隔,然后时间到了就执行某一任务,但是这种方法效率低,所以不常转载 2009-01-16 11:18:00 · 691 阅读 · 0 评论 -
ACE中日志系统(Logging Facility)
介绍了ACE中日志系统(Logging Facility)的基本使用一、简介以前曾介绍过一个开源日志系统log4cplus,ACE也有自己的Logging Facility,与log4cplus相似,ACE日志系统也具有线程安全、灵活、分级显示等特点,可以面向程序调试、运行、测试、和维护等全生命周期,可以选择将信息输出到屏幕、文件、系统日志(如Windows下的Event log)、甚至是远程服转载 2009-01-07 09:11:00 · 1935 阅读 · 0 评论 -
Linux信号量的用法
基本函数://semaphore functionint create_sem(key_t key, int members){ int cntr; union semun semopts; int semid; jprintf("Attempting to create new s转载 2008-07-03 22:58:00 · 2044 阅读 · 0 评论