Qual é a localização do comando “file”?

0

Quando verificamos o tipo de arquivo, usamos o comando file para fazer isso. Eu acho que o comando file é um binário. Então, eu olho na pasta bin, que eu não encontrei. A questão é se é um binário, onde está esse binário localizado?

    
por AungThiha 13.04.2014 / 19:47

4 respostas

1

Você pode usar o comando which para localizar um comando:

which file

Veja man which para mais informações.

    
por Radu Rădeanu 13.04.2014 / 19:49
1

Na maioria dos shells, incluindo o bash, você pode usar o comando type para encontrar o local de um comando:

$ type file
file is /usr/bin/file
    
por Florian Diesch 13.04.2014 / 19:50
0

Está localizado em / usr / bin / file.

O comando abaixo irá localizar as coisas para você. Você pode substituir o arquivo com o que quer que seja.

which file

Verificando coisas específicas em / usr / bin mostrará que está lá ...

cd /usr/bin; ls -l | grep "file" 
    
por K. Darien Freeheart 13.04.2014 / 19:52
0

A melhor maneira de fazer isso é usar o shell type incorporado como @FlorianDiesch sugerido . O comando which também pode fazê-lo, mas, entre vários outros problemas , ele não trata bem os aliases ou funções de shell.

O shell embutido type (que está disponível em bash , sh , dash , fish , zsh , ksh e provavelmente outros), não tem esses problemas:

$ type file
file is /usr/bin/file

$ type ls
ls is aliased to 'ls --color=tty'

$ type fix_config
fix_config is a function
fix_config () 
{ 
    old="ha";
    new="ba";
    sed -i.bak "17 s/$old/$new/" .config;
    cat .config;
    cp .config.bak .config
}

Compare o acima com

$ which file
/usr/bin/file

$ which ls
/bin/ls

$ which fix_config
$
    
por terdon 13.04.2014 / 20:32