Na semana passada, demos início à nossa série Linux Prática para criar uma série estruturada que informa e educa o leitor sobre o que é o Linux, como funciona e, ao mesmo tempo, certificando-se de que eles sujem as mãos experimentando comandos de terminal.
Conforme mencionado na primeira parte da série, toda a série terá uma progressão lógica a cada semana. Isso significa que esta parte só fará sentido se você tiver passado pela primeira parte e tentado todos os comandos ou se tiver o conhecimento básico sobre Linux e pode contornar isso. Se você não estiver familiarizado com esses conceitos, certifique-se de leia a primeira parte, e então você pode começar imediatamente.
No post desta semana, vamos construir sobre o que cobrimos no post anterior e dizer como você pode fazer algumas coisas mais complicadas. Se você teve dúvidas sobre como editar arquivos no Linux? Como visualizar um processo no Linux etc. este post irá responder a essas questões. Então, sem perder mais tempo, vamos direto aos comandos.
Vamos dividir os comandos em seções para que faça sentido examiná-los um por um.
O que você aprenderá
- Manipulação de arquivos
- Correspondência de padrões
- Processo: Vendo e Matando
- Editando Arquivos de Texto
Tudo bem, agora que temos uma estrutura básica definida, vamos examiná-los um por um.
No post anterior, você aprendeu como criar arquivos no Linux e como removê-los. Vamos construir em cima disso e primeiro ver como visualizar o conteúdo de um arquivo.
Comando gato
Para visualizar o conteúdo de um arquivo, usamos o comando cat. A definição de livro deste comando é que o comando - cat lê sequencialmente um arquivo e imprime a saída na saída padrão. Em termos simples, significa que o arquivo imprime o conteúdo de um arquivo linha por linha.
Vamos usar um exemplo para ver como funciona o comando cat, certo?
Esta é a sintaxe:
gato FILENAME
Substituir o NOME DO ARQUIVO com um de sua preferência. Como você pode ver abaixo, o comando acabou de imprimir o conteúdo dos arquivos ghost.txt no formato linha por linha:

Agora que sabemos como visualizar o conteúdo de um arquivo, vamos aprender como realmente adicionar conteúdo a um arquivo diretamente do terminal, sem usar nenhum editor (não se preocupe, isso virá muito em breve).
Operadores de redirecionamento no Linux
Uma das maneiras pelas quais você pode adicionar (substituir ou anexar) o conteúdo de um arquivo é feito usando um dos operadores de redirecionamento. Em termos simples, os operadores de redirecionamento permitem que os usuários controlem a entrada e a saída de um comando.
Disso passou pela sua cabeça, aqui está um exemplo mais identificável. Lembra o que o comando echo fez? Ele imprimiu uma string para o terminal. A string foi a saída do comando echo. Usando um dos operadores de redirecionamento, você pode realmente usar essa saída e gravá-la em um arquivo.
Chega de conversa, vamos ver como o operador de redirecionamento funciona com um exemplo.
Esta é a sintaxe do operador de redirecionamento:
arquivo comando redirection_operator
Aqui, o comando é o comando do terminal que produzirá uma string e o arquivo é o arquivo real que aceitará essa saída. Existem vários operadores de redirecionamento disponíveis, mas vamos limitar nosso escopo à gravação em arquivos.
Para fazer isso, podemos usar um dos dois operadores de redirecionamento, ou seja, > e >>
Na captura de tela a seguir, você pode ver como funciona. Eu mostrei no terminal que o arquivo está inicialmente vazio usando o comando cat, então adicionei conteúdo ao arquivo usando o comando echo e finalmente imprimi o conteúdo usando o comando cat.
O > operador funciona no modo de substituição. Isso significa que se você usar o > operador para gravar conteúdo em um arquivo, seu conteúdo anterior será sobrescrito. Isso é mostrado na imagem abaixo. Como você pode ver, o conteúdo anterior foi substituído pelo novo.

Agora, a pergunta óbvia é: e se você não quiser substituir o conteúdo existente? Bem, há uma versão do operador de redirecionamento que faz exatamente isso.
Para anexar a um arquivo, em vez de usar o> usamos >>
Esta é a sintaxe:
comando >> nome do arquivo
E você pode ver um exemplo de uso na imagem abaixo, o conteúdo foi anexado a. Muito legal, certo? Concordamos que não oferece a mesma flexibilidade que um editor de texto, mas para casos de uso menores, ele faz o trabalho muito bem.

Tudo bem, continuando!
Agora que sabemos como adicionar conteúdo a um arquivo e como visualizá-lo, que tal aprender como localizar arquivos no sistema de arquivos?
encontrar comando
Para pesquisar arquivos dentro do seu sistema de arquivos, usamos o comando find. O comando faz basicamente o que afirma fazer. Ele encontra um determinado nome de arquivo ou um padrão regex.
A sintaxe básica para o mesmo seria a seguinte:
encontrar expressão path -name
Como sempre, substitua os espaços reservados por seus próprios valores.
O caminho diz ao comando find em qual diretório pesquisar o arquivo fornecido. o nome opção especifica um padrão com o qual a pesquisa precisa ser correspondida.
Vamos ver como o comando find funciona em um exemplo de uso.

Conforme visto abaixo no exemplo de saída, o comando procura por qualquer .exe arquivos dentro do meu sistema de arquivos e os envia para o console. Agora que temos alguns dos comandos de manipulação mais complexos em nosso currículo, vamos dar um passo adiante.
Vamos agora dar uma olhada em como podemos pesquisar coisas dentro de um arquivo.
Comando grep
grep significa Expressão Regular Global e embora iremos cobrir isso em um post futuro, a explicação básica para o que isso significa é que é apenas um modelo que o grep usa para verificar as strings para encontrar uma correspondência. Não se preocupe se não fizer muito sentido. Vamos cobrir isso extensivamente na Parte 3.
Tudo bem, então vamos testar o grep. Esta é a sintaxe do nosso teste:
grep -i "string para corresponder a" filename.extension
O - Eu a opção dirá ao grep para ignorar maiúsculas e minúsculas, então “HO” “ho” e “hO” serão considerados o mesmo. A string a ser comparada é especificada entre aspas, seguidas do nome do arquivo.

Tudo bem, vamos ver como o comando grep em uma demonstração. Como visto acima, meu exemplo mostra o uso de grep em ambos os modos com e sem distinção de maiúsculas e minúsculas.
É importante notar neste ponto que existem n combinações diferentes para um comando e várias opções para acompanhá-lo. O que estou fazendo aqui é fornecer um caso de uso geral arredondado que funcionará para a maioria dos casos simples, mas no caso de você querer ir all in, você pode definitivamente fazer um homem no comando para descobrir todas as opções disponíveis para usar com o comando.
A seguir, vamos ver como podemos comparar 2 arquivos diferentes linha por linha.
Comando diff
Para ver como 2 arquivos diferem (entendeu?), Usamos o comando diff. É melhor vê-lo em ação para entender como ele realmente funciona, então vamos direto ao assunto.
Esta é a sintaxe do comando diff:
diff arquivo1 arquivo2
E aqui está um exemplo de uso do comando diff Linux:

À primeira vista, pode não fazer todo o sentido, então vamos analisar o resultado.
A primeira linha da saída diff conterá:
- números de linha correspondentes ao primeiro arquivo
- uma letra (a para adicionar, c para alterar ou d para excluir)
- números de linha correspondentes ao segundo arquivo.
Em nossa saída acima, “1,3c1” significa: “As linhas 1 a 3 no primeiro arquivo precisam ser alteradas para corresponder às linhas 1 no segundo arquivo.” Em seguida, ele nos diz quais são essas linhas em cada arquivo:
- As linhas precedidas por <são as linhas do primeiro arquivo
- Linhas precedidas por> são linhas do segundo arquivo.
Seguindo em frente, veremos como podemos descobrir sobre as linhas repetidas em um determinado arquivo.
Comando uniq
O comando uniq é usado para descobrir as linhas repetidas junto com sua contagem e outros detalhes semelhantes. Se você mantiver, ele diz que é usado para filtrar ou relatar linhas repetidas em um arquivo. Como acontece com quase todos os comandos, o comando uniq também tem várias opções para acompanhá-lo.
Mas por uma questão de brevidade e para garantir que você aprenda um número maior de comandos em vez de aprender muito sobre um único comando, vamos apenas desenhar um exemplo mínimo, e você pode aprofundar mais usando o comando man.
Tudo bem, aqui está a sintaxe para o comando uniq:
uniq -options nome do arquivo
Agora vamos ver um exemplo para aprender como funciona o comando uniq no Linux.

Vamos analisar a amostra bem rápido. o -c opção diz ao comando uniq para imprimir um contar junto com a saída e a próxima opção é o nome do arquivo que é fornecido para uniq.
Como você pode ver no exemplo acima, ele imprimiu a contagem de linhas repetidas que em nosso caso foi 2.
Isso deve servir para todos os comandos que você precisa saber para ter certeza de que é capaz de contornar os arquivos, mas há uma parte muito importante que não cobrimos até agora: os direitos de acesso.
Como você vê no mundo real, não quer que todos os seus arquivos tenham acesso global de leitura e gravação, o que significa que qualquer pessoa pode simplesmente caminhar e fazer edições em um arquivo. Certos arquivos precisam ser protegidos contra adulteração. É aí que entra o controle de acesso, e o Linux e o Unix o gerenciam surpreendentemente bem com este próximo comando.
Comando chmod
O comando chmod significa modo de mudança e basicamente permite que você altere a forma como um arquivo pode ser acessado e por quem pode ser acessado.
A sintaxe para chmod é bastante simples e se parece com isto:
chmod - opções de nome de arquivo de permissões
Embora as opções e o nome do arquivo não precisem de elaboração, o permissões parte precisa de alguma explicação.
Permissões de arquivo no Linux giram em torno de 3 escopos, do utilizador, grupo, e outras. As permissões são, por sua vez, de 3 tipos leia, escrever, e executar. O que significa que cada escopo tem 3 permissões, perfazendo um total de 3 conjuntos de escopos com 3 permissões em cada um.
Tendo isso em mente, aqui está um exemplo de uso para mostrar como o chmod funciona:
chmod u = rwx, g = rx, o = r nome do arquivo.txt
Aqui u é um anagrama para usuário, g para grupo e o para outras. E a = sinal é usado para atribuir a permissão ler (r), escrever (w), e executar (x) para cada escopo. A vírgula separa cada atribuição.

Existe um atalho para atribuir as permissões e está usando a notação octal. Na notação octal:
- 4 significa ler
- 2 significa escrever
- 1 significa executar
- 0 significa sem permissão
Então, de acordo com a notação acima, o número 7 irá conceder permissão de leitura, gravação e execução (4 + 2 + 1). Você pode misturar e combinar de acordo e aqui está um exemplo de caso de uso usando a notação octal:
chmod 755 starwars.txt

Neste exemplo, o arquivo starwars tem:
- permissão de leitura, gravação e execução para o usuário.
- ler e executar para o grupo.
- executar outros.
Tudo bem! estamos chegando ao fim do arquivo que trata parte da postagem. Este comando final permitirá arquivar um arquivo / compactar um arquivo. Arquivar um arquivo é útil quando você deseja mover vários arquivos entre sistemas e, ao mesmo tempo, evitar corrompê-los.
Comando tar
O comando tar significa arquivo em fita e permite criar, manipular e extrair os arquivos arquivados.
Esta é a sintaxe básica do comando para ver como funciona:
tar -options filename1 filename1…. filenameN
Vamos ver um exemplo de uso com algumas opções. É altamente recomendável que você experimente o exemplo e, em seguida, explore-o por si mesmo para descobrir casos de uso mais interessantes.
tar -c -f comprimido.zip ghost.txt starwars.txt

Vamos decompô-lo. o -c e -f comandos são apenas alguns entre uma lista de muitos, mas aqui está o que eles fazem. o -c opção diz ao comando para crie um novo arquivo e -f é usado para especifique o nome do arquivo para o arquivo que, neste caso, é compactado.zip, o comando tar pode criar arquivos em .zip, .tar, .rar e outros formatos, portanto, certifique-se de escolher um que atenda às suas necessidades
Agora que você sabe como compactar arquivos, vamos ver como extraí-los. Nós usamos o -x e -f opções no comando tar para extrair um arquivo, o -x opção diz ao tar para extrair o arquivo e -f é usado para especifique o nome do arquivo conforme mostrado no exemplo abaixo:

Tudo bem, finalmente ultrapassamos a parte da postagem que trata do arquivo. Viva! Você fez um ótimo trabalho vindo até aqui. Vamos falar sobre processos agora.
Na terminologia do Linux, um processo é um programa atualmente em execução, realizando uma tarefa específica. Os processos são dinâmicos e mudam constantemente conforme o usuário alterna entre os aplicativos.
O Documentação Linux fala sobre processos em grande detalhe e eu encorajo você a fazer uma leitura assim que terminar este post.
Agora que sabemos o que é um processo, vamos ver como visualizá-los.
Comando ps
O comando ps nos permite ver quais processos estão sendo executados atualmente em uma máquina. Ele vem com uma variedade de opções, mas aqui está um uso mínimo que mostra todos os processos atualmente em execução como root.
A sintaxe é a seguinte
ps -opção
Em nosso caso, usaremos o -u opção que irá mostrar o processos em execução como root.

