Linux
文章平均质量分 57
lllxy
这个作者很懒,什么都没留下…
展开
-
获取线程堆栈的默认空间的演示
#include #include #include /*FileName: testpthreadstack.cg++ -o testpthreadstack testpthreadstack.c -lpthread*/#include #include #include // PTHREAD_STACK_MIN#define KByt原创 2009-03-18 22:43:00 · 1963 阅读 · 0 评论 -
使用sed把字符串转换为数据库中in子句的例子。
有这样一个需求,我现在的字符串为"1|2",我现在希望转为:"(1,2),该如何实现?#!/bin/sh #filename: d var="1|2"echo "("$var")" | sed "s/|/,/g"注意: 当从命令行向sed传值的时候,sed的子句应该用双引号引起来.原创 2008-12-05 23:00:00 · 949 阅读 · 0 评论 -
使用valgrind检测内存泄露的问题。
/*#filename: test1.c这个例子演示了当对一个全局指针分配空间的时候,如果不显示调用free,也不会出现内存泄露,因为系统会自动回收。通过valgrind测试。*/#include #include #include #include //use boolstatic int bIsExit = 0;int * x = NU原创 2009-02-16 17:02:00 · 2827 阅读 · 0 评论 -
在Linux中使用popen的例子.
在Linux下进行编写程序的时候,如果需要执行一段脚本,并且需要获取脚本执行的结果,按么最好使用popen。下面就举一个例子:c代码文件为: 3.C,内容如下: #include #include #include #include #include #include typedef stru原创 2008-12-03 17:49:00 · 1520 阅读 · 0 评论 -
在shell中使用while循环的例子
#!/bin/sh #filename:2.sh b=9e=15tmpb=$bwhile [ $tmpb -le $e ]do echo $tmpb #tmpb=`expr $tmpb + 1` //ok tmpb=$(expr $tmpb + 1)done执行这个脚本后,输出的结果为:9101112131415 注意:原创 2008-12-03 11:44:00 · 22451 阅读 · 0 评论 -
如何在shell中对浮点数进行计算?
在shell中具有最基本的数学计算能力,如可以使用expr 、let 。但这些都只能处理整形数据。为了要计算小数,就需要通过bc命令扩展。下面演示了一个例子,判断输出的参数类型,然后计算出它的平方.#!/bin/sh #filename: testbc var=$1dd=$(echo $var|bc 2>/dev/null )if [ "$var" !=原创 2008-12-05 10:37:00 · 23034 阅读 · 0 评论 -
通过临时文件的方法把awk中的数组赋值给shell中的数组
shell 脚本如下:#!/bin/sh #filename useshellarray #date: 2008-12-01 11:16:35 count=0record="abc#def#ghi"`awk BEGIN { split(""$record"",myarray,"#")} END { for (i in myarray) {pri原创 2008-12-01 11:14:00 · 3898 阅读 · 2 评论 -
使用system调用shell脚本时的返回值的使用
1. 创建一个脚本a,内容如下:#!/bin/sh #filename: a exit 22 2. 创建一个c语言程序1.C,调用该脚本,通过system的返回值来判断是否执行脚本成功.#include #include #include int main() { int nRes = s原创 2008-11-30 20:26:00 · 6092 阅读 · 0 评论 -
使用pthread_cond_timedwait把一个线程作为一个定时器使用.
#include #include #include #include void * Proc(void * arg){ pthread_cond_t cond; pthread_mutex_t mutex; pthread_mutex_init(&mutex,NULL); pthread_cond_init(&cond,NULL);原创 2009-02-10 15:57:00 · 12124 阅读 · 3 评论 -
echo不换行的实现
echo的参数中, -e表示开启转义, /c表示不换行,脚本如下:#!/bin/sh #filename: 1 echo -e "please input a value:/c"read valueecho "what you input is:" $value脚本2:#!/bin/sh #filename: 1 echo -n "please原创 2008-12-01 22:07:00 · 75956 阅读 · 7 评论 -
使用grep判断是否需要通过sed往文件中增加数据。
如下需求: 有一个名称为c的文件,先判断是否有b数据,如果没有,则往c中加入b,否则不处理。假设文件c的内容为:#!/bin/sh #filename: c the first is 1the second is 2the third is 3实现的脚本如下:#!/bin/sh #filename:usersed #description:原创 2008-12-11 13:27:00 · 1387 阅读 · 0 评论 -
使用sed如何把每行从#开始的所有后面的字符清空?
有这样一个文件2:#!/bin/sh#filename: ba=1 #test我想把所有以#开始的行删除,并以把不是以#开始的行中从#开始的所有后面的字符清空,该如何实现?如上面的文件2,我希望得到的结果就是:a= 1实现的脚本如下:#!/bin/sh #filename:3 sed s/#.*//g 2 > $$sed /^$/d $$原创 2008-12-14 16:24:00 · 3195 阅读 · 0 评论 -
shell中使用sort进行多列排序.
有这样一个文件d:A 20010212B 20010312A 20000212A 20020212B 20020212我想得到如下结果的文件:A 20000212A 20010212A 20020212B 20010312B 20020212 该如何实现? 为了实现这个结果,可以执行如下脚本:#!/bin/sh #filename:r sort +原创 2008-12-12 09:09:00 · 6236 阅读 · 0 评论 -
学习信号处理的一个例子
在学习>的中信号处理的时候,我把书上的例子给写出来,并写出了一些自己的一些疑问:1. 在第95行的时候,书上使用的是while(sigflag == 0),我想是不是使用if(sigflag == 0)是否也可以。2.如果信号的动作是终止进程,则sigsuspend函数不返回。如果信号是动作的执行信号句柄,则在信号句柄返回后,sigsuspend函数返回。代码如下:#inc原创 2008-12-26 16:13:00 · 2154 阅读 · 0 评论 -
使用crontab的几个例子.
在向cron进程提交一个crontab文件之前,必须配置环境变量EDITOR。cron进程根据它来确定使用哪个编辑器编辑cron文件。在UNIX和Linux用户都使用vi,如果你也是这样,那么你就编辑$HOME目录下的.profile文件,在其中加入这样一行:EDITOR=vi ;export EDITOR 你必须保证$PATH目录中有vi编辑器,通过使用which vi来检查vi所在的原创 2008-12-26 14:23:00 · 4209 阅读 · 0 评论 -
SIGUSER1 通过kill -10 pid进行触发的例子,并且该信号触发了与Accept函数。
#include #include #include #filename: 1. Cstatic void sig_usr(int);int main(void){ cout"SIGUSR1:" if(signal(SIGUSR1,sig_usr) == SIG_ERR) cout"cant catch SIGUSR1 /n原创 2008-12-24 16:46:00 · 9135 阅读 · 0 评论 -
安装vim72后如何设置全局的vimrc?
在http://www.vim.org/上下载了最新的vim版本vim-7.2.tar.bz2,把该版本文件放在路经为在/usr/local下,通过 bunzip2 -c vim-7.2.tar.bz2 | tar -xf - 命令解压这个文件后,生成了一个目录vim72.然后进入该目录安装vim72。在安装vim72前必须安装ncurses库文件。 默认安装后vim72安装原创 2008-12-23 14:19:00 · 4961 阅读 · 2 评论 -
论window和Linux之长短
论window和Linux之长短王垠— 摈弃 Windows 低效率的工作方式,发掘 Linux 身上的 UNIX 气质我已经半年没有使用 Windows 的方式工作了。Linux 高效的完成了我所有的工作。GNU/Linux 不是每个人都想用的。如果你只需要处理一般的事务,打游戏,那么你不需要了解下面这些了。 我不是一个狂热的自由软件份子,虽然我很喜欢自由软件。这篇文章也不是转载 2008-12-21 20:34:00 · 969 阅读 · 0 评论 -
(转)使用nohup让程序在远程主机后台运行
因为我购买的一个国外主机居然开放了Telnet权限,因此我也使用Telnet登录上去玩玩Linux,但发现一关闭窗口就自动和主机断开了,和Windows的终端不一样,所以就上网找啊找,找到了一个从后台一直运行某个程序的方法。 Unix/Linux下一般比如想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: /usr/local/mys转载 2008-12-18 17:37:00 · 721 阅读 · 0 评论 -
在shell中给当前的时间增加30秒的例子。
脚本如下:#!/bin/sh #filename:time.sh #get the current time datedd=`date +%Y-%m-%d %H:%M:%S` echo $dddd2=`date -d "$dd" +%Y-%m-%d %H:%M:%S`dd3=`date -d "$dd2" +%s`echo $dd3原创 2008-12-17 14:27:00 · 4630 阅读 · 0 评论 -
Linux下线程的同步(转)
Linux下线程的同步(转)进行多线程编程,最头疼的就是那些共享的数据。因为你无法知道哪个线程会在哪个时候对它进行操作,你也无法得知那个线程会先运行,哪个线程会后运行。下面介绍一些技术,通过他们,你会合理安排你的线程之间对资源的竞争。l 互斥体Mutexl 信号灯Semophorel 条件变量Conditions先说一下互斥量。什么时候会用上转载 2008-12-17 11:18:00 · 895 阅读 · 0 评论 -
从一文本内删除 另一文本内含有的内容
RT 比如a文本内有aaabbbcccdddb文本内有dddccceee删除后a文本内只有aaabbb shell命令为: grep -Fvxf b a转载 2008-12-14 16:57:00 · 997 阅读 · 0 评论 -
演示了如何在Linux的Shell中使用数组.
#!/bin/bash # Bash shell script to reverse text file contain i.e. concatenate files and # print on the standard output in reverse. This script also demonstrate how # to use arrays under bash转载 2008-11-25 16:56:00 · 1624 阅读 · 0 评论 -
Linux shell中字符串的比较
我想在shell中完成如下的动作:VAR1=abcd VAR2=ef,那么按照c语言 VAR2大于VAR1了,可是我看到shell中好象只能检测这两个字符串是否匹配 而不能比较大小啊好像是不能比较大小。如果用变通的方式呢,似乎可考虑用sort等命令来组合。麻烦点儿。if [ $VAR1 = `echo "$VAR1 $VAR2"|sort|head -1` ]thenecho "VAR1 is l转载 2008-11-25 16:44:00 · 4037 阅读 · 0 评论 -
在Shell中获取时间的年、月、日。
脚本如下:#!/bin/sh #Filename: time.sh if [ $# -ne 2 ];thenecho "please input two para"exit 1fit1=$1t2=$2l1=`awk BEGIN { print length(""$t1"")}`l2=`awk BEGIN { print length("原创 2008-11-24 21:53:00 · 4849 阅读 · 0 评论 -
Linux系统下的网络信息查询函数
网络应用程序需要得到的主机上的与网络有关的信息一般包括:主机、网络、协议和服务。这些信息中,主机和网络信息既可以通过域名系统(DNS)来获取,也可以通过相关的文件得到,而服务和协议信息一般要从相应得文件中读取。与网络信息有关的系统文件如下所示: 信息原创 2007-11-07 17:31:00 · 1511 阅读 · 0 评论 -
在Linux下获取多个ip地址(转载)
源代码级Unix/Linux 通用网卡IP地址获取方法主要通过这两个函数:gethostname()和gethostbyname() int gethostname(char *name, size_t namelen);DESCRIPTIONThe gethostname() function shall return the standard host na转载 2007-11-05 18:03:00 · 3933 阅读 · 0 评论 -
解决了一个关于mysql登陆的问题.
在susi中安装mysql的时候碰到了这样一个问题:在/sbin/下 增加了一个链接文件mysql 指向/usr/local/mysql/bin/mysql , 在mysql 服务器启动后,执行命令: $:> /usr/local/mysql/bin/mysql -u root –p Enter password: ****能够登陆成功,但直接执行mysql则不行,如下所示:原创 2007-10-12 13:28:00 · 960 阅读 · 0 评论 -
Linux多线程程序设计,(网络上流传的一道题)
有四个线程1,2,3,4,线程1的功能就是输出1,线程2的功能就是输出2,以此类推.....现在有四个文件.ABCD.初始都为空.现要让四个文件呈如下格式:A: 1 2 3 4 1 2....B: 2 3 4 1 2 3....C: 3 4 1 2 3 4....D: 4 1 2 3 4 1....设计程序. #include sys/types.h>#include sys原创 2007-11-04 14:31:00 · 1261 阅读 · 0 评论 -
调谐LINUX网络性能之网络配置文件详解(转)
在《调谐LINUX网络性能之调试工具篇》中,我们介绍了route、netstat、tcpdump三种网络调谐测试工具的使用方法及其可实现的功能。本文我们将着重介绍网络配置文件的内容,帮您读懂这些文件。/etc/modules.conf 文件 该配置文件定义了各种需要在启动时加载的模块的参数信息,这里主要着重讨论关于网卡的配置。为了减少启动时可能出现的问题,Linux内核不会自动检测多转载 2007-10-12 14:06:00 · 1750 阅读 · 0 评论 -
LINUX学习笔记——DNS服务器设置篇(转载)
LINUX学习笔记——DNS服务器设置篇 推荐人:sheke 信息发布日期:2005-03-20转载 2007-10-28 12:01:00 · 1105 阅读 · 0 评论 -
在Debian中配置网络
1. 配置IP和DNS(修改 /etc/network/interfaces文件) auto lo iface lo inet loopback #description:static ip auto eth0 iface eth0 inet static address 192.168.1.119 netmask 255.255.255.0 g原创 2007-08-27 17:01:00 · 1729 阅读 · 0 评论 -
在Debian中玩转MySql(下)
1. 停止mysql服务的几种方法 1): $:>/usr/local/mysql/bin/mysqladmin -u root -p shutdown 2): $:>/usr/local/mysql/support-files/mysql.server stop 3): 也可以先通过ps -ef 查找出mysql的进程ID,通过kill -9 (id)来停止进程 2.原创 2007-07-28 00:04:00 · 4723 阅读 · 0 评论 -
在Debian中玩转MySql(上)
debian的安装版本:debian-40r0-i386-netinst.iso,从www.debian.org中下载 MySql的版本mysql-max-5.0.22-linux-i686-glibc23.tar.gz,从www.mysql.com中下载 WinSCP软件: 把windows上的东西传递到虚拟机上在虚拟机virtual pc 2007 或者vmware 6.0 上安装deb原创 2007-07-25 23:29:00 · 5962 阅读 · 0 评论 -
Linux各版本上的多网卡绑定(Debian和Ubuntu,SuSE,Fedora和RH)
Linux上很容易可以将多块网卡绑定,实现负载均衡和双线热备的功能。负载均衡即将负载平均的分配到任意多块网卡上面,实现带宽的叠加双线热备即多块网卡互为备份,任何一块能够工作即可保证网络正常运行。各个绑定类型的分别mode=0 Round-robin: sequential(轮询负载均衡,最常用) mode=1 Active-backup: only one mode=2 XOR: same MAC转载 2007-11-27 16:07:00 · 1729 阅读 · 0 评论 -
在shell中编程实现获取c函数输出
最近碰到这样一个问题,通过c语言写了一个程序,然后再shell脚本中获取这个c语言的输出,执行其他的处理,该如何做?比如,c语言程序输出hello world,通过shell脚本获取到这个输出,然后输出:the first is hello, the second is world.该如何做?我把我的解决方案整理如下:1. 编程和编译c语言程序 源代码如下hello.c: #i原创 2007-12-02 16:57:00 · 4741 阅读 · 0 评论 -
使用脚本实现killproc的功能
在shell提示符号下输入type killproc,会发现killproc实在 /sbin/目录下,通过man killproc可以查看这个脚本(姑且这么称为脚本)的用法,现在,把这个脚本的实现过程通过脚本实现了,请看下面脚本。#!/bin/bash## This script kills all programs specified in the input line## Example:原创 2007-12-17 16:39:00 · 16314 阅读 · 1 评论 -
在shell中如何判断一个变量是否为空
判断一个脚本中的变量是否为空,我写了一个这样的shell脚本: #!/bin/sh #filename: test.sh para1=if [ ! -n $para1 ]; then echo "IS NULL"else echo "NOT NULL"fi 然后把该脚本:test.sh通过chmod +x 改为可以执行的脚本,执行后输出的结果为:原创 2008-11-08 15:45:00 · 84782 阅读 · 4 评论 -
转: Linux下统计目录及子目录文件个数
查看某目录下文件的个数 ls -l |grep "^-"|wc -l 或 find ./company -type f | wc -l 查看某目录下文件的个数,包括子目录里的。 ls -lR|grep "^-"|wc -l 查看某文件夹下目录的个数,包括子目录里的。 ls -lR|grep "^d"|wc -l 说明:转载 2008-11-11 17:40:00 · 8097 阅读 · 1 评论 -
转: 手把手教你把Vim改装成一个IDE编程环境(图文)
手把手教你把Vim改装成一个IDE编程环境(图文)By:吴垠Date:2007-09-07Version:0.5Email:lazy.fox.wu#gmail.comHomepage:http://blog.csdn.net/wooinCopyright:该文章版权由吴垠和他可爱的老婆小包子所有。可在非商业目的下任意传转载 2008-10-31 11:15:00 · 772 阅读 · 0 评论