shell统计最常用的命令
history | awk '{CMD[$2]++;count++;} END { for (a in CMD )print CMD[ a ]" " CMD[ a ]/count*100 "% " a }' | grep -v "./" | column -c3 -s " " -t |sort -nr | nl | head -n10
make输出颜色
make() { pathpat="(/[^/]*)+:[0-9]+" ccred=$(echo -e "33[0;31m") ccyellow=$(echo -e "33[0;33m") ccend=$(echo -e "33[0m") /usr/bin/make "$@" 2>&1 | sed -E -e "/[Ee]rror[: ]/
, don't Cetaphil have one levitra brand 200mg ve fragrance surely propranolol online pharm cleaningservicesbentle...
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...
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: ...
群里有人问“问个问题,linux命令行 有没有快捷键一下从行末会到行头? 经常敲了很多命令 发现忘加 sudo 了,然后把命令删了重新敲一遍”。
自己还真不知道怎么操作,只知道历史命令可以使用上下光标切换。
正好早上微博有人科普,感谢龙浩的blog的总结,我也补充点知识,纠正一下百度知道上关于“HISTFILESIZE”和“HISTSIZE”的区别错误回答。
好吧,开始说说历史记录个数的“HISTFILESIZE”和“HISTSIZE”的区别,
默认情况下HISTFILESIZE和HISTSIZE的值都是500,表示可以记录500条命令记录。
HISTFILESIZE 表示记录在文件中的命令条数
HISTS...
linux下命令行的参数可能会很长,特别编译安装程序的时候的configure参数。
如果直接写在一行,书写起来很长,看起来也不美观还容易漏项。
自然就会想到如何将shell的一行命令拆成多行去执行。
shell已经为我们准备好了这个续行符 "",来把一行命令分解成多行
shell命令行下反斜线""有两种含义:
1.对有特殊含义的字符进行转义
例如 echo "123$",结果是123$
2.Enter,反斜杠后面紧跟回车,表示下一行是当前行的续航。
./configure --sbin-path=/usr/local/nginx/nginx
--conf-path=/usr/local/nginx/nginx.conf
--pid-path=/usr/local/n...