O que significa "hash" quando se usa o comando type? [duplicado]

12

Eu estava lendo este post e tentando todos os comandos na primeira resposta ... Eu realmente não tenho nada melhor para fazer agora.

De qualquer forma, passei por todos eles em relação a rm . O que despertou meu interesse é este:

root@headdesk:~# type ls
ls is /bin/ls
root@headdesk:~# hash ls
root@headdesk:~# type ls
ls is hashed (/bin/ls)
root@headdesk:~#

A execução de help/man hash não é muito útil e help type também não é (não menciona hash em qualquer lugar). Como não consigo encontrar uma relação nas páginas man / info / help a menos que esteja faltando alguma coisa, alguém poderia explicar o que o hash ing está fazendo em relação ao comando type ?

    
por cutrightjm 27.12.2015 / 07:31

2 respostas

3

Isso significa armazenado em uma tabela de hash para uma referência mais rápida na próxima vez.

    
por 27.12.2015 / 18:53
1

No bash: apenas digite help hash e você receberá uma ajuda sobre o comando interno hash .

Determine and remember the full pathname of each command NAME.

O que isto significa é que depois de encontrar a localização de um comando pela primeira vez (ou quando o hash é chamado), sua localização é lembrada (hash).

    
por 27.12.2015 / 19:54