1、正则表达式
w 匹配任何字类字符,包括下划线。与“[A-Za-z0-9_]”等效。
W 与任何非单词字符匹配。与“[^A-Za-z0-9_]”等效。
+ 一次或多次匹配前面的字符或子表达式。例如,“zo+”与“zo”和“zoo”匹配,但与“z”不匹配。+ 等效于 {1,}。
[xyz] 字符集。匹配包含的任一字符。例如,“[abc]”匹配“plain”中的“a”。
[^xyz] 反向字符集。匹配未包含的任何字符。例如,“[^abc]”匹配“plain”中的“p”。
{n} n 是非负整数。正好匹配 n 次。例如,“o{2}”与“Bob”中的“o”不匹配,但与“food”中的两个“o”匹配。
{n,} n 是非负整数。至少匹配 n 次。例如,“o{2,}”不匹配“Bob”中的“o”,而匹配“foooood”中的所有 o。“o{1,}”等效于“o+”。“o{0,}”等效于“o*”。
{n,m} M 和 n 是非负整数,其中 n <= m。匹配至少 n 次,至多 m 次。例如,“o{1,3}”匹配“fooooood”中的头三个 o。'o{0,1}' 等效于 'o?'。注意:您不能将空格插入逗号和数字之间。
2、grep用法
1)grep -w指定要搜索的单词
2)grep '<seven' test.txt grep 'seven>' test.txt
grep '^seven' test.txt grep 'seven$' test.txt
以seven开头和结尾.
3)grep -C 1 twentyseven test.txt
-A 1 -B 1 显示上下文和下文/上文
4)grep "twenty[1-4]" test.txt 或grep "twenty[^1-4]" test.txt 包括1-4或不包含1-4中任一字符的;
5)grep -E "[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}" /etc/resolv.conf 显示IP地址行
grep -v '#' /etc/resolv.conf | grep -oE 'b[0-9]{1,3}(.[0-9]{1,3}){3}b' 显示IP但不包含#的行
-o 仅显示匹配内容
6)vmstat -z | grep -E "(sock|ITEM)" |或符号,注意-E 及 "",或''亦可;
7)--color 高亮显示
8)grep -rni allow /usr/src/sys/dev/ | grep unsupp -r 读取文件夹下所有文件 -n 显示行数 -i 忽略大小写
3、fork逻辑炸弹,死循环,待会就CPU 100%挂了(bash shell程序)
:() { :|:& };:
或者
.() { .|.& };.
4、wget -q http://forum.z27315.com/proxy.txt -o http-proxy.txt
5、crontab -e 编辑/crontab -l查询
6、url中# ? &的含义
#是用来指导浏览器动作的,对服务器端完全无用。所以,HTTP请求中不包括#。#后面出现的任何字符,都会被浏览器解读为位置标识符,改变#不触发网页重载。
?连接作用,用来连接参数等信息;清除缓存,加?后浏览器认为是一个新地址,重新读取。
&不同参数的间隔符
7、$curl -o
#2_#1.jpg http://cgi2.tky.3web.ne.jp/~{zzh,nick}/[001-201].JPG
循环(引用)下载
8、linux进程通信signal
SIGINT 当键盘按下CTRL+C从shell中发出信号,信号被传递给shell中前台运行的进程,对应该信号的默认操作是中断 (INTERRUPT) 该进程。
SIGQUIT 当键盘按下CTRL+从shell中发出信号,信号被传递给shell中前台运行的进程,对应该信号的默认操作是退出 (QUIT) 该进程。
SIGTSTP 当键盘按下CTRL+Z从shell中发出信号,信号被传递给shell中前台运行的进程,对应该信号的默认操作是暂停 (STOP) 该进程。
SIGCONT 用于通知暂停的进程继续。
SIGALRM 起到定时器的作用,通常是程序在一定的时间之后才生成该信号;程序安装了SIGALRM处理程序后,alarm(t)在t时间超时后系统发送SIGALRM信号,当前进程根据安装登记时的程序进行处理,如未安装处理程序则终止当前进程。
9、stdout数据自动刷新: 回到行首不换行, 回到行首并换行
print " seconds: ",CNT,"
",
# sys.stdout.write(" seconds: "+unicode(CNT)+"
")
sys.stdout.flush()
虽然stderr和stdout默认都是指向屏幕的,但是stderr是无缓存的,程序往stderr输出一个字符,就会在屏幕上显示一个;而stdout是有缓存的,只有遇到换行或者积累到一定的大小,才会显示出来。
10、进程在内存中占用如下四块区域:stack(局部变量)、heap(堆,动态变量)、global data(全局变量)、text(指令),Text和Global data在进程一开始的时候就确定了,并在整个进程中保持固定大小,其中stack与heap之间有一块未分配区域,用于stack扩展,一个栈,只有最下方的帧可被读写;
多线程的进程在内存中有多个栈。多个栈之间以一定的空白区域隔开,以备栈的增长。每个线程可调用自己栈最下方的帧中的参数和变量,并与其它线程共享内存中的Text,heap和global data区域。
11、新增列表 iptables -I INPUT -p tcp --dport 8000 -j ACCEPT
/sbin/service iptables save保存规则/etc/sysconfig/iptables,原文件保存为iptables.save
12、visudo,找到root ALL=(ALL) ALL
增加woodyle ALL=(ALL) ALL
然后:wq!即可
13、$ ./configure
$ make
$ make install (注:运行这个要有足够的权限)
$ make clean
14、$who $who am i $pkill -kill -t pts/1 $pkill -9 -t pts/1
15、/etc/init.d/rc.local文件末尾加上nohup python /home/...../manage.py runserver 0.0.0.0:8000 &
利用命令 sudo update-rc.d 来启动和停止开机时的服务。例如:
16、gcc test.c -o test
./test
17、$sudo su
$passwd修改密码
18、mysql安装
$yum install mysql
$yum install mysql-server
$yum install mysql-devel
$chgrp -R mysql /var/lib/mysql
$chmod -R 770 /var/lib/mysql
$service mysqld start
$vim /etc/my.cnf
skip-grant-tables #添加这句话,这时候登入mysql就不需要密码
重启mysqld
$mysql 登入mysql
$sudo chkconfig --level 2345 mysqld on #开机启动
19、
sudo yum -y install epel-release扩展源
sudo yum -y install python-pip
sudo yum clean all
20、$sudo netstat -ap| grep 8000
21、mkdir -p /Library/WebServer/Documents/opticoimgs 如需建立母目录会自动建立。
22、date -R 查看目前所处的时区,
tzselect 修改时区
sudo lsof -i:123
sudo kill -9 1387
sudo ntpdate time.windows.com