linux 安装tar包软件:
http://linux-vbird.bluedata.org/linux_base/0520source_code_and_tarball.htm#tarball_step
awk 把多行日志显示成一行:
awk '{if (NR % 6) printf $0 ; else print $0}' export.log_bak |
cookie_log 统计
cat cookie_log | awk '{print $8 " " $5}' | sed s/"\?.* "/" "/ | sed 's/\(2010:[0-9][0-9]\).*/\1/' | sort | uniq -c
查看每个URL的调用次数,$10 为URL的位置
cat performance.log | awk '{print $10}' | sort | awk '{print $1}' | uniq -c | sort -n -r
统计每个URL耗时最多的 $10 为URL, $12 为耗时
cat performance.log | awk '{print $10" "$12}' |sort -n -r | awk '{print $2" "$1}' | uniq -f 1
UNIX Shell 编程
shell if 判断
-b file 若文件存在且是一个块特殊文件,则为真
-c file 若文件存在且是一个字符特殊文件,则为真
-d file 若文件存在且是一个目录,则为真
-e file 若文件存在,则为真
-f file 若文件存在且是一个规则文件,则为真
-g file 若文件存在且设置了SGID 位的值,则为真
-h file 若文件存在且为一个符合链接,则为真
-k file 若文件存在且设置了"sticky" 位的值
-p file 若文件存在且为一已命名管道,则为真
-r file 若文件存在且可读,则为真
-s file 若文件存在且其大小大于零,则为真
-u file 若文件存在且设置了SUID 位,则为真
-w file 若文件存在且可写,则为真
-x file 若文件存在且可执行,则为真
-o file 若文件存在且被有效用户ID 所拥有,则为真
-z string 若string 长度为0 ,则为真
-n string 若string 长度不为0 ,则为真
string1 = string2 若两个字符串相等,则为真
string1 != string2 若两个字符串不相等,则为真
int1 -eq int2 若int1 等于int2 ,则为真
int1 -ne int2 若int1 不等于int2 ,则为真
int1 -lt int2 若int1 小于int2 ,则为真
int1 -le int2 若int1 小于等于int2 ,则为真
int1 -gt int2 若int1 大于int2 ,则为真
int1 -ge int2 若int1 大于等于int2 ,则为真
!expr 若expr 为假则复合表达式为真。expr 可以是任何有效的测试表达式
expr1 -a expr2 若expr1 和expr2 都为真则整式为真
expr1 -o expr2 若expr1 和expr2 有一个为真则整式为真
shell参数
在shell中,表示值是用$,相当于DOS中的%。
1、 位置参数
由系统提供的参数称为位置参数。位置参数的值可以用$N得到,N是一个数字,如果为1,即$1.类似C语言中的数组,Linux会把输入的命令字符串分段 并给每段进行标号,标号从0开始。第0号为程序名字,从1开始就表示传递给程序的参数。如$0表示程序的名字,$1表示传递给程序的第一个参数,以此类 推。
2.内部参数
上述过程中的$0是一个内部变量,它是必须的,而$1则可有可无。和$0一样的内部变量还有以下几个。
$# ----传递给程序的总的参数数目
$? ----上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。
$* ----传递给程序的所有参数组成的字符串。
$n ----表示第几个参数,$1 表示第一个参数,$2 表示第二个参数 ...
$0 ----当前程序的名称
$@----以"参数1" "参数2" ... 形式保存所有参数
$$ ----本程序的(进程ID号)PID
$! ----上一个命令的PID
linux kernel 版本:
[主版本].[次版本].[修订版本]-[附版本]
在这当中,需要特别留意的属于第二个那个 [次版本] 啰!
- 如果 次版本 是奇数的话,例如 2.3, 2.5 等等,那表示他是一个『 测试性质功能的核心版本 』,这种核心通常是在推出稳定版本的核心之前,用来给 developer ( 核心维护更新测试者!) 测试用的!虽然功能较为强大,但是由于是属于测试性质,所以可能会有些许的 bug 也说不定;
- 如果 次版本 是偶数的话,例如 2.2, 2.4, 2.6 等等,那表示他是一个经过测试之后才释出的 稳定核心版本 ,这种核心较为稳定不容易出错,比较适合一般个人或者是商业使用!