作者:老王
命令ps aux中的TIME是指什么时间。
经验主义会让我们惯性的认为这个时间是程序运行的时间,实际上如果你通过man ps查看一下手册,就会发现这个时间实际上是程序累计占用的CPU时间。
如何判断64位CPU装了32位的操作系统。
总有一些运维人员这么干,所以不得不防。判断操作系统的位数很简单,只要使用uname -i即可,如果是32位的话,则一般显示i386,如果是64位的话,则一般显示x86_64。问题的重点在于判断CPU的位数,查看CPU的信息很简单,无非就是cat /proc/cpuinfo,但这里哪些信息能表明位数呢?高人可以通过model name来判断,不过对多数人来说,这样的方法缺少可操作性,更好的方法是查看flags里是否有lm选项,lm选项的意思是Long Mode. (64bit Extensions, AMD’s AMD64 or Intel’s EM64T).,有的话就说明是64位,没有就是32位。
CPU feature flags and their meanings
玩转TOP命令
top命令有很多方便的操作,比如执行top命令后按1键就可以展开CPU列表,按c键就可以查看命令完整路径。还可以通过shift+f或者shift+o把进程排序,更多参数通过按键h或者?查询。
管道符中变量范围的问题
先看一个例子,先用read命令给变量赋值,再分别打印:
echo "a b c" | read x y
echo $x
echo $y
结果你会发现$x, $y都没有设置。
echo "a b c" | (read x y; echo $x; echo $y)
这样就OK了,这是因为管道符后面产生的变量仅在子SHELL中有效,类似的还可以采用这样的方式:
echo "a b c" | while read x y; do
echo $x; echo $y
done
watch监控程序
例如用watch监控mysql:watch -n 1 mysqladmin processlist
更方便的history功能
需要历史操作记录的时候,大家基本上都是采用history | grep ...的操作方式,实际上还有更方便的history功能,在man bash里的reverse-search-history部分能查看到相关介绍,操作方式就是ctrl+r,然后键入部分命令就会自动查找,找到后直接回车即可。比如说每次重启动nginx都要不厌其烦的kill -HUP `cat /path/to/nginx.pid`,通过使用reverse-search-history技巧,操作会方便快捷很多。
Linux杂记
最新推荐文章于 2024-10-04 21:58:42 发布