Dicas Úteis

Trabalhamos no terminal Linux como um profissional: uma seleção de comandos úteis

Pin
Send
Share
Send
Send


Ao trabalhar no Linux, você geralmente precisa lidar com arquivos de texto. Por exemplo, os arquivos de configuração do sistema são arquivos de texto simples. Portanto, é muito importante poder editá-las.

Existem muitos editores que permitem editar arquivos nos modos gráfico e de console.

Nesta lição, conhecemos apenas um dos editores mais populares e aprendemos apenas os princípios básicos de como trabalhar com ele.

O editor nano é fácil de aprender e pode ser útil para iniciantes. Com ele, você pode criar novos e editar arquivos existentes.

O editor é composto por 4 áreas:

1ª área - exibe a versão do editor e o nome do arquivo.

2ª área - a parte editável, exibe o conteúdo do arquivo.

Área 3 - barra de status, exibe a reação do editor a determinadas ações do usuário.

4ª área - prompt de comando.

A sintaxe do comando é a seguinte:

nano [opções] arquivo

Vamos tentar entender o trabalho do editor baseado em um exemplo. Nós temos um arquivo Configuração.txt . Você deve fazer o seguinte:

  1. Crie um novo arquivo de texto Example.txt
  2. Em arquivo Configuração.txt encontre a 28ª linha
  3. A partir da 28ª linha, selecione e copie para o buffer 10 linhas de texto
  4. Colar texto do buffer no arquivo Example.txt
  5. Fechar arquivo Configuração.txt
  6. Em arquivo Example.txt encontrar e excluir linhas que contenham a palavra “configuração”
  7. Em seguida, adicione um texto arbitrário ao final do arquivo
  8. Salvar as alterações no arquivo e fechar

1) Crie um arquivo Example.txt:

Antes de fechar o arquivo, salve-o, caso contrário ele não será criado. Para fazer isso, realizamos a combinação Ctrl + O . A área de dicas indica ^ O isso é ^ significa Ctrl:


O editor solicitou um nome de arquivo para confirmação. Pressione Enter e você pode fechar. Para fazer isso, disque a combinação Ctrl + X ( ^ X ) .

2) Agora abra o arquivo Configuração.txt no modo multi-buffer.

O que é esse modo?

Quando editamos o arquivo, todas as alterações permanecem no buffer atual e podemos manipulá-las. Ao fechar o arquivo, o buffer em si é fechado e, com ele, todos os dados. Ou seja, podemos trabalhar simultaneamente com um arquivo.

Se você precisar trabalhar com vários arquivos de uma só vez, abra os arquivos no modo de vários buffers usando a opção -F ( --multibuffer ):

nano -F Configuration.txt


Para encontrar a linha desejada, digite Ctrl + Shift + - ( ^_ ) e digite o número:

O cursor salta para a linha especificada:


3) Agora selecione o texto para copiar. Para isso nós digitamos Ctrl + 6 e o editor irá definir o rótulo para destacar o texto:

Agora, usando as teclas para frente / para trás / para cima / para baixo, você pode selecionar o texto:


Quando o texto estiver realçado, copie-o para a área de transferência usando Alt + Shift + 6

4) Agora, sem fechar o arquivo em si Configuração.txt vamos abrir o arquivo Example.txt . Para fazer isso, nós coletamos uma combinação Ctrl + R ( ^ R ) e digite o nome do arquivo Example.txt:

Depois disso, estaremos no arquivo Example.txt . Agora cole o texto copiado usando a combinação Ctrl + U:

5) Desde o arquivo Configuração.txt nós não precisamos mais, vamos fechar.

Mas como? Afinal, estamos no arquivo Example.txt .

Para fazer isso, basta discar Alt +. e o editor nos trocará para outro arquivo. Nós recrutamos Ctrl + X para sair. O arquivo fecha e nós imediatamente retornamos Example.txt .

6) Vamos tentar encontrar as linhas com a palavra “configuração” - Ctrl + W ( ^ W ):

A palavra é encontrada, mas pode não ser a única palavra. Como encontrar o resto?

Muito simples. Aproveite Alt + W ( m - W ) para ir para a próxima palavra encontrada.

Agora selecione as linhas encontradas usando Alt + 6 e seta e, em seguida, exclua com Ctrl + K (^ K ).

