
Descubra se um comando resolve para um alias, um arquivo de disco, uma função de shell, um comando interno ou uma palavra reservada. Use typepara descobrir como seus comandos do Linux são executados e entender melhor seu sistema.
Índice
Faça meu lance
Quando abrimos uma janela de terminal e começamos a emitir comandos para nosso computador Linux, raramente paramos para pensar quais componentes de software dentro do sistema operacional estão reagindo aos nossos comandos e os executando para nós. Nós digitamos o comando, obtemos o resultado e continuamos com nossa carga de trabalho.
Saber como os comandos são executados nos dá uma melhor compreensão de como nosso Linux ou outro sistema operacional semelhante ao Unix é construído. Dar uma espiada embaixo do capô pode nos tornar um motorista mais informado.
As instruções que emitimos para a linha de comando estão em uma das seguintes categorias:
- Alias : Um comando definido pelo usuário (ou sistema) que faz com que outras sequências de comando, geralmente longas ou complexas, ocorram.
- Arquivo de disco : um arquivo executável binário, como
/usr/bin/top. - Função shell : uma função definida pelo usuário (ou sistema) que pode ser usada na linha de comando ou incluída em scripts.
- Comando embutido : um comando executado pelo próprio shell, como
pwd. - Palavra reservada : uma palavra reservada pela shell, como
ifeelif. Eles também são chamados de palavras-chave.
O typecomando nos diz a qual categoria qualquer um dos comandos do Linux pertence. Aqui está um tutorial rápido para entender a saída do comando.
O tipo Command
Vamos examinar alguns exemplos rápidos para cada uma das categorias de comando.
tipo data

O datecomando é um arquivo de disco executável.
tipo ls

O lscomando é um alias, envolvendo o lscomando subjacente para usar a --color=autoopção por padrão.
digite lowdown

O lowdowncomando é uma função definida pelo usuário que foi configurada no comutador usado para pesquisar este artigo. Ele fornece um instantâneo rápido de alguns recursos do sistema. É uma combinação de whoami, w, freee df.
digite pwd

O pwdcomando é um comando interno do shell Bash.
digite elif

O elifcomando é uma palavra reservada do shell Bash.
Usando vários comandos
Você pode dar type vários comandos para identificar de uma vez.
digite data top ls

A opção -t
Nenhuma das opções typeaceitas tem nomes. Assim, podemos pegar nosso livro de nomes e batizá-los nós mesmos. Se você acha que a -topção significa “conciso”, não se enganará. Ele reduz as respostas de typepara respostas de uma única palavra.
tipo -t data
tipo -t pwd
digite -t lowdown

A opção -a
Vamos chamar isso de opção “todos”. Ele lista todos os locais onde o comando está localizado. Observe que esta opção não funcionará se você também usar a -popção.
Por exemplo, se você tiver um alias com o mesmo nome do comando subjacente, poderá obter informações sobre o alias e o comando.
digite -a ls

A opção -f
A -fopção força typea não pesquisa de funções definidas pelo usuário ou sistema. Pense nesta opção como “função de pesquisa desativada”. Observe que se o comando for uma função, type irá relatar que o comando não pode ser encontrado.
digite -f top
tipo -f lowdown

A opção -P
Se você usar a -Popção, typepesquisará apenas os diretórios em $ PATH . Portanto, podemos chamar essa opção de “caminho”. Observe que esta opção usa um “P” maiúsculo
tipo -P data chmod adduser

A opção -p
Se você usar a -p opção, type só responderá se o comando for um arquivo do disco rígido. Observe que esta opção usa um “p” minúsculo.
tipo -p montagem
digite -p ls
digite -p -a ls

typenão dá nenhuma resposta para lsporque lsum alias, e não um arquivo de disco.
Mas se incluirmos a -aopção para que typeprocure todas as instâncias do lscomando, ela lista o arquivo de disco subjacente que o lsalias utiliza.
Resumo
Isso foi bom e simples, mas esclarecedor ao mesmo tempo.
Tendemos a pensar em qualquer coisa que digitamos em uma janela de terminal como um “comando” e deixamos por isso mesmo. Mas, na verdade, os comandos são implementados de várias maneiras no sistema Linux. E typepermite que você descubra qual é.