Uma Introdução ao Terminal Linux

Introdução

Este tutorial, o primeiro de uma série que ensina fundamentos do Linux, aborda como começar com o terminal, a linha de comando do Linux e executar comandos. Se você é novo no Linux, vai querer se familiarizar com o terminal, pois é a forma padrão de interagir com um servidor Linux.

Se você deseja aproveitar ao máximo este tutorial, precisará de um servidor Linux para se conectar e usar. Se você ainda não possui um, pode rapidamente criar um seguindo este link: Como Criar um Droplet DigitalOcean. Este tutorial é escrito para um servidor Ubuntu 22.04, mas os princípios gerais se aplicam a qualquer outra distribuição Linux.

Vamos começar explicando o que é um emulador de terminal.

Emulador de Terminal

A terminal emulator is a program that allows the use of the terminal in a graphical environment. As most people use an OS with a graphical user interface (GUI) for their day-to-day computer needs, the use of a terminal emulator is a necessity for most Linux server users.

Aqui estão alguns emuladores de terminal gratuitos e comumente usados por sistema operacional:

  • Mac OS X: Terminal (padrão), iTerm 2
  • Windows: ConEmu, Windows Terminal, PuTTy
  • Linux: Gnome Terminal, Konsole, XTerm

Cada emulador de terminal tem seu próprio conjunto de recursos. Em geral, você deve esperar que um emulador de terminal moderno suporte janelas com abas e destaque de texto.

O Shell

Em um sistema Linux, o shell é uma interface de linha de comando que interpreta os comandos do usuário e arquivos de script, e informa ao sistema operacional do servidor o que fazer com eles. Existem vários shells amplamente usados, como o shell Bourne-Again (bash) e o shell Z (zsh). Cada shell tem seu próprio conjunto de recursos e detalhes sobre como os comandos são interpretados, mas todos eles apresentam redirecionamento de entrada e saída, variáveis e teste de condições, entre outras coisas.

Este tutorial foi escrito usando o shell Bourne-Again, geralmente referido como bash, que é o shell padrão para a maioria das distribuições Linux, incluindo Ubuntu, Fedora e RHEL.

O Prompt de Comando

Quando você faz login em um servidor pela primeira vez, geralmente será recebido pela Mensagem do Dia (MOTD), que normalmente é uma mensagem informativa que inclui informações diversas, como a versão da distribuição Linux que o servidor está executando. Após o MOTD, você será direcionado para o prompt de comando, ou prompt de shell, onde pode emitir comandos para o servidor.

As informações apresentadas no prompt de comando podem ser personalizadas pelo usuário, mas aqui está um exemplo do prompt de comando padrão do Ubuntu 20.04:

sammy@webapp:~$

Aqui está uma explicação da composição do prompt de comando:

  • sammy: O nome de usuário do usuário atual
  • webapp: O nome do host do servidor
  • ~: O diretório atual. No bash, que é o shell padrão, o ~, ou til, é um caractere especial que se expande para o caminho do diretório inicial do usuário atual; neste caso, representa /home/sammy
  • $: O símbolo de prompt. Isso denota o final do prompt de comando, após o qual a entrada do teclado do usuário aparecerá

Aqui está um exemplo de como o prompt de comando pode parecer, se conectado como root e no diretório /var/log:

root@webapp:/var/log#

Observe que o símbolo que encerra o prompt de comando é um #, que é o símbolo padrão do prompt para o usuário root. No Linux, o usuário root é a conta de superusuário, que é uma conta de usuário especial que pode executar funções administrativas em todo o sistema. É um usuário irrestrito que tem permissão para executar qualquer tarefa em um servidor.

Executando Comandos

Comandos podem ser emitidos no prompt de comando especificando o nome de um arquivo executável, que pode ser um programa binário ou um script. Existem muitos comandos e utilitários padrão do Linux que são instalados com o sistema operacional, que permitem que você navegue no sistema de arquivos, instale e gerencie pacotes de software e configure o sistema e aplicativos.

Uma instância de um comando em execução é conhecida como um processo. Quando um comando é executado em primeiro plano, que é a maneira padrão como os comandos são executados, o usuário deve esperar que o processo termine antes de retornar ao prompt de comando, momento em que podem continuar emitindo mais comandos.

É importante observar que quase tudo no Linux é sensível a maiúsculas e minúsculas, incluindo nomes de arquivos e diretórios, comandos, argumentos e opções. Se algo não estiver funcionando conforme esperado, verifique novamente a ortografia e o caso de seus comandos!

Aqui estão alguns exemplos que abordarão os fundamentos da execução de comandos.

Nota: Se ainda não estiver conectado a um servidor Linux, agora é um bom momento para fazer login. Se você tem um servidor Linux, mas está tendo problemas para se conectar, siga este link: Como Conectar-se ao Seu Droplet com SSH.

Sem Argumentos ou Opções

Para executar um comando sem quaisquer argumentos ou opções, digite o nome do comando e pressione Enter.

Se você executar um comando assim, ele exibirá seu comportamento padrão, que varia de comando para comando. Por exemplo, se você executar o comando cd sem argumentos, retornará ao diretório inicial do usuário atual. O comando ls imprimirá uma lista dos arquivos e diretórios do diretório atual. O comando ip sem argumentos imprimirá uma mensagem que mostra como usar o comando ip.

Tente executar o comando ls sem argumentos para listar os arquivos e diretórios no seu diretório atual (pode não haver nenhum):

  1. ls

Com Argumentos