7) Eu acho que adicionar um texto arbitrário não é difícil.

8) Agora salve e feche o arquivo. Você pode fazer isso com Ctrl + X .

Essas equipes são suficientes para começar. Se surgirem dificuldades, você pode sempre abrir a ajuda com uma combinação Ctrl + G ( ^ G ).

Então, para resumir as teclas de atalho:

Ctrl + G - ajuda, ajuda

Ctrl + O - salvar arquivo

Ctrl + X - arquivo próximo

Ctrl + R - abra um novo arquivo

Ctrl + 6 - selecione o texto

Alt + Shift + 6 - arquivo de cópia

Ctrl + K - texto cortado

Ctrl + U - inserir texto

Ctrl + W - busca de palavras

Alt + W - continue a pesquisa

Ctrl + Shift + - - ir para a linha especificada

Alt +. - alternar entre arquivos no modo de buffer múltiplo

Nano tem opções adicionais, além disso, ao escrever código por conveniência, você pode destacar certas palavras com cor. Para fazer isso, altere as configurações no arquivo / etc / nanorc.

Usando guias para preenchimento automático

Quando você começar a digitar algo no terminal, você pode pressionar Tab e você será oferecido opções possíveis para a continuação que começam com a linha que você digitou.

Por exemplo, se você deseja copiar um arquivo chamado file1.txt, pode inserir apenas cp f, pressione Tab e veja as opções possíveis.

Tab também pode ser usado para completar automaticamente os comandos.

Retornar ao último diretório de trabalho

Imagine uma situação em que você desceu na hierarquia de pastas, depois mudou-se para uma pasta que está em um lugar completamente diferente e percebeu que precisava voltar. Neste caso, você só precisa digitar o seguinte comando:

Ele retornará ao último diretório de trabalho e você não precisará inserir manualmente o caminho longo.

Nota O último diretório de trabalho é armazenado na variável de ambiente OLDPWD, você pode usar essa variável para seus próprios propósitos (tente echo $ OLDPWD) ou até mesmo dar ao comando cd um caminho diferente (OLDPWD = / usr / bin cd -).

Listar o conteúdo do diretório

Você provavelmente adivinha qual comando é necessário para exibir o conteúdo do diretório. Todo mundo sabe que ls -l pode ser usado para isso.

No entanto, nem todo mundo sabe que você pode fazer com o comando ll.

Claro, tudo depende da distribuição, mas na maioria dos casos você pode usar este comando.

Nota De fato, ll não é um comando separado, mas um alias para ls -l.

Executando várias equipes de cada vez

Vamos dizer que você precisa executar vários comandos, um após o outro. O que vais fazer? Aguarde o primeiro comando terminar e, em seguida, execute o próximo?

Em vez disso, você pode usar o delimitador. Assim, você pode executar vários comandos na mesma linha. Você não precisa esperar até que uma das equipes conclua seu trabalho para lançar a próxima.

comando_1, comando_2, comando_3

Nota Quando você executa comandos dessa maneira, eles não são executados em paralelo, mas sequencialmente. Se você precisar da primeira opção, use a construção (command_1 &), (command_2 &).

Revisão curta

Neste artigo, você aprenderá sobre as técnicas básicas para trabalhar com o editor vi, que é encontrado em quase todas as distribuições UNIX ou Linux. Você aprenderá:

  • Navegue por um documento com o vi.
  • Use os modos principais vi.
  • Inserir, editar, excluir, copiar e procurar por texto.

Sobre esta série

Esta série de artigos ajudará você a dominar as tarefas de administração do sistema operacional Linux. Você também pode usar o material desses artigos para se preparar para o exame de certificação de primeiro nível do Linux Professional Institute (LPIC-1).

Para ver as descrições dos artigos desta série e obter links para eles, consulte nossa lista de preparação para o exame LPIC-1. Esta lista é constantemente atualizada com novos artigos à medida que se tornam disponíveis e contém os objetivos mais recentes (a partir de abril de 2009) dos exames de certificação LPIC-1. Se algum artigo não estiver listado, você poderá encontrar uma versão anterior que corresponda aos objetivos anteriores do LPIC-1 (até abril de 2009) entrando em contato com nossos guias para se preparar para os exames do Linux Professional Institute.

