Linux杂记

作者:老王

命令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技巧,操作会方便快捷很多。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值