存档

‘linux’ 分类的存档

mcrypt.h not found. Please reinstall libmcrypt”的解决方法

2014年1月7日 6 条评论

centos源不能安装libmcrypt-devel,由于版权的原因没有自带mcrypt的包 有两种方法解决,一种是使用第三方源,这样还可以使用yum来安装,简单方便,坏处是第三方源多少有中不可靠的感觉。 解决办法一 1、安装第三方yum源 wget http://www.atomicorp.com/installers/atomic sh ./atomic 2、使用yum命令安装 yum  install  php-mcrypt  libmcrypt  libmcrypt-devel       解决办法二、 使用php mcrypt 前必须先安装Libmcrypt libmcrypt源码安装方法: cd /usr/local/src wget http://softlayer.dl.sourcef...

分类: linux 标签: ,

linux增加自定义path和manpath

2013年12月13日 1 条评论

linux安装软件到自定义路径时,新安装的命令需要带上路径才可以执行,不能像系统自带命令那样可以直接使用。 这个时候可以通过修改环境变量PATH和MANPATH,来实现像系统命令一样使用新安装的命令并能查看man。 我们以php-fpm安装为例,安装完成之后,php的安装目录是/usr/local/php php的可执行文被件安装到 /usr/local/php/bin php的man文件被安装到 /usr/local/php/php/man/man1/ /usr/local/php/php/man/man8/ 1.如果不修改环境变量就直接在命令行使用php会提示 -bash: php: command not found ...

分类: linux, nginx 标签: ,

同时tail多个文件

2013年11月10日 2 条评论

普通的tail命令只能查看一个文件的输出,保存如下内容为multail.sh #!/bin/sh function clean() { #echo $@; #for file in "$@"; do ps -ef|grep $file|grep -v grep|awk '{print $2}'|xargs kill -9; done jobs -p|xargs kill -9 } files=$@ # When this exits, exit all back ground process also. #trap "ps -ef|grep tail|grep -v grep|awk '{print "'$2'"}'|xargs kill -9" EXIT trap "clean $files " EXIT ...

分类: linux 标签:

用 GDB 调试程序

2013年11月3日 没有评论

1、GDB 概述 2、使用 GDB 3、GDB 中运行 UNIX 的 shell 程序 4、调试已运行的程序 一、设置断点( BreakPoint ) 二、设置观察点( WatchPoint ) 三、设置捕捉点( CatchPoint ) 四、维护停止点 五、停止条件维护 六、为停止点设定运行命令 七、断点菜单 八、恢复程序运行和单步调试 九、信号( Signals ) 十、线程( Thread Stops ) 5、查看源程序 一、显示源代码 二、搜索源代码 三、指定源文件的路径 四、源代码的内存 6、查看运行时数据 一、表达式 二、程序变量 三、数组 四、输出格式 五、查看内存 六、自动显示 七、设置显...

分类: linux 标签: ,

awk 使用shell参数变量

2013年10月31日 1 条评论

awk是一行一行处理文本,当需要判断当前处理行是否满足特定条件时,需要从shell中输入参数,然后放到awk的脚本命令中配合处理。 比如awk读取shell的位置参数$1 ,如果直接放在awk命令中会与每行的第一个字段$1冲突,需要特殊处理。 例如有文件 iet.txt如下格式,需求是提取第一个字段或第二个字段为AA的行 AA BB CC DD EE  FF CC DD EE FF GG DD ... 脚本如下,保存为tiqu.sh #!/bin/bash sed '/^$/d' iet.txt|awk '{if(NF>3&&($1=="'$1'"||$2=="'$1'")){print $1","$2","$6 }}' 执行方法: bash tiqu.sh AA 输出结果: AA BB...

分类: linux 标签: , , ,

linux当前网络连接状态

2013年10月29日 2 条评论

查看当前网络连接状态命令 netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 解释: NF 当前处理行字段总个数 $NF (与$1对应)最后一个字段的值 awk特殊字段介绍 NR 当前处理总行数。因为awk是流处理工具,一行一行处理的,所以NR在不停的自增1,表示awk开始执行程序后所读取的数据行数 FNR 当前处理行是当前文件第几行,其变量值小于等于NR(比如当读取第二个文件时,FNR是从0开始重新计数,而NR不会)。 NR==FNR:用于在读取两个或两个以上的文件时,判断是不是在读取第一个文件。 awk处理多个文件的基本语法是...

分类: linux 标签: ,

shell下以美元符$开头的环境变量

2013年10月15日 没有评论

shell脚本中常见的以美元符开头的环境变量,有的时候英文描述好像比中文更贴切一些。 大家直接看英文吧。 $n $1 the first parameter,$2 the second... $# the number of command-line parameters. $0 the name of current program. $? last command or function's return value. $$ the program's PID. $! last program's PID. $@ save all the parameters. 看完说明举个实际例子才能更好的理解 #!/bin/bash echo "the number of command-line parameters: ...

分类: linux 标签: ,

使用expect实现shell自动交互

2013年10月9日 没有评论

shell脚本需要交互的地方可以使用here文档是实现,但是有些命令却需要用户手动去就交互如passwd、scp 对自动部署免去用户交互很痛苦,expect能很好的解决这类问题。 expect的核心是spawn expect send set spawn 调用要执行的命令 expect 等待命令提示信息的出现,也就是捕捉用户输入的提示: send 发送需要交互的值,替代了用户手动输入内容 set 设置变量值 interact 执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出,而不是留在远程终端上。 expect eof 这个一定要加,与sp...

分类: linux 标签: ,

linux命令行快捷键

2013年9月5日 5 条评论

群里有人问“问个问题,linux命令行 有没有快捷键一下从行末会到行头? 经常敲了很多命令 发现忘加 sudo 了,然后把命令删了重新敲一遍”。 自己还真不知道怎么操作,只知道历史命令可以使用上下光标切换。 正好早上微博有人科普,感谢龙浩的blog的总结,我也补充点知识,纠正一下百度知道上关于“HISTFILESIZE”和“HISTSIZE”的区别错误回答。 好吧,开始说说历史记录个数的“HISTFILESIZE”和“HISTSIZE”的区别, 默认情况下HISTFILESIZE和HISTSIZE的值都是500,表示可以记录500条命令记录。 HISTFILESIZE 表示记录在文件中的命令条数 HISTS...

分类: linux 标签: , ,

vsftp 安装配置

2013年8月15日 1 条评论

lnmp组合重要搭档就是ftp服务器,本文主要介绍的是vsftp的安装和配置。 vsftp的安装比较容易,配置文件比较复杂。 本例是使用操作系统账户当做ftp账户,安装完成后用系统账户就可以访问ftp。 1 编译安装vsftp wget https://security.appspot.com/downloads/vsftpd-2.3.4.tar.gz tar xzvf vsftpd-2.3.4.tar.gz cd vsftpd-2.3.4 make make install 12345 wget https://security.appspot.com/downloads/vsftpd-2.3.4.tar.gztar xzvf vsftpd-2.3.4.tar.gzcd vsf...

分类: linux 标签: , , ,