Este artigo ajudará você a se preparar para o exame LPI 101 para um administrador de nível básico (LPIC-1) e contém os materiais para a meta 103.8 do tópico 103. A meta tem um peso de 3.

Pré-requisitos

Para obter o máximo benefício de nossos artigos, você deve ter conhecimentos básicos de Linux e ter um computador Linux funcional no qual possa executar todos os comandos que encontrar. Às vezes, versões diferentes dos programas exibem resultados de maneira diferente, portanto, o conteúdo das listagens e figuras pode diferir do que você vê no seu computador.

Pesquisa simples e uso de comandos anteriores

Imagine uma situação em que você usou um time há algumas horas e quer usá-lo novamente, mas não consegue lembrar o nome.

A pesquisa inversa ajudará aqui. Usando-o, você pode encontrar um comando no histórico por uma determinada condição.

Basta pressionar Ctrl + R e digitar parte do comando. Então você será mostrado os comandos do histórico que satisfazem a condição dada.

Por padrão, apenas um resultado é mostrado. Para ver mais resultados, você precisa pressionar Ctrl + R novamente. Para sair da pesquisa, pressione Ctrl + C.

Observe que, em algumas shells Bash, você pode usar Page Up e Page Down com um termo de pesquisa para autocompletar um comando.

Como entrar em contato com Jan

Jan é um dos nossos autores mais populares e prolíficos. Confira todos os artigos de Jan no developerWorks. Você pode encontrar informações de contato no perfil de Jan e contatá-lo, além de outros autores e colaboradores do My developerWorks.

O editor vi está disponível em quase todas as distribuições Linux e UNIX. Na verdade, se o sistema operacional tiver apenas um editor, provavelmente é vi, por isso é muito importante poder trabalhar com ele. Este artigo aborda apenas os comandos básicos de edição do vi, e você pode encontrar informações completas do vi no tutorial "vi intro - o método de folha de dicas" no developerWorks, as páginas do manual relacionadas ou um dos muitos manuais sobre para este editor.

Atualmente, muitas distribuições do Linux vêm com um editor vim (Veu IMprovado - melhorado vi), não com a versão clássica vi. O editor vim é retrocompatível com o vi e, além da interface de texto padrão, possui uma interface gráfica (gvim). Normalmente, o comando vi é um link simbólico para o programa vim. Existem várias versões do vim: minúsculas, pequenas, normais, grandes e enormes. A versão do vim que é usada em seu sistema operacional, assim como suas capacidades, pode ser encontrada usando o comando

Em um artigo anterior desta série, “Aprendendo Linux 101: Prioridades de Execução de Processos”, queríamos mudar a prioridade do script de shell em execução count1.sh. Se você tentou fazer isso sozinho, você pode ter descoberto que os comandos rodaram tão rápido que você não conseguiu mudar a prioridade com o renice. Então, vamos começar a trabalhar com o editor vi e adicionar uma linha ao início do script para inserir uma pausa de 20 segundos, graças à qual podemos mudar a prioridade.

Se você não tiver o script count1.sh à mão, faça o seguinte: abra uma janela do terminal, vá para o seu diretório pessoal e copie o conteúdo da Listagem 1. Para isso, o subdiretório lpi103-8 contendo o arquivo de script count1 será criado no diretório inicial .sh.

Lendo o arquivo de log em tempo real

Em situações em que você precisa analisar os logs enquanto o aplicativo está em execução, você pode usar o comando tail com o sinalizador -f.

Você também pode usar expressões regulares no grep para gerar apenas as linhas necessárias:

Além disso, você pode usar o sinalizador -F para que a cauda continue a funcionar mesmo se o arquivo de log for excluído. Assim, quando o arquivo de log é criado novamente, a cauda continuará registrando.

Se você deseja visualizar o log do sistema em tempo real, use a opção -f semelhante ao comando journalctl:

Lendo registros compactados sem extrair

Os logs do servidor geralmente são compactados pelo gzip para economizar espaço em disco. Isso se torna um problema para o desenvolvedor ou administrador do sistema que analisa esses logs. Pode ser necessário copiar o arquivo para outro local e depois extraí-lo, pois nem sempre há permissão para extrair os logs.

Felizmente, em tais situações, as equipes z sempre economizarão. Eles são alternativas aos comandos usuais que são usados ​​para trabalhar com logs como less, cat, grep.

