求助啊:linux 这两个 管道命令 和 命令替换的疑问

求助啊:linux 这两个 管道命令 和 命令替换的疑问,第1张

不一样.

第一条, 执行"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

'{print

$1}'`

#

pstree

-p

`ps

-e

|

grep

server

|

awk

'{print

$1}'`

|

wc

-l

这里利用了管道和命令替换

关于命令替换,我也是今天才了解,就是说用``括起来的命令会优先执行,然后以其输出作为其他命令的参数,

上述就是用

ps

-e

|

grep

server

|

awk

'{print

$1}'

的输出(进程号),作为

pstree

-p

的参数

管道和命令替换的区别是:

管道:管道符号"|"左边命令的输出作为右边命令的输入

命令替换:将命令替换符"``"中命令的输出作为其他命令相应位置的参数

用输入的参数替换{}中的内容:

echo "-l" |xargs --replace={} ls {}

或:

echo "-l" |xargs -I{} ls {}

相当于执行命令:

ls -l


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8526077.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-17
下一篇2023-04-17

发表评论

登录后才能评论

评论列表(0条)

    保存