访问www.example.com/install.php
提示“No input file specified”
网上找到很多原因
但我遇到的不是那样
是因为include/hosts/vhost.conf行少了一个分号
正确的应该是
include/hosts/vhost.conf;
发布者
Nginx的No input file specified错误
SecureCRT中文版scp时无法用key
SecureCRT中文版scp时无法用key
需要输入密码
英文版没有遇到过
选项–>全局选项–>SSH2,选上启用OpenSSH代理程序
用iptables的string模块禁止浏览器对80的访问
有个软件监听的是80端口,但不提供Web服务
麻烦的是又可以通过ip:80访问到,还有输出
这样就不和谐了
80是不能封的,封了客户端就连接不了
想到用iptables禁止浏览器对80的访问
问了些QQ群的朋友,可以实现
先看下有没有string这个模块
iptables -m string –help
如果有,它会提示一堆帮助信息,没有则显示
iptables v1.2.11: Couldn’t load match `string’:/lib64/iptables/libipt_string.so: cannot open shared object file: No such file or directory
已知iptables v1.3.5是有的
规则,HTTP就是我们要过滤的关键字,–algo,指定使用的算法,有2中,分别是kmp,bm
/sbin/iptables -I INPUT -p tcp -m string –string HTTP –algo kmp –dport 80 -j DROP
保存规则
/sbin/iptables-save
ejabberd安装错误
./configure
报以下错
checking for XML_ParserCreate in -lexpat… no
configure: error: Could not find development files of Expat library
解决:
安装expat-devel
yum -y install expat-devel
comp.unix.shell FAQ 阅读笔记
最近在阅读一个比较经典的关于shell的faq,全文链接在这里http://home.comcast.net/~j.p.h/
作者将comp.unix.shell新闻组上的常见问题总结了一下,做成faq的形式,对学习很有帮助。
不打算全文翻译了,仅把认为比较重要的部分总结一下,做个备案吧
1.UUOC(useless use of cat)
避免 cat file | tr -d ‘xyz’ ,因为这样实际上跑了两个进程cat 和 tr
应该采用输入重定向 tr -d ‘xyz’ <file
2.shebang
脚本第一行是告诉操作系统解释器路径的,如果用解释器显式调用脚本文件,
那么第一行只是注释而已,可有可无。
3.echo 在不同的shell里的解释方式可能不同,要熟悉你的shell是如何做的。
优先采用cat输出变量
cat<<EOF
$a
EOF
4.随机数生成方法
最portable的方法是利用awk内置的srand和rand函数
awk ‘BEGIN {srand();print rand()}’
5.dos和unix文本文件之间转换
dos格式的文本文件,行末尾是
(CR LF)
unix格式的文本文件,行末尾是
所以dos格式文本在unix下显式的时候,尾部会多一个^M
二者转换方式是
dos—unix : sed ’s/^M$//’ dos.txt > unix.txt或者tr -d ‘
‘ <dosfile >unixfile
unix—dos: sed ’s/$/^M/’ unix.txt >dos.txt
另外,也可以用dos2unix unix2dos等现成工具
6.改变term窗口的标题
两种方法
$ echo -en “33]2;XXX07″
$ printf ‘%b’ ‘e]2;XXXa’
7.如何设定用户输入超时
bash里面可以用read的参数-t 设置超时
也可以利用终端属性完成
{
s=$(stty -g)
stty -icanon min 0 time 100
var=$(head -n 1)
stty “$s”
}
8. bash脚本一定要注意空格的使用
$ [ -f xxx ] isn’t the same as
$ [-f xxx ]
9.如何从路径中分离目录和文件
pathname=’/path/to/some/file’
dir=`dirname “$pathname”`
file=`basename “$pathname”`
缺点是,fork出了新进程
可以使用shell内置的字符串处理机制
pathname=/path/to/some/file
file=${pathname##*/}
case $pathname in
*/*) dir=${pathname%/*};;
*) dir=”
esac
10.如何删除特殊字符开头的文件
例如删除 -foo,有三种方法
rm -foo
rm — -foo
rm -i — * (进入交互模式,提示动作)