Muitos comandos aceitam argumentos ou parâmetros, que podem afetar o comportamento de um comando. Por exemplo, a maneira mais comum de usar o comando cd é passar a ele um único argumento que especifica para qual diretório mudar. Por exemplo, para mudar para o diretório /usr/bin, onde muitos comandos padrão estão instalados, você emitiria este comando:

cd /usr/bin

O componente cd é o comando, e o primeiro argumento /usr/bin segue o comando. Note como o caminho atual do seu prompt de comando foi atualizado.

Tente executar o comando ls para ver os arquivos que estão no seu novo diretório atual.

ls
Output
… grub-mkrescue sdiff zgrep grub-mkstandalone sed zipdetails grub-mount see zless grub-ntldr-img select-editor zmore grub-render-label semver znew grub-script-check sensible-browser

Com Opções

A maioria dos comandos aceita opções, também conhecidas como flags ou interruptores, que modificam o comportamento do comando. As opções seguem um comando e são indicadas por um único caractere - seguido por um ou mais opções, que são representadas por letras maiúsculas ou minúsculas individuais. Algumas opções de várias palavras podem começar com --, seguido pelo texto da flag.

Para um exemplo de como as opções funcionam, vamos olhar para o comando ls. Aqui estão algumas opções comuns que são úteis ao usar o ls:

  • -l: imprime uma “listagem longa”, que inclui detalhes extras como permissões, propriedade, tamanhos de arquivo e carimbos de data e hora
  • -a: lista todos os arquivos de um diretório, incluindo os ocultos (que começam com .)

Para usar a opção -l com ls, use este comando:

  1. ls -l

Observe que a listagem inclui os mesmos arquivos de antes, mas com informações adicionais sobre cada arquivo.

Como mencionado anteriormente, as opções geralmente podem ser agrupadas. Se você deseja usar a opção -l e -a juntas, você poderia executar ls -l -a, ou simplesmente combiná-las como neste comando:

  1. ls -la

Observe que a listagem inclui os diretórios ocultos . e .. na listagem, devido à opção -a.

Com Opções e Argumentos

Opções e argumentos podem quase sempre ser combinados ao executar comandos.

Por exemplo, você poderia verificar o conteúdo de /home, independentemente do seu diretório atual, executando este comando ls:

ls -la /home

ls é o comando, -la são as opções, e /home é o argumento que indica qual arquivo ou diretório listar. Isso deve imprimir uma listagem detalhada do diretório /home, que deve conter os diretórios home de todos os usuários normais no servidor.

Variáveis de Ambiente

As variáveis de ambiente são valores nomeados que são usados para alterar como comandos e processos são executados. Quando você faz login em um servidor pela primeira vez, várias variáveis de ambiente serão definidas de acordo com alguns arquivos de configuração por padrão.

Visualizar Todas as Variáveis de Ambiente

Para visualizar todas as variáveis de ambiente definidas para uma sessão de terminal específica, execute o comando env:

env

Provavelmente haverá muita saída. Procure pela entrada PATH:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

A variável de ambiente PATH é uma lista delimitada por dois pontos de diretórios onde o shell procurará programas executáveis ou scripts quando um comando for emitido. Por exemplo, o comando env está localizado em /usr/bin, e você pode executá-lo sem especificar seu caminho completo porque seu caminho está na variável de ambiente PATH.

Visualizar o Valor de uma Variável

O valor de uma variável de ambiente pode ser obtido prefixando o nome da variável com um $. Isso irá expandir a variável referenciada para o seu valor.

Por exemplo, para imprimir o valor da variável PATH, você pode usar o comando echo:

echo $PATH

Ou você poderia usar a variável HOME, que é definida como o diretório home do usuário por padrão, para mudar para o seu diretório home assim:

cd $HOME

Se você tentar acessar uma variável de ambiente que não foi definida, ela será expandida para nada; uma string vazia.

Definindo Variáveis de Ambiente

Agora que você sabe como visualizar suas variáveis de ambiente, você deve aprender como defini-las.

Para definir uma variável de ambiente, tudo o que você precisa fazer é começar com um nome de variável, seguido imediatamente por um sinal de =, seguido imediatamente pelo seu valor desejado:

VAR=value

Observe que se você definir uma variável existente, o valor original será sobrescrito. Se a variável não existia em primeiro lugar, ela será criada.

O Bash inclui um comando chamado export que exporta uma variável para que seja herdada por processos filhos. Isso permite que você use scripts que referenciam uma variável de ambiente exportada de sua sessão atual.

Você também pode fazer referência a variáveis existentes ao definir uma variável. Por exemplo, se você instalou um aplicativo em /opt/app/bin, você poderia adicionar esse diretório ao final da sua variável de ambiente PATH com este comando:

export PATH=$PATH:/opt/app/bin

Agora verifique se /opt/app/bin foi adicionado ao final da sua variável PATH com o comando echo:

echo $PATH

Tenha em mente que definir variáveis de ambiente desta forma apenas as define para a sua sessão atual. Isso significa que se você sair ou mudar para outra sessão, as alterações feitas no ambiente não serão preservadas. Existe uma maneira de alterar permanentemente variáveis de ambiente, mas isso será abordado em um tutorial posterior.

Conclusão

Agora que você começou a aprender sobre o terminal Linux (e alguns comandos), você deveria ter uma boa base para expandir seu conhecimento sobre comandos do Linux. Leia o próximo tutorial desta série para aprender como navegar, visualizar e editar arquivos e suas permissões.

Source:
https://www.digitalocean.com/community/tutorials/an-introduction-to-the-linux-terminal