“ps -aef | grep $(pwd)”命令是什么意思?

“ps -aef | grep $(pwd)”命令是什么意思?

这个命令是什么意思,它起什么作用?

ps -aef | grep `pwd`

答案1

来自 man 页面附言

   -a              Select all processes except both session leaders (see getsid(2)) and
                   processes not associated with a terminal.

   -f              Do full-format listing. This option can be combined
                   with many other UNIX-style options to add additional
                   columns. It also causes the command arguments to be
                   printed. When used with -L, the NLWP (number of
                   threads) and LWP (thread ID) columns will be added. See
                   the c option, the format keyword args, and the format
                   keyword comm.
   -e              Select all processes. Identical to -A.

grep习惯于print lines matching a pattern

它能做什么

命令

ps -aef | grep `pwd`

pwd从 的输出中打印出与命令输出匹配的所有行(这将是当前工作目录的路径) ps -aef

例如:

saji@geeklap:~$ pwd
/home/saji

saji@geeklap:~$ ps -aef | grep `pwd`
saji      2854  2814  0 09:51 ?        00:00:00 /usr/bin/ssh-agent /usr/bin/gpg-agent --daemon --sh --write-env-file=/home/saji/.gnupg/gpg-agent-info-geeklap /usr/bin/dbus-launch --exit-with-session gnome-session --session=ubuntu
saji      2855  2814  0 09:51 ?        00:00:00 /usr/bin/gpg-agent --daemon --sh --write-env-file=/home/saji/.gnupg/gpg-agent-info-geeklap /usr/bin/dbus-launch --exit-with-session gnome-session --session=ubuntu
saji      2879     1  0 09:51 ?        00:00:00 /usr/lib/gvfs//gvfs-fuse-daemon -f /home/saji/.gvfs
saji     14242 14148  0 15:26 pts/7    00:00:00 grep --color=auto /home/saji

正如您所看到的,输出显示与我当前的工作目录匹配的行,即/home/saji

背景信息:
如果命令在 $(...) 或 中...,则运行该命令,并捕获输出(打印到屏幕上的内容)并将其替换到原始 $() 或 `` 字符串所在的位置。因此实际运行的命令是 grep pwd。

有关详细信息,请参阅关联。(谢谢@minerz029获取此信息)。

请查看以下链接以获取手册页本身的详细技术答案:

http://explainshell.com/explain?cmd=ps+-aef+|+grep+%60pwd%60

答案2

ps -aef | grep $(pwd)

搜索、获取并显示与之相关的进程列表的完整信息working directory并打印该目录的路径。

答案3

ps:显示有关所选活动进程的信息。例如ps -e显示所有当前正在运行的后台进程

我不明白什么是-aef这里

grep:用于搜索流程内的特定工作。

pwd:打印工作目录。

我认为这不是一条有用且有意义的命令。请问您使用它的目的是什么?

相关内容