Tipos de comandos [RESOLVIDO]

1. Tipos de comandos [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 16/05/2018 - 13:38h

Bom dia, boa tarde e boa noite.

Comecei a estudar linux esta semana e hoje estava assistindo uma video-aula sobre tipos de comandos em que o professor fala sobre comandos internos e externos. Ele fala também sobre o comando 'type' que serve para descobrirmos qual o tipo de determinado comando, por exemplo:

$ type cd
cd is a shell builtin


Sei que um comando 'builtin' é um comando interno, só que quando fui fazendo mais alguns teste digitei:

$ type clear
clear is hashed (/usr/bin/clear)


Minha pergunta é: o que significa isso de 'clear is hashed'? Como assim ele fala que alguns comandos são "racheados"? Não compreendi, se alguém souber por favor me responda.

Obrigado!


  


2. MELHOR RESPOSTA

Supervisor dos Moderadores
Buckminster

(usa Debian)

Enviado em 16/05/2018 - 20:52h

Para encontrar um executável, o shell precisa pesquisar o caminho. Para evitar esse processo demorado toda vez que você deseja executar um programa, o shell pode manter uma lista de programas que ele já encontrou. Essa lista é chamada de "hash". Quando o shell retorna o "hashed", significa que ele já fez a pesquisa e descobriu qual o caminho e salvou sua localização no hash.

O Bash usa uma tabela de hash para lembrar os nomes completos dos arquivos executáveis. Uma pesquisa completa dos diretórios no PATH (caminho) é executada somente se o comando não for encontrado na tabela de hash.

Executa man bash ou man sh... sei lá qual shell tu usa.

3. Re: Tipos de comandos [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 16/05/2018 - 13:52h

digita

man clear


4. Re: Tipos de comandos [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 16/05/2018 - 19:40h

danniel-lara escreveu:

digita

man clear

Olha amigo, fiz a leitura da documentação do comando 'clear', como você sugeriu, mas infelizmente não encontrei a resposta para o motivo da saída para o comando '$ type clear' ser 'clear is hashed (/usr/bin/clear)'. Talvez seja pq não sei inglês e tive que traduzir pelo google tradutor, que todos sabemos que não é das melhores, mas pelo menos foi bom pq aprendi um pouco mais sobre o comando e alguns de seus parâmetros. Obrigado!





5. Re: Tipos de comandos [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/05/2018 - 09:28h

Buckminster escreveu:

Para encontrar um executável, o shell precisa pesquisar o caminho. Para evitar esse processo demorado toda vez que você deseja executar um programa, o shell pode manter uma lista de programas que ele já encontrou. Essa lista é chamada de "hash". Quando o shell retorna o "hashed", significa que ele já fez a pesquisa e descobriu qual o caminho e salvou sua localização no hash.

O Bash usa uma tabela de hash para lembrar os nomes completos dos arquivos executáveis. Uma pesquisa completa dos diretórios no PATH (caminho) é executada somente se o comando não for encontrado na tabela de hash.

Executa man bash ou man sh... sei lá qual shell tu usa.

Agora eu entendi perfeitamente, a cada dia que eu estudo fico impressionado com o como o linux é um sistema tão eficaz e inteligente. Quer dizer, o shell "guarda" uma lista de programas utilizados recentemente com o caminho já especificado para não se dar ao trabalho em vão de ter que procurar novamente o diretório em que está localizado o comando, realmente muito útil.

Só pra constar, utilizo o bash e vou fazer uma leitura da sua documentação, como você sugeriu.

Obrigado!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts