Tornando o cli bash mais fácil de usar

Tornando o cli bash mais fácil de usar
Este tutorial mostrará como personalizar o shell de bash para facilitar a linha de comando mais fácil e rápida.

Objetivos

No final desta visto, você poderá:

  • alterar o aviso para exibir o diretório de trabalho atual
  • Defina o prompt para uma cor escolhida
  • criar e usar aliases
  • salvar personalizações como o prompt e aliases
  • Use o recurso de história
  • use conclusão de comando

Diretório Home - Home

O Linux usa um conjunto de variáveis ​​de ambiente de caixa superior, como orifícios de pidgin, que são automaticamente preenchidos, para armazenar informações. A lista completa pode ser vista da seguinte forma:

$ set | mais

Eu me movi mais aqui do que menos para que o comando possa ser visto no despejo da tela.

O nome do diretório inicial de um usuário, geralmente/nome/nome de usuário (/home/kdm no meu CAE), é armazenado na casa de variáveis ​​do ambiente; Observe que a maioria das variáveis ​​ambientais estão no caso superior.

Usamos um $ ao fazer referência a uma variável de ambiente para especificar que é um

nome variável e não uma string. Para visualizar a variável home, digite:

$ eco $ em casa

Linux está cheio de atalhos e o personagem Tilde, ~, é um atalho para casa. Pode ser usado em vez disso:

$ echo ~

Diretório de trabalho - PWD

O comando PWD pode ser usado para descobrir qual é o diretório de trabalho atual. Quando um usuário faz login, este é o diretório doméstico deles, conforme definido no /etc/passwd arquivo. Aqui exibimos apenas as duas últimas linhas do arquivo e o caminho atual para o usuário KDM:

$ cauda -2 /etc /passwd
$ PWD

Mudança de diretórios - CD

O CD de comando pode ser usado para alterar o diretório de trabalho atual.

Por exemplo, para passar para o diretório raiz:

$ CD /; PWD
# o ; O personagem permite dois comandos em uma linha

Para mudar para o diretório /etc:

$ CD /etc; PWD

Para voltar ao diretório anterior, use o comando:

$ CD -

Para voltar ao diretório inicial, use o CD de comando sem opções:

$ CD; PWD

Prompt de comando - ps1

Ao usar o comando CD para alterar os diretórios, nem sempre é óbvio qual é o diretório atual. O shell bash permite que o prompt seja personalizado.

O prompt de comando padrão é armazenado em uma variável do sistema, PS1; Isso é inserido em superior caso. Para visualizar a variável Enter:

$ eco $ ps1

Observe que o '$' exibido não é o prompt, mas o contente da variável!

Os seguintes caracteres especiais podem ser usados ​​para alterar o prompt:

  • \ s- \ v shell e versão atual
  • \ w Diretório de trabalho atual
  • \ h@\ u host e nome de usuário
  • \ d@\ t data e hora atuais

Por exemplo, para definir o prompt para o shell e a versão atual, use:

$ Ps1 = '\ s- \ V:'

O prompt agora aparece como Bash-5.0: .

Diretório atual - $ PWD

Para economizar uso constante do comando PWD, o prompt pode ser definido como o nome do caminho completo do diretório atual, um conceito familiar para usuários do DOS. Para fazer isso, digite cuidadosamente o seguinte superior caso:

Bash-5,0: ps1 = '$ PWD:'

As mudanças rápidas são o diretório de trabalho atual, neste exemplo

/home/kdm: .

Agora mude de diretórios e observe como o prompt muda.

/home /kdm: cd /
/: CD /etc
/etc: CD

Agora podemos ver em qual diretório estamos sem recorrer ao comando pwd.

Adicionando cor

Uma cor, neste exemplo amarelo, pode ser adicionada da seguinte maneira:

/home/kdm: ps1 = '\ [\ e [01; 33m \] $ pwd: \ [\ 033 [01; 34m \] \ [\ 033 [00m \]' '


Normalmente tenho meu próximo conjunto para o diretório atual, reservando a cor vermelha (altere 33 a 31 no comando acima) para quando estou usando raiz. No entanto, para que os exemplos sigam, voltarei ao sinal '$'.

Prompt secundário ->

O prompt secundário também é armazenado em uma variável do sistema, PS2, também em maiúsculas. Para visualizar esta variável Enter:

$ eco $ ps2

Este prompt será visto se um comando incompleto for inserido, por exemplo:

$ eco “Olá

Neste exemplo, o segundo símbolo de citação está faltando. Para corrigir essa situação, preencha o comando ou insira o controle & c e volte ao comando.

Arquivos ou diretórios?

Quando o conteúdo de um diretório é exibido, nem sempre é óbvio se as entradas são arquivos ou diretórios.

Com a opção -f, frequentemente usada em servidores Unix, as entradas exibidas são seguidas por um caractere extra. Por exemplo, tente:

$ ls -f

