shell tips
-
使用HISTTIMEFORMAT在历史中显示TIMESTAMP:将
export HISTTIMEFORMAT='%F %T '
加到.bash_profile中。 -
检查日期合法
# grep正规表示式方式,只能检查格式 echo -e "2003-12-31\n1993-10-17" | egrep '^(19|20)[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$' # 日期命令方式,可检查出日期是否合法 date -d "2013-02-26" +%Y%m%d 2>/dev/null
-
统计程序的内存耗用
ps -eo fname,rss|awk '{arr[$1]+=$2} END {for (i in arr) {print i,arr[i]}}'|sort -k2 -nr
- shell快捷键
热键 | 作用 |
---|---|
CTRL + a | 可以快速切换到命令行开始处 |
CTRL + e | 切换到命令行末尾 |
CTRL + r | 在历史命令中查找 |
CTRL + u | 删除光标所在位置之前的所有字符 |
CTRL + k | 删除光标所在位置之后的所有字符 |
CTRL + c | 终止命令 |
CTRL + d | 结束当前输入、退出shell |
CTRL + z | 转入后台运行 |
CTRL + s | 刷屏信息过快,可用来停留在当前屏 |
CTRL + q | 恢复刷屏 |
CTRL + 左右方向 | 在命令行按词为单位进行移动 |
CTRL + w | 删除光标之前的一个单词 |
CTRL + l | 清屏,clear |
-
最短死循环
:(){:|:&;};
-
逐个处理命令行参数
#!/bin/sh echo "total=$#" for v in "$@";do echo $v done until [ $# -eq 0 ];do echo $1 shift done
-
Linux下/var/log/btmp文件:此文件是记录错误登录的日志,此日志需要使用lastb程序打开,查看恶意ip试图登录次数:
lastb | awk '{print $3}' | sort | uniq -c | sort -n
-
给文本添加行号
# 用awk实现 awk '{print FNR" "$0}' file.txt # 用sed实现 sed = test.txt | sed 'N;s/\n/\t/' # 用sed生成行号,再用paste进行合并 sed -n '=' file.txt >tmp paste tmp file.txt