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安装软件到自定义路径时,新安装的命令需要带上路径才可以执行,不能像系统自带命令那样可以直接使用。
这个时候可以通过修改环境变量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
...
普通的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
...
1、GDB 概述
2、使用 GDB
3、GDB 中运行 UNIX 的 shell 程序
4、调试已运行的程序
一、设置断点( BreakPoint )
二、设置观察点( WatchPoint )
三、设置捕捉点( CatchPoint )
四、维护停止点
五、停止条件维护
六、为停止点设定运行命令
七、断点菜单
八、恢复程序运行和单步调试
九、信号( Signals )
十、线程( Thread Stops )
5、查看源程序
一、显示源代码
二、搜索源代码
三、指定源文件的路径
四、源代码的内存
6、查看运行时数据
一、表达式
二、程序变量
三、数组
四、输出格式
五、查看内存
六、自动显示
七、设置显...
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...
查看当前网络连接状态命令
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处理多个文件的基本语法是...
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: ...
shell脚本需要交互的地方可以使用here文档是实现,但是有些命令却需要用户手动去就交互如passwd、scp
对自动部署免去用户交互很痛苦,expect能很好的解决这类问题。
expect的核心是spawn expect send set
spawn 调用要执行的命令
expect 等待命令提示信息的出现,也就是捕捉用户输入的提示:
send 发送需要交互的值,替代了用户手动输入内容
set 设置变量值
interact 执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出,而不是留在远程终端上。
expect eof 这个一定要加,与sp...
群里有人问“问个问题,linux命令行 有没有快捷键一下从行末会到行头? 经常敲了很多命令 发现忘加 sudo 了,然后把命令删了重新敲一遍”。
自己还真不知道怎么操作,只知道历史命令可以使用上下光标切换。
正好早上微博有人科普,感谢龙浩的blog的总结,我也补充点知识,纠正一下百度知道上关于“HISTFILESIZE”和“HISTSIZE”的区别错误回答。
好吧,开始说说历史记录个数的“HISTFILESIZE”和“HISTSIZE”的区别,
默认情况下HISTFILESIZE和HISTSIZE的值都是500,表示可以记录500条命令记录。
HISTFILESIZE 表示记录在文件中的命令条数
HISTS...
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...