В чем смысл этой команды, что она делает?
ps -aef | grep `pwd`
Из справочной страницы для пс :
a Lift the BSD-style "only yourself" restriction, which
is imposed upon the set of all processes when some
BSD-style (without "-") options are used or when the ps
personality setting is BSD-like. The set of processes
selected in this manner is in addition to the set of
processes selected by other means. An alternate
description is that this option causes ps to list all
processes with a terminal (tty), or to list all
processes when used together with the x option.
-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 [+1124]
ps -aef | grep $(pwd)
Поиск, получение и отображение полной информации о списке процессов, связанных с working directory
, и распечатка пути к этому каталогу.
ps
: отображает информацию о выборе активных процессов. как ps -e
для отображения всех текущих рабочих фоновых процессов
Я не могу понять, что здесь -aef
grep
: для поиска этой конкретной работы в процессе.
pwd
: Распечатать рабочий каталог.
Не думаю, что это полезная и значимая команда. Могу ли я знать, с какой целью вы его используете?