
第一条, 执行"which ls" 然后将结果(/bin/ls) 做为 ls 命令的参数, 最后执行的命令实际上是 ls -l /bin/ls
第二条, 执行which ls , 然后将将结果从标准输出发到ls 命令的标准输入. 相当于echo /bin/ls|ls
ls 命令不从标准输入中读取数据, 而且从命令行中获取参数.
有些时候需要确实进程内部当前运行着多少线程,那么以下几个方法值得一用。1.根据进程号进行查询:
#
pstree
-p
进程号
#
top
-hp
进程号
2.根据进程名字进行查询:
#
pstree
-p
`ps
-e
|
grep
server
|
awk
$1}'`
#
pstree
-p
`ps
-e
|
grep
server
|
awk
$1}'`
|
wc
-l
这里利用了管道和命令替换,
关于命令替换,我也是今天才了解,就是说用``括起来的命令会优先执行,然后以其输出作为其他命令的参数,
上述就是用
ps
-e
|
grep
server
|
awk
$1}'
的输出(进程号),作为
pstree
-p
的参数
管道和命令替换的区别是:
管道:管道符号"|"左边命令的输出作为右边命令的输入
命令替换:将命令替换符"``"中命令的输出作为其他命令相应位置的参数
用输入的参数替换{}中的内容:echo "-l" |xargs --replace={} ls {}
或:
echo "-l" |xargs -I{} ls {}
相当于执行命令:
ls -l
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)