Encontre a pasta dos comandos shell

0

Eu quero descobrir onde as pastas de Tcl e Tk estão localizadas.

Por exemplo, posso executar tclsh ou tclsh8.6 no console. Este comando shell deve apontar para uma pasta, onde posso encontrar as ferramentas, certo?

Como posso encontrá-los?

    
por Skyy2010 18.10.2015 / 12:16

2 respostas

1
  1. No Bash, você pode usar

    command -v <your_file>
    

    para encontrar o local de um executável, desde que seja um arquivo incorporado ou em $PATH . Mais precisamente, command -v imprime o comando executado pelo Bash. Se for um builtin, ele simplesmente imprimirá o comando, já que não há localização de um binário. Se for um alias, ele imprimirá a definição do alias.

  2. Você pode usar whereis . Imprime a localização das páginas binárias, de origem e manual. Da manpage

    % bl0ck_qu0te%

    Se você precisar da localização do binário, use apenas

    whereis -b <your_file>
    
  3. locate é outra opção. Ele pesquisa um banco de dados de índice de arquivos em seu sistema e é, portanto, muito mais rápido que find , o que realmente pesquisa o sistema de arquivos. O banco de dados normalmente é atualizado regularmente via cronjob (daily?), Mas uma atualização pode ser acionada com updatedb para acompanhar as mudanças recentes.

  4. Bem, find , claro.

    find / -name <your_file>
    

    embora isso possa levar algum tempo. Se você souber que o arquivo deve estar em algum lugar em /usr ou /opt , substitua o primeiro argumento por aquele ou por qualquer lista de caminhos a serem pesquisados.

por Nephente 18.10.2015 / 12:34
0

Eu sugiro usar type , que é um recurso embutido na maioria dos shells.

type tclsh

De help type :

Display information about command type.

For each NAME, indicate how it would be interpreted if used as a
command name.

Como alternativa, você pode usar which .

which tclsh

De man which :

   which returns the pathnames of the files (or links) which would be exe-
   cuted in the current environment, had its arguments been given as  com-
   mands  in a strictly POSIX-conformant shell.  It does this by searching
   the PATH for executable files matching the names of the  arguments.  It
   does not follow symbolic links.
    
por kos 18.10.2015 / 12:39