欢迎各位兄弟 发布技术文章
这里的技术是共享的
在linux操作系统中当我们想在虚拟终端之间切换时,经常的做法是ctrl+Alt+F1~F6,然而当我们在VMware中安装安装Linux后,想在X Windows与虚拟终端之间切换时,却发现Ctrl+Alt+Fx不起作用,那么我们如何解决这个问题呢?
inode是一个重要概念,是理解Unix/Linux文件系统和硬盘储存的基础。
关于inode的理解,请参考 阮一峰的文章
inode在linux中,代表一个文件的索引节点,其中indoe中存储了文件的一些元信息,如:文件的时间戳,文件的所有者等
上个星期,马哥讲了如何给小linux添加设备模块,并实现登录界面,级别1,开关机等等。通过不断的倒腾这个小Linux来更加深入的理解linux系统。
准备工作:1.您应当知道内核模块的概念,可以去我的文章了解下
启动流程 http://blog.csdn.net/deansrk/article/details/6659421
内核模块 http://blog.csdn.net/deansrk/article/details/6666629
2.您应该了解linux的启动流程与启动级别的概念
##更新:一些内核模块相关命令介绍:
modinfo pcnet32
查看模块中对应的详细信息和“依赖信息”,“路径”等
系统启动流程:
POST-->BIOS(Boot Sequence)-->BootLoader(446个字节)(MBR)(512个字节)-->Kernel(initrd,initramfs)-->init(/etc/inittab,RHEL6:upstart)
upstart(红帽6) (为了兼容依然叫init)
/etc/inittab
/etc/init/*.conf
以红帽5来讲/etc/inittab 这个配置文件
设定默认级别
系统初始化脚本(/etc/rc.d/rc.sysinit)
运行指定级别的服务脚本
/etc/rc.d/init.d/ (ISB 或SysV风格的服务脚本)
/etc/rc.d/rc#.d
rc0.d--rc6.d
修改快捷键 (不带alt)
比如 淘宝旺旺快捷键 ctrl+shift+M
REMOTE_ADDR只能获取访问者本地连接中设置的IP如果访问者使用代理服务器,将不获取代理服务器的IP,而是获取访问者网关的真实IP。如果将这个函数应用到限IP访问的网页中,别人即使通过限IP访问段中的代理服务器,也不能访问该页面。
首先介绍一下shell中包含文件的方法,在C,C++,PHP中都是用include来包含文件,Go和Java使用import来包含(导入)包,而在shell中,很简单,只需要一个点“.”,然后跟着文件路径及文件名,或者使用source关键字也可以,注意文件路径可以使用绝对路径和相对路径。
下面是一个文件包含的例子:three.sh包含one.sh和two.sh
/p 表示 打印 (print) 的意思
sed -n '/SetEnvIf X-Forwarded-for/{/0.0.0.0/!p}' .htaccess (包含SetEnvIf X-Forwarded-for 不包含 0.0.0.0)
两个条件多个条件用大括号(花括号)括起来 要用单引号 双引号可能有错
(例子 # sed -n "/Rewrite/{/Cond/{/HTTP/p}}" .htaccess 文件中既包含Rewrite又包括Cond又包含HTTP)
数字0和127不作为主机的IP地址的开头
Shell中判断字符串包含关系的方法:
1、通过grep来判断:
1
2
str1="abcdefgh"
str2="def"
result=$(echo $str1 | grep "${str2}")
if [[ "$result" != "" ]]
then
echo "包含"
else
echo "不包含"
fi
3
4
5
6
7
8
9
先打印长字符串,然后在长字符串中 grep 查找要搜索的字符串,用变量result记录结果,如果结果不为空,说明str1包含str2。如果结果为空,说明不包含。这个方法充分利用了grep 的特性,最为简洁。
2、字符串运算符
if [[ $str1 =~ $str2 ]]
前言
近期在做一个web应用jsonaz.com,该应用可以将JSON转为PHP数组,或将PHP数组转为JSON。需要在后台对用户提交的PHP代码进行校验,检验用户是否输入了PHP自带的函数,例如:array(1,2,3)是合法的,date(‘Y-m-d’)则是不合法的。因此,需要用正则表达式匹配非array开始的字符串。
正向预查之正向不匹配
先举个例子,加粗代表匹配正则:
不匹配array,(?!a)(?!r)(?!r)(?!a)(?!y),json | array | time
最终采用的正则,适用于PHP函数preg_match:
$pattern = '/^(?!a)(?!r)(?!r)(?!a)(?!y)[A-Za-z_]+\s*\(.*\)$/';
$time = 'time()'; // 匹配
$date = 'date(\'Y-m-d\')'; // 匹配
$array = 'array(1,2,3)'; // 不匹配
---------------------
作者:慕 来
来源:CSDN
sed命令行格式为: sed [-nefri] ‘command’ 输入文本/文件
比如有:
1、参考
https://blog.csdn.net/soaringlee_fighting/article/details/80931295
https://blog.csdn.net/MYsce/article/details/76546480
https://blog.csdn.net/thewindkee/article/details/52785763
2、匹配不包含字符串 用法
方法一:
采用grep命令中的-v参数,可以搜索不包含指定字符的所有行。
e.g:
ls -lR ./OutResult/ | grep -e 'svac2$' -v 'QP' | wc -l
目前中文互联网上有少量spider冒充Baiduspider抓取网页,
如何判断Baiduspider的真假,说明一下:
中文互联网上,Baiduspider ip的hostname以 *.baidu.com的格式命名,非 *.baidu.com即为冒充,建议您使用DNS反查方式来确定抓取来源的ip是否属于百度。
例如,在linux平台下,您可以使用host ip命令反解ip来判断是否来自Baiduspider的抓取。
$ host 123.125.66.120 (有些查得出来 有些查不出来)
120.66.125.123.in-addr.arpa domain name pointer
baiduspider-123-125-66-120.crawl.baidu.com.
在windows平台下,可以用nslookup命令反解ip来判断是否来自Baiduspider的抓取。
点击“开始”-“运行”-“cmd”-“输入nslookup IP地址”-“回车”
我们都知道网站的抓取是靠蜘蛛通过链接来爬取到你的网站才能抓取的,你们我们怎么自动蜘蛛是否来过我们的网站呢?下面来讲讲如何辨别真假百度蜘蛛的方法。
[root@ebs-56865 ~]# vim apacheaddpublicdir.sh
#!/bin/bash
#
for I in /www/wdlinux/httpd-2.2.31/conf/vhost/* ; do
sed -i 's/public\_html/public\_html\/public/g' $I
sed -i 's/\r//g' $I
done
[root@ebs-56865 ~]# vim nginxaddpublicdir.sh