Portanto, você pode usar zless, zcat, zgrep, etc., sem nem mesmo extrair os logs.

Usando o alias para corrigir erros de digitação

Você provavelmente já sabe porque o comando alias é necessário. Pode ser adaptado para corrigir erros de digitação.

Imagine que, em vez de grep, você costuma escrever gerp. Se você definir o alias da seguinte maneira, não precisará mais digitar novamente o comando:

By the way, não é necessário usar aliases para corrigir erros - O utilitário Fuck em si irá corrigir o comando anterior.

Cole o texto copiado no terminal

Nem tudo está claro aqui, pois há uma certa diferença entre distribuições e terminais Linux. Mas, no caso geral, você pode inserir texto de uma das seguintes maneiras:

  • Copie o texto e clique com o botão direito para colar (funciona no Putty e em outros clientes SSH baseados no Windows),
  • Copie o texto e pressione o botão do meio do mouse (roda) para colar,
  • Ctrl + Shift + C para copiar e Ctrl + Shift + V para colar
  • Em alguns emuladores de terminal, a combinação familiar de Ctrl + V funciona.

Encerrar um processo / equipe em execução

Talvez isso seja óbvio demais. Se você executar um comando cujo trabalho deseja concluir, pressione Ctrl + C e o comando enviará um sinal de interrupção (SIGINT). E se você quiser sair rapidamente do terminal, pressione a combinação Ctrl + D, que para o bash e outros programas interativos significa o final da entrada.

Informações do sistema de arquivos

Para obter informações sobre os sistemas de arquivos montados atuais com um layout conveniente por colunas, insira o mount | coluna -t.

Você também pode usar o comando findmnt, que exibe informações na forma de uma linda árvore e formata as próprias colunas, e também pode encontrar o sistema de arquivos desejado:

Tela de bloqueio

Para bloquear a tela, use o comando $ loginctl lock-session.

Para desbloquear a tela, digite o comando $ loginctl unlock-session. Claro, é improvável que você possa usar o terminal com uma tela bloqueada, mas você pode contornar soluções alternativas. Por exemplo, você pode criar uma tarefa para desbloquear depois de algum tempo.

Para executar o shell em nome do superusuário, você pode usar o comando sudo -s. Em muitas fontes, você pode encontrar a variante sudo su, que também funciona, mas mais lentamente, já que inicia um processo extra.

Nós fazemos túneis

Usando o comando ssh -N -L 2001: localhost: 80 somemachine, você pode criar um túnel da porta 80 na máquina remota para 2001 na máquina local.

E quais comandos úteis você conhece? Compartilhe nos comentários.

Como o Yandex usa seus dados e aprendizado de máquina para personalizar serviços - leia e assista ao YaC 2019.

Listagem 1. Script de carregamento do processador central - count1.sh

Para editar um arquivo existente, digite vi, especificando o nome desse arquivo como um parâmetro. Você pode encontrar informações detalhadas sobre as várias opções nas páginas man ou na seção Recursos, mas por enquanto, vamos iniciar o editor sem opções:
vi count1.sh
Como resultado, o arquivo count1.sh deve abrir. Você deve ver algo semelhante à Listagem 2. Se você usar o vim, algumas palavras ou caracteres podem ser destacados. O editor vim possui um modo de destaque colorido (não presente no vi original) que pode ser ativado por padrão em seu sistema.

Listagem 2. Editando o script count1.sh no vi

O editor vi começou a ser desenvolvido nos dias em que nem todos os teclados de terminal tinham teclas de cursor, portanto no vi você pode fazer tudo com as teclas localizadas no teclado alfanumérico padrão, bem como várias teclas especiais, como Esc e Inserir. No entanto, você pode configurar o vi para usar teclas adicionais de um teclado de computador moderno, a maioria das teclas disponíveis no teclado executa algumas ações úteis no vi. Devido ao seu legado, bem como as conexões lentas de terminais antigos, o vi tem uma reputação bem merecida como um editor que usa comandos concisos e crípticos. Vamos começar examinando os atalhos de teclado para navegar pelos arquivos.

Movendo-se

Os seguintes comandos são para navegar em um arquivo:

