Comandos básicos do Linux
O Linux é controlado principalmente pela linha de comando (terminal ou shell). Mesmo com interfaces gráficas disponíveis, dominar comandos é essencial para administração de servidores, automação e eficiência.
Tipos de comportamentos do programa
Section titled “Tipos de comportamentos do programa”O shell aceita 02 tipos de comandos:
- Internos: Comandos que fazem parte do próprio shell. Por exemplo,
cd,set,export, etc. - Externos: Comandos que residem em arquivos individuais. Estes arquivos, geralmente, são programas binários ou scripts. Quando um comando externo ao shell é executado, o shell usa a variável
PATHpara procurar um arquivo executável com o mesmo nome do comando.
O comando type mostra a que tipo pertence um comando específico:
type echo
# Saída do comandoecho is a shell builtintype mv
# Saída do comandomv is /usr/bin/mvEstrutura da linha de comando
Section titled “Estrutura da linha de comando”A maioria dos comandos no shell seguem a mesma estrutura básica:
comando [opção(ões)/parâmetro(s)...] [argumento(s)...]Caminho Absoluto e Caminho Relativo
Section titled “Caminho Absoluto e Caminho Relativo”No Linux, podemos acessar arquivos e diretórios usando Caminho Absoluto ou Caminho Relativo.
Caminho Absoluto
Section titled “Caminho Absoluto”É o caminho completo desde a raiz do sistema de arquivos até o destino.
Características:
- Sempre começa com
/ - Funciona de qualquer lugar do sistema
- Não depende do diretório atual
- É único e inequívoco
Caminho Relativo
Section titled “Caminho Relativo”É o caminho a partir do diretório atual (onde você está agora).
Características:
- Nunca começa com
/ - Depende do diretório atual (
pwd) - Pode começar com:
.: Diretório atual..: Diretório pai~: Diretório Home do usuário
- Mais curto e prático para navegação local
Comando pwd
Section titled “Comando pwd”Informa o diretório atual
sysadmin@server01:~$ pwd/home/sysadminO comando pwd mostra que o diretório atual é o /home/sysadmin.
Comando ls (list)
Section titled “Comando ls (list)”O comando ls lista o conteúdo de diretórios.
Exemplos de uso do comando ls:
Listar arquivos de um diretório
Section titled “Listar arquivos de um diretório”Listar arquivos do diretório /home/sysadmin:
ls /home/sysadmindoc01.pdf doc02.pdf doc03.pdfO comando ls sem nenhuma opção ou parâmetro lista os arquivos do diretório informado.
Listar detalhes dos arquivos de um diretório
Section titled “Listar detalhes dos arquivos de um diretório”Listar em formato detalhado (permissões, tamanho, data) os arquivos de um diretório.
ls -l /home/sysadmintotal 8 -rw-rw-r-- 1 sysadmin sysadmin 0 jan 5 16:34 doc01.pdf -rw-rw-r-- 1 sysadmin sysadmin 0 jan 5 16:34 doc02.pdf -rw-rw-r-- 1 sysadmin sysadmin 0 jan 5 16:34 doc03.pdf drwxrwxr-x 2 sysadmin sysadmin 4096 jan 5 16:49 scriptsComando:
-l: Usa formato de lista longa
Saída do comando:
total 8: Mostra o total de blocos de disco usados pelos arquivos no diretório (em blocos de 1KB).0significa que os arquivos não ocupam blocos completos (são arquivos vazios ou muito pequenos).-rw-rw-r--: Tipo e permissões de arquivos.- Tipos de arquivos (primeiro caracter):
-: arquivo regulard: diretóriol: link simbólicoc: dispositivo de caractereb: dispositivo de blocop: pipe nomeados: socket
- Tipos de arquivos (primeiro caracter):
1: Indica quantos hard links apontam para este arquivo.1significa que existe apenas o nome original do arquivo. Se fosse um diretório, seria no mínimo2(.e o próprio nome). Números maiores indicam múltiplos hard links para o mesmo inode.sysadmin: Usuário proprietário do arquivo.sysadmin: Grupo proprietário do arquivo.0: Tamanho do arquivo em bytes. Para ver em formato legível usels -lh.jan 5 16:34: Data e hora da modificação do conteúdo do arquivo.doc01.pdf: Nome do arquivo.
As permissões de arquivos e diretórios, hard links e inodes serão explicados em posts futuros.
Listar arquivos ocultos, em formato longo (com detalhes) e com o tamanho legível (KB, MB, GB)
Section titled “Listar arquivos ocultos, em formato longo (com detalhes) e com o tamanho legível (KB, MB, GB)”Agora usaremos várias opções do juntas em um mesmo comando.
ls -lha /home/sysadmintotal 400Kdrwx------ 4 sysadmin sysadmin 4,0K jan 5 16:49 .drwxr-xr-x 3 root root 4,0K dez 15 18:39 ..-rw------- 1 sysadmin sysadmin 105 dez 16 14:22 .bash_history-rw-r--r-- 1 sysadmin sysadmin 220 dez 15 18:39 .bash_logout-rw-r--r-- 1 sysadmin sysadmin 3,5K dez 15 18:39 .bashrc-rw-rw-r-- 1 sysadmin sysadmin 6 jan 5 16:44 doc01.pdf-rw-rw-r-- 1 sysadmin sysadmin 0 jan 5 16:34 doc02.pdf-rw-rw-r-- 1 sysadmin sysadmin 0 jan 5 16:34 doc03.pdf-rw-r--r-- 1 sysadmin sysadmin 807 dez 15 18:39 .profiledrwxrwxr-x 2 sysadmin sysadmin 4,0K jan 5 16:49 scripts-rw------- 1 sysadmin sysadmin 907 dez 16 14:17 .viminfoComando:
-l: Usa formato de lista longa-h(--human-readable): Usado com a opção-le/ou-s, mostra o tamanho dos arquivos em formato legível para humanos (KB, MB, GB).-a(--all): Mostra arquivos ocultos. Os arquivos ocultos são iniciados com um.. Por exemplo,.profile,.viminfo,.bashrc, etc.
Saída do comando:
- Notem que no final da segunda linha tem um
.e no final da terceira linha tem um..:.: Indica o diretório atual...: Indica o diretório do nível anterior.
Listar arquivos ocultos, em formato longo (com detalhes) e com o tamanho legível (KB, MB, GB)
Section titled “Listar arquivos ocultos, em formato longo (com detalhes) e com o tamanho legível (KB, MB, GB)”Agora usaremos várias opções do juntas em um mesmo comando.
ls -lha /home/sysadmintotal 400Kdrwx------ 4 sysadmin sysadmin 4,0K jan 5 16:49 .drwxr-xr-x 3 root root 4,0K dez 15 18:39 ..-rw------- 1 sysadmin sysadmin 105 dez 16 14:22 .bash_history-rw-r--r-- 1 sysadmin sysadmin 220 dez 15 18:39 .bash_logout-rw-r--r-- 1 sysadmin sysadmin 3,5K dez 15 18:39 .bashrc-rw-rw-r-- 1 sysadmin sysadmin 6 jan 5 16:44 doc01.pdf-rw-rw-r-- 1 sysadmin sysadmin 0 jan 5 16:34 doc02.pdf-rw-rw-r-- 1 sysadmin sysadmin 0 jan 5 16:34 doc03.pdf-rw-r--r-- 1 sysadmin sysadmin 807 dez 15 18:39 .profiledrwxrwxr-x 2 sysadmin sysadmin 4,0K jan 5 16:49 scripts-rw------- 1 sysadmin sysadmin 907 dez 16 14:17 .viminfoComando:
-l: Usa formato de lista longa-h(--human-readable): Usado com a opção-le/ou-s, mostra o tamanho dos arquivos em formato legível para humanos (KB, MB, GB).-a(--all): Mostra arquivos ocultos. Os arquivos ocultos são iniciados com um.. Por exemplo,.profile,.viminfo,.bashrc, etc.
Comando cd (change directory)
Section titled “Comando cd (change directory)”O comando cd altera o diretório atual do shell.
Exemplos de uso do comando cd:
Acessar um diretório
Section titled “Acessar um diretório”Estou no diretório /home/sysadmin/ e quero acessar o diretório /var/log/:
cd /var/log# O ".." indica que está subindo um nível nos diretórioscd ../../var/logSubir um nível de diretório
Section titled “Subir um nível de diretório”Estou no diretório /var/log/ e quero acessar o diretório /var/:
cd /var# O ".." indica que está subindo um nível nos diretórioscd ..Ir para o diretório Home do usuário atual
Section titled “Ir para o diretório Home do usuário atual”Estou no diretório /var/ e quero acessar o diretório /home/sysadmin (o meu usuário atual é o sysadmin):
cd /home/sysadmin# O caracter "~" indica o diretório Home do usuário atualcd ~# Somente o comando cd sem opções e nem argumentoscdComando mkdir (make directory)
Section titled “Comando mkdir (make directory)”O comando mkdir cria novos diretórios
Exemplos de uso do comando mkdir:
Criar diretório
Section titled “Criar diretório”Estou no diretório /home/sysadmin/ e quero criar o diretório arquivos:
mkdir /home/sysadmin/arquivosmkdir arquivosCriar estrutura completa de diretórios (pai/filho)
Section titled “Criar estrutura completa de diretórios (pai/filho)”Estou no diretório /home/sysadmin/, quero criar o diretório relatorios e, dentro dele, criar o diretório financeiro:
# A opção "-p" cria uma estrutura de diretóriosmkdir -p /home/sysadmin/relatorios/financeiro# A opção "-p" cria uma estrutura de diretóriosmkdir -p relatorios/financeiroComando rmdir (remove directory)
Section titled “Comando rmdir (remove directory)”O comando rmdir remove diretório vazios.
Exemplos de uso do comando rmdir:
Remover um diretório vazio
Section titled “Remover um diretório vazio”Estou no diretório /home/sysadmin/, quero remover o diretório financeiro que está dentro do diretório relatorios:
rmdir /home/sysadmin/relatorios/financeirormdir relatorios/financeiroComando cp (copy)
Section titled “Comando cp (copy)”O comando cp copia arquivos e diretórios.
Exemplos de uso do comando cp:
Estrutura do comando
Section titled “Estrutura do comando”A estrutura do comando cp é a seguinte:
cp origem destinoCopiar um arquivo
Section titled “Copiar um arquivo”Estou no diretório /home/sysadmin/, quero copiar o arquivo doc01.pdf para o diretório /home/sysadmin/relatorios/:
cp /home/sysadmin/doc01.pdf /home/sysadmin/relatorios/cp doc01.pdf relatorios/Copiar um diretório e o seu conteúdo
Section titled “Copiar um diretório e o seu conteúdo”Estou no diretório /home/sysadmin/, quero copiar o diretório arquivos e o seu conteúdo para o diretório /home/sysadmin/relatorios/:
# A opção "-r" copia os diretórios recursivamentecp -r /home/sysadmin/arquivos /home/sysadmin/relatorios/# A opção "-r" copia os diretórios recursivamentecp -r arquivos relatorios/