Esses personagens extras incluem o seguinte e denotam:

  • diretório /
  • arquivo vinculado @
  • arquivo executável *

Os sistemas Linux suportam codificação de cores de diretórios e arquivos. As cores podem estar ativadas por padrão. Se não tente o seguinte (use um hífen duplo):

$ ls -cor

Essas cores extras incluem o seguinte e denotam:

  • diretório azul
  • Arquivo vinculado ciano
  • arquivo executável verde

Criando aliases

Em alguns sistemas, comandos úteis como LA, que executa o comando ls -a e ll que executa o comando ls -l estão disponíveis. No entanto, se esses comandos não estiverem disponíveis, um pseudônimo poderá ser criado para alcançar o mesmo resultado. Alguns aliases podem ser definidos automaticamente quando um shell é iniciado.

Um pseudônimo pode ser criado para qualquer comando frequentemente usado. Isso economiza ter que digitar o comando completo e suas opções. Por exemplo, se as cores não estiverem em uso com LS:

$ alias ls = 'ls -cor'
$ ls

Esses dois exemplos mostram arquivos nos diretórios /etc e /bin. A opção -d mostra apenas entradas de diretório não os arquivos no diretório:

$ ls -d /bin /y*
$ ls -d /etc /u*

Aliases comuns

Os aliases comanes incluem o seguinte aos comandos de remoção, copiar e mover. Esses aliases tornam o comando interativo para que você possa optar por tomar uma ação ou não:

$ alias rm = 'rm -i'
$ alias cp = 'cp -i'
$ alias mv = 'mv -i'

No exemplo mostrado aqui, quatro arquivos vazios são criados. O primeiro, FILE1, é então removido. Um alias é então criado para RM e o File2 é removido interativamente:

O nome do comando real não precisa necessariamente ser usado para o nome do alias. Observe que esses exemplos usam o alias do LS criado acima:

$ alias la = 'ls -a'
$ alias ll = 'ls -l'
$ la
$ ll

Usando aliases

Para exibir uma lista de aliases, use o comando Alias. É muito provável que você já tenha vários aliases por padrão:

$ alias

Um comando pode ser invocado sem o uso do alias prefixando o comando com uma barra de barragem, \ . Isso é particularmente útil se existir um alias para RM -i e você deseja remover muitos arquivos!

$ ls
$ \ ls

Para remover um ou mais aliases de comando, use:

$ unalias ll la
$ alias

Economizando personalizações

Uma desvantagem ao alterar o prompt ou adicionar aliases é que essas configurações são perdidas quando o usuário termina a sessão. Este problema pode ser superado salvando as configurações em um arquivo de configuração. O Bash Shell armazena variáveis ​​e aliases permanentemente em um dos vários arquivos ocultos, arquivos começando com uma parada completa.

Aqui, usarei o editor simples Nano (Vim pode ser usado) para atualizar o arquivo oculto .Bashrc de modo a configurar o ambiente.

Eu adicionei minhas alterações no final do arquivo, alterei o prompt e adicionei vários dos meus aliases favoritos:

$ nano .Bashrc

Para salvar as alterações e sair, insira o Control & x.

O comando de ponto - .

O novo .O arquivo BashRC pode ser testado abrindo uma nova sessão ou fazendo logon e novamente. Como alternativa, o arquivo pode ser testado assim:

$… BASHRC

O ponto (.) Comando executa o conteúdo do arquivo no shell atual.

Histórico de comando

O recurso de histórico de comando mantém uma lista de comandos usados ​​recentemente no arquivo .Bash_history e fornece uma abreviação para reexecionar qualquer um desses comandos.

Para visualizar os últimos 10 comandos, digite:

$ HISTÓRIA 10

Para reexecionar o último uso do comando !!. Por exemplo:

$ Head -3 /etc /Shadow
$ sudo !!

Editar linha de comando

As chaves de controle usadas para editar as entradas anteriores da linha de comando incluem o seguinte:

  • Pesquisa de Histórico Reverso de Control & R
  • Controle e vá para o início da linha
  • Control & e vá para o fim da linha
  • Control & G Cancelar pesquisa e restauração de linha original

Neste exemplo, eu uso o Control & r (duas vezes) para fazer uma pesquisa reversa pelo comando da cabeça. Pressionar Enter será executado o comando:

Conclusão de comando

No shell bash, a guia da sequência de teclas pode ser usada para concluir um nome de arquivo usado em um comando, desde que exista uma correspondência exata exista.

Para tentar isso, primeiro altere o diretório /bin:

$ CD /BIN

Digite o seguinte comando, mas não pressione Enter ainda:

$ ls -l y

Agora pressione o aba chave duas vezes. Uma lista de todos os arquivos que começam com o personagem será exibida.

Adicione caracteres ao comando para invocar um nome único, mas novamente não pressione Enter ainda.

$ ls -l yp

Agora pressione o aba chave. O comando selecionará automaticamente o arquivo correto.