В чем смысл & ldquo; ps -aef | grep $ (pwd) & rdquo; команда?

В чем смысл этой команды, что она делает?

ps -aef | grep `pwd`
5
задан 18 November 2013 в 11:15

3 ответа

Из справочной страницы для пс :

    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]

0
ответ дан 18 November 2013 в 11:15
ps -aef | grep $(pwd)

Поиск, получение и отображение полной информации о списке процессов, связанных с working directory, и распечатка пути к этому каталогу.

0
ответ дан 18 November 2013 в 11:15

ps: отображает информацию о выборе активных процессов. как ps -e для отображения всех текущих рабочих фоновых процессов

Я не могу понять, что здесь -aef

grep: для поиска этой конкретной работы в процессе.

pwd: Распечатать рабочий каталог.

Не думаю, что это полезная и значимая команда. Могу ли я знать, с какой целью вы его используете?

0
ответ дан 18 November 2013 в 11:15

Другие вопросы по тегам:

Похожие вопросы: