Linux 下面的语法的简要解释是什么;top";命令:top-p`pgrep进程名| tr"\\"&引用&|sed';s/,$/'`
在今天之前,尽管我越来越熟悉各种各样的Linux命令,但我还没有尝试了解的一些组件,用于将Linux 下面的语法的简要解释是什么;top";命令:top-p`pgrep进程名| tr"\\"&引用&|sed';s/,$/'`,linux,bash,sed,grep,Linux,Bash,Sed,Grep,在今天之前,尽管我越来越熟悉各种各样的Linux命令,但我还没有尝试了解的一些组件,用于将top命令过滤到某些进程(按进程名称): 此top命令包含各种语法组件。我可以依次查找每个组件(有些组件是显而易见的,比如pipe命令——尽管我对pipe和redirection之间的区别仍然不是100%满意) 但是,由于按进程名称过滤top命令通常很有用,而且从语法角度看,该命令表面上显然不平凡,因此我(可能还有其他人)可以在一个地方参考该命令所有部分的实际(简要)解释 因此,我的问题如下 以上top命令
top
命令过滤到某些进程(按进程名称):
此top
命令包含各种语法组件。我可以依次查找每个组件(有些组件是显而易见的,比如pipe命令——尽管我对pipe
和redirection
之间的区别仍然不是100%满意)
但是,由于按进程名称过滤top
命令通常很有用,而且从语法角度看,该命令表面上显然不平凡,因此我(可能还有其他人)可以在一个地方参考该命令所有部分的实际(简要)解释
因此,我的问题如下
以上
top
命令(按进程名称过滤top
的输出)的所有组件的简要说明是什么?我希望不要遗漏任何语法,哪怕只是一个简短的提及。谢谢 管道将左侧命令的输出用作右侧命令的输入。因此,pgrep
的输出转到tr
,然后转到sed
。反勾号表示执行命令并返回某些内容。在本例中,top-p
正在查找进程ID
简要说明:
本质上,它通过tr
和sed
查找processname
的进程,并向top-p
提供一个可读的数字,该数字给出内存、CPU使用情况等
稍长:
基本上pgrep
在grep
ps aux
将所有tr
替换为\\n
,
删除sed
(,
表示用作故障保护的字符串结尾)$
- 该输出被传递到
,它提供了运行系统的动态实时视图。 它可以显示系统摘要信息以及任务列表 当前由Linux内核管理top-P
man pgrep
man tr
man sed
man-top
pgrep
的输出转到tr
,然后转到sed
。反勾号表示执行命令并返回某些内容。在本例中,top-p
正在查找进程ID
简要说明:
本质上,它通过tr
和sed
查找processname
的进程,并向top-p
提供一个可读的数字,该数字给出内存、CPU使用情况等
稍长:
基本上pgrep
在grep
ps aux
将所有tr
替换为\\n
,
删除sed
(,
表示用作故障保护的字符串结尾)$
- 该输出被传递到
,它提供了运行系统的动态实时视图。 它可以显示系统摘要信息以及任务列表 当前由Linux内核管理top-P
man pgrep
man tr
man sed
man-top
top
命令
它可以重写为:
process_list=$(pgrep process-name | tr "\\n" "," | sed 's/,$//')
top -p ${process_list}
1) pgrep进程名
-获取进程名的进程ID列表(如果正在运行)。2)
tr“\\n”“”
-pgrep命令的输出在单独的行中。因此,本部分删除换行符(如果有)并用逗号分隔。3)
sed's/,$/”
-此部分删除尾随逗号$
代表“行尾”,而“$代表尾随逗号”s/,$/
表示将“行尾”(即最后一个)逗号替换为空,即删除尾随逗号
例如
如果pgrep进程名给出如下输出:
4560
5000
然后它首先变成:45605000,
(bytr
)。
然后变成45605000
(通过sed
)
然后最后传递到top
as:top-p45605000
,它将只显示这两个进程
本部分给出了一个以逗号分隔的进程列表,该列表被赋予显示资源使用情况的top
命令
它可以重写为:
process_list=$(pgrep process-name | tr "\\n" "," | sed 's/,$//')
top -p ${process_list}
1) pgrep进程名
-获取进程名
的进程ID列表(如果正在运行)。
2) tr“\\n”“”
-pgrep
命令的输出在单独的行中。因此,本部分删除换行符(如果有)并用逗号分隔。3)
sed's/,$/”
-此部分删除尾随逗号$
代表“行尾”,而“$代表尾随逗号”s/,$/
表示将“行尾”(即最后一个)逗号替换为空,即删除尾随逗号
例如
如果pgrep进程名给出如下输出:
4560
5000
然后它首先变成:45605000,
(bytr
)。
然后变成45605000
(通过sed
)
然后最后传递到top
as:top-p45605000
PIDS=$(pgrep process-name)
CSV=$(echo -n "$PIDS" | tr "\\n" ",")
CSV=$(echo -n "$CSV" | sed 's/,$//')
top -p "$CSV"
top -p "$(pgrep process-name -d ,)"
echo `echo "Hello, World!"`