Descubra se um comando resolve para um alias, um arquivo de disco, uma função shell, um comando interno ou uma palavra reservada. Use o tipo para descobrir como os comandos do Linux são executados e entender melhor o sistema.
últimas postagens
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 da forma 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 pelo shell, como if e elif. Eles também são chamados de palavras-chave.
O comando type nos diz 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.
type date
O comando date é um arquivo de disco executável.
type ls
O comando ls é um alias, envolvendo o comando ls subjacente para usar a opção –color = auto por padrão.
type lowdown
O comando lowdown é 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, free e df.
type pwd
O comando pwd é um comando interno do shell Bash.
type elif
O comando elif é uma palavra reservada do shell Bash.
Usando vários comandos
Você pode fornecer vários comandos de tipo para identificar de uma vez.
type date top ls
A opção -t
Nenhuma das opções que o tipo aceitará tem nomes. Assim, podemos pegar nosso livro de nomes e batizá-los nós mesmos. Se você pensar na opção -t como significando “conciso”, não estará muito errado. Ele reduz as respostas do tipo para respostas de uma única palavra.
type -t date
type -t pwd
type -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 opção -p.
Por exemplo, se você tiver um alias com o mesmo nome do comando subjacente, poderá obter informações sobre o alias e o comando.
type -a ls
A opção -f
A opção -f força o tipo a não pesquisar as 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, digite informará que o comando não foi encontrado.
type -f top
type -f lowdown
A opção -P
Se você usar a opção -P, digite irá apenas pesquisar os diretórios em $ PATH. Portanto, podemos chamar essa opção de “caminho”. Observe que esta opção usa um “P” maiúsculo.
type -P date chmod adduser
A opção -p
Se você usar a opção -p, o tipo responderá apenas se o comando for um arquivo do disco rígido. Observe que esta opção usa um “p” minúsculo.
type -p mount
type -p ls
type -p -a ls
type não dá nenhuma resposta para ls porque ls é um alias e não um arquivo de disco.
Mas se incluirmos a opção -a para que o tipo procure todas as instâncias do comando ls, ele lista o arquivo de disco subjacente que o alias ls utiliza.
Resumo
Isso foi bom e simples, mas esclarecedor ao mesmo tempo.
Temos a tendência de 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 o tipo permite que você descubra qual é.