web-dev-qa-db-fra.com

Quelle est la signification de la commande "ps -aef | grep $ (pwd)"?

Quel est le sens de cette commande, que fait-elle?

ps -aef | grep `pwd`
5
Rakesh KR

De la page de manuel de ps :

    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 est utilisé pour print lines matching a pattern.

Ce que ça fait

La commande

ps -aef | grep `pwd`

affiche toutes les lignes correspondant à la sortie de la commande pwdname __ (qui sera le chemin de votre répertoire de travail actuel), à partir de la sortie de ps -aef.

par exemple:

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

Comme vous pouvez le voir, le résultat montre les lignes correspondant à mon répertoire de travail actuel, à savoir /home/saji.

Informations générales:
Si une commande est dans $ (...) ou ..., la commande est exécutée et la sortie (ce qui est imprimé à l'écran) est interceptée et remplacée par la chaîne $ () ou `` originale était. Donc, la commande réelle est grep pwd.

Pour plus d'informations, reportez-vous à lien . (Merci à @ minerz029 pour cette information).

Consultez le lien suivant pour une réponse technique détaillée à partir des pages de manuel elles-mêmes:

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

8
saji89
ps -aef | grep $(pwd)

Rechercher, obtenir et afficher des informations complètes sur la liste des processus associés au working directory et afficher le chemin de ce répertoire.

3
Avinash Raj

ps: Affiche des informations sur une sélection des processus actifs. comme ps -e pour afficher tous les processus d'arrière-plan de travail actuels

Je ne comprends pas ce qui est - aef ici

grep: permet de rechercher ce travail spécifique dans le processus.

pwd: Imprimer le répertoire de travail.

Je ne pense pas que ce soit une commande utile et significative. Puis-je savoir dans quel but vous l'utilisez?.

2
Sukupa91