h Mova um caractere para a esquerda na linha atual. j Vá para a próxima linha. k Vá para a linha anterior. l Vai um personagem para a direita na linha atual. w Vá para a próxima palavra na linha atual. e Vá para o final da palavra atual na linha atual. b Vá para o início da palavra atual na linha atual. Ctrl-f Rolar uma página para frente. Ctrl-b Percorra uma página de volta.

Se você digitar um número na frente de qualquer um desses comandos, o comando será executado o número especificado de vezes. Esse número é chamado contador de repetições ou apenas counter. Por exemplo, o comando 5h irá mover o cursor cinco caracteres para a esquerda. Contagens repetidas podem ser usadas com muitos comandos vi.

Sair do vi

É sempre necessário poder sair do editor. Isso permitirá que você não estrague o arquivo importante se você cometer um erro crítico ao editá-lo. Você pode sair do vi das seguintes maneiras: com salvar as alterações, sem salvar as alterações, com a reinicialização da edição do arquivo desde o início. Se os comandos abaixo não funcionarem, verifique se você está no modo de inserção, sobre o qual você aprenderá mais tarde. Em caso de dúvida, pressione Esc para sair do modo de inserção e retornar ao modo de comando no qual esses comandos devem funcionar.

: q! Termine de editar o arquivo com o cancelamento de todas as alterações. Este comando é muito usado quando surgem dificuldades. : w! Escreva o arquivo (independentemente de ter sido modificado ou não). É feita uma tentativa de sobrescrever arquivos existentes, somente leitura ou outros arquivos não regraváveis. Como parâmetro, você pode especificar um nome sob o qual o arquivo de origem que você começou a editar será salvo. Зачастую безопаснее не использовать символ !, если вы не уверены на все 100% в том, что вы сделали. ZZ Записать файл, если он был изменен, а затем выйти из редактора. Эта команда обычно используется для нормального выхода из vi. :e! Редактировать текущую копию файла на диске. Выполняется повторная загрузка файла с отменой всех внесенных изменений. Эту команду можно также использовать в тех случаях, когда файл на диске по какой-то причине был изменен и вам требуется использовать его последнюю версию. :! Запустить команду интерпретатора. Наберите команду и нажмите клавишу Enter. Quando a equipe terminar, você verá a saída e um convite para voltar ao vi.

  1. Quando você digita dois pontos (:), o cursor se move para a linha inferior da tela, onde você pode digitar o comando e seus parâmetros.
  2. Se você pular o ponto de exclamação nos comandos acima, poderá receber uma mensagem de erro, por exemplo, sobre a impossibilidade de salvar as alterações ou gravar no arquivo final (se estiver editando um arquivo com acesso somente leitura).
  3. Existem longas formas de comandos: (: quit, write,: edit), mas raramente são usadas.

O editor vi pode trabalhar em dois modos.

Modo de Comando No modo de comando, você move o arquivo e edita o arquivo, executando operações como pesquisa, exclusão, alteração de texto e assim por diante. Normalmente, o vi inicia no modo de comando. Modo de inserção No modo de inserção, você digita o novo texto iniciando na posição do cursor. Para retornar ao modo de comando, pressione Esc.

Esses dois modos determinam o comportamento do editor. Tudo o que você digita no modo de inserção é considerado o texto que você precisa inserir no arquivo. Se você tentar digitar um comando e nada acontecer (ou aparecerem caracteres sob o cursor), você provavelmente esqueceu de pressionar a tecla Esc para sair do modo de inserção.

Alterar texto

Use os seguintes comandos para inserir, excluir ou modificar o texto. Note que alguns deles podem ser escritos em letras maiúsculas e minúsculas (a descrição será dada abaixo).

eu Mude para o modo de inserção antes do personagem na posição atual. Digite o texto e pressione a tecla Esc para retornar ao modo de comando. Use o comando I para inserir texto no início da linha atual. um Mude para o modo de inserção após o caractere na posição atual. Digite o texto e pressione a tecla Esc para retornar ao modo de comando. Use o comando A para inserir texto no final da linha atual. c Altere o caractere atual e alterne para o modo de inserção para inserir caracteres de substituição. o Inserir uma nova linha após a linha atual. Use o comando O para inserir uma nova linha acima da linha atual. cw Exclua o restante da palavra atual e alterne para o modo de inserção para substituí-lo. Use um contador de repetição para substituir várias palavras. Use o comando c $ para substituir o restante da string. dw O mesmo que cw (e c $), mas sem entrar no modo de inserção. dd Exclua a linha atual. Use o contador de repetição para excluir várias linhas. x Exclua o caractere na posição do cursor. Use o contador de repetição para excluir vários caracteres. p Coloque o último texto excluído após o caractere atual. Use o comando P para colocar o texto na frente do caractere atual. xp Um comando útil de uma combinação de xe p. Substitui o caractere na posição do cursor pelo caractere à direita dele.