Agora que você sabe como visualizar processos, que tal aprender a eliminá-los?
comando de matar
O comando kill é usado para encerrar ou encerrar um determinado processo sem efetuar logout ou reinicializar o computador. É importante notar que o comando kill não mata realmente um processo, ele apenas envia um sinal para um processo e o sinal diz ao processo o que deve ser feito. Por padrão, quando nenhum sinal é especificado, um sinal 15 chamado PRAZO META é enviado para o processo e, se falhar, um sinal mais forte 9SIGKILL é enviado para o processo, no entanto, para a maioria dos casos de uso normais, tudo o que você precisa especificar para encerrar um processo é que PID.
Esta é a sintaxe do comando kill:
kill [sinal ou opções] PIDs
E aqui está uma demonstração:

Tenha muito cuidado ao matar um processo. Eliminar um processo crítico do sistema pode fazer com que sua máquina se comporte de maneira anormal. Se você ainda conseguir fazer isso, certifique-se de reiniciar o sistema uma vez para restaurar sua execução normal.
Tudo bem, agora que cobrimos alguns fundamentos com os comandos do terminal, vamos falar sobre uma maneira fácil de fazer alterações / adicionar conteúdo a um arquivo. Todos nós usamos editores de texto como Visual Studio Code ou Atom, mas como o objetivo desta série é deixar você confortável e aconchegante com o terminal, por que não explorar um editor básico dentro do próprio terminal?
nano Comando
Nano (confie em mim) significa Nano's ANOO editor e é um editor de código aberto, leve e gratuito que permite a você editar arquivos dentro do terminal é um editor de texto nativo como o ambiente com os comandos usuais com os quais você está familiarizado.
Para invocar o nano / abrir um arquivo no nano, você digita o comando na seguinte sintaxe:
nanoFILENAME
Se o arquivo existir, o nano o abriria e caso não existisse criaria um novo arquivo com esse nome e o abriria. O editor em si é bastante mínimo e, ao contrário de seu irmão mais velho (e odiado), Vim / Vi, não o deixa louco com os comandos notoriamente difíceis. Para navegar dentro do arquivo, você usa as teclas de seta usuais. Para remover o conteúdo, você ainda usa a tecla delete / backspace e para lidar com a área de transferência usa o familiar Ctrl + C, Ctrl + V etc.

O editor apresenta as operações mais usadas, como sair do editor para você na metade inferior da tela. Antes de encerrar usando Ctrl + X, você será solicitado a salvar as alterações feitas. Claro que o Vim existe há mais tempo, mas na minha opinião pessoal, não é nada mais do que um passe para a cultura hippie. O máximo que você pode obter de ser um profissional no Vim seria se gabar, e isso acaba aí. Não há absolutamente nenhuma razão para alguém perder seu precioso tempo aprendendo como usar o Vim. Dito isso, finalmente chegamos ao final da Parte 2.
Comandos do Linux para usuários intermediários: Resumo
Na Parte 2 da série Linux Hands On, construímos sobre a base que estabelecemos Parte 1. Conseguimos lidar com arquivos e manipulá-los. Também aprendemos um conceito totalmente novo chamado processos e como eliminá-los. E fechamos esta parte com uma visão geral do editor de texto Nano. Isso seria tudo por esta semana. Até retornarmos na próxima semana com a Parte 3, certifique-se de ter tempo suficiente para brincar com o comando compartilhado nesta postagem. Não se sobrecarregue com o número de comandos que existem; leva muito tempo para que essas coisas se tornem uma memória muscular. Até que isso aconteça, a experiência prática é sua melhor amiga.
Manas Chaudhary
Obrigado por essas séries Linux. Eu já passei por tudo isso e achei muito útil. Principalmente vídeos. Às vezes é difícil seguir o artigo, então baixei o vídeo e aprendi. Agora sinto que conheço uma boa quantidade de Linux para começar a fazer algo nele. Obrigado por esses posts me ajudaram muito.