Qual é o significado de “ps -aef | grep $ (pwd) ”comando?

5

Qual é o significado desse comando, o que ele faz?

ps -aef | grep 'pwd'
    
por Rakesh KR 13.11.2013 / 04:32

3 respostas

8

Na página man do 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 é usado para print lines matching a pattern .

O que faz

O comando

ps -aef | grep 'pwd'

imprime todas as linhas que correspondem à saída do comando pwd (que será o caminho do diretório de trabalho atual), da saída de ps -aef .

por exemplo:

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

Como você pode ver, a saída mostra as linhas correspondentes ao meu diretório de trabalho atual, que é /home/saji .

Informações de plano de fundo:
Se um comando estiver em $ (...) ou ... , o comando será executado e a saída (que é impressa na tela) será capturada e substituída por onde a cadeia $ () ou '' original era. Então o comando atual é grep pwd.

Para mais informações, consulte este link . (Graças a @ minerz029 para esta informação).

Confira o seguinte link para obter uma resposta técnica detalhada das próprias páginas do manual:

link

    
por saji89 13.11.2013 / 06:09
3
ps -aef | grep $(pwd)

Pesquisando, obtendo e exibindo informações completas sobre a lista de processos que estão associados ao working directory e imprimem o caminho desse diretório.

    
por Avinash Raj 13.11.2013 / 05:42
2

ps : exibe informações sobre uma seleção dos processos ativos. como ps -e para exibir todos os processos em segundo plano de trabalho atuais

Eu não consigo entender o que é -aef aqui

grep : é para pesquisar esse trabalho específico no processo.

pwd : Imprimir o diretório de trabalho.

Eu não acho que seja um comando útil e significativo. Posso saber com que propósito você está usando.

    
por Sukupa91 13.11.2013 / 05:18