Pesquisa de texto

Você pode procurar texto em um arquivo usando expressões regulares.

/ Use a expressão regular após o caractere / para pesquisar diretamente o arquivo. ? Use expressão regular após caractere? para pesquisar o arquivo na direção oposta. n Use n para repetir a última pesquisa em qualquer direção.

Todos os comandos acima podem ser precedidos por um contador de repetição. Portanto, o comando 3 / x (assim como o comando / x seguido por 2n) procurará a terceira ocorrência de x, iniciando na posição atual. Da mesma forma, o comando 2 / ^ e procurará a segunda linha começando em e, em relação à posição atual.

Por favor, note que quando o final do arquivo for atingido, a pesquisa continuará do início do arquivo.

Informação de referência

Outro comando vi útil é o comando help, que pode ser chamado digitando: help. A ajuda é aberta no próprio editor vi, use o comando: q para fechar a ajuda e continuar. Se você precisar de informações sobre um tópico específico (por exemplo, troca de linha), tente adicionar a palavra apropriada após o comando: help, por exemplo: help wrap.

Colocando tudo junto

No início do artigo, íamos adicionar uma linha ao nosso arquivo count1.sh. Para salvar o arquivo original e escrever sua versão modificada sob o nome count2.sh, podemos usar os comandos do editor depois de abrirmos este arquivo com o comando vi. Observe que a designação corresponde a um pressionamento de tecla Esc.

Listagem 3. Comandos do editor para adicionar uma linha ao arquivo count1.sh

Esses comandos executam as seguintes ações:

1G Vá para a primeira linha do arquivo. O Adicione uma nova linha acima da linha atual e mude para o modo de inserção. dormir 20 O texto a adicionar. Keystroke Esc para retornar ao modo de comando. : w! count2.sh Grave um arquivo em disco. : q Saia do vi.

Tudo é simples quando você sabe como.

Este artigo é o último de uma série de artigos sobre o tópico 103 do exame LPI 101 para um administrador de nível de entrada (LPIC-1). Você pode encontrar links para outros artigos desta série na lista de materiais para preparação dos exames do LPIC-1.

Tópicos relacionados

  • Artigo original: Aprenda Linux, 101: Edição de arquivos com o vi.
  • Use a lista de verificação de preparação para o exame LPIC-1 para encontrar artigos do developerWorks para ajudá-lo a se preparar para os exames do programa de certificação LPIC-1, que são baseados na sua meta de abril de 2009.
  • No site do Programa de Certificação LPIC, você encontrará metas detalhadas, listas de tarefas e exemplos de perguntas para todos os três níveis de certificação do administrador do sistema Linux para um instituto profissional Linux. Em particular, os objetivos dos exames LPI 101 e LPI 102 a partir de abril de 2009 são apresentados neste site. Sempre consulte o site do programa de certificação LPIC para obter as metas mais recentes.
  • Confira a série de artigos de preparação para o exame LPI do developerWorks no developerWorks, com base nas metas anteriores que você definiu antes de abril de 2009, para aprender os fundamentos da administração do Linux e preparar-se para os exames de certificação admin do administrador do Linux.
  • Aprenda mais sobre scripts para o vim, iniciando com o artigo "Script do editor Vim, Parte 1: Variáveis, valores e expressões" (developerWorks, maio de 2009).
  • Leia o artigo Essential Tasks for Beginner Linux Developer (developerWorks, março de 2005) para saber como abrir uma janela de terminal ou shell e muito mais.
  • O site do Projeto de Documentação do Linux tem uma grande quantidade de documentação útil, especialmente os guias do HOWTO.
  • Confira todas as dicas do Linux e os tutoriais do Linux no developerWorks.

Pin
Send
Share
Send
Send