Comandos Essenciais do Linux para Manipulação de Arquivos e Diretórios
Este artigo apresenta os principais comandos do sistema operacional Linux para manipulação de arquivos e diretórios.
Lista de Comandos Estudados
- pwd
- cd
- ls
- touch
- mkdir
- rmdir
- cp
- mv
- rm
- wc
- du
- pwd: Exibir o Diretório de Trabalho Atual
O comando pwd (print working directory) exibe o caminho completo do diretório onde o usuário está atualmente trabalhando.
Sintaxe
pwd [opções]
| Opção | Descrição |
|---|---|
| -L | Exibe o caminho lógico incluindo links simbólicos |
| -P | Exibe o caminho físico real, resolvendo links simbólicos |
- cd: Alterar o Diretório de Trabalho
O comando cd (change directory) permite navegar entre os diretórios do sistema de arquivos.
Sintaxe
cd [opções] [diretório]
| Opção/Comando | Descrição |
|---|---|
| cd ou cd ~ | Retorna ao diretório pessoal do usuário |
| cd .. | Move para o diretório pai (nível superior) |
| cd -P | Segue links simbólicos para o caminho físico real |
| cd ~usuario | Move para o diretório pessoal do usuário especificado |
- ls: Listar Conteúdo de Diretórios
O comando ls (list) exibe informações sobre arquivos e diretórios.
Sintaxe
ls [opções] [diretório/arquivo]
| Opção | Descrição |
|---|---|
| -a | Mostra todos os arquivos, incluindo ocultos (iniciados com ponto) |
| -A | Lista todos os arquivos exceto "." e ".." |
| -c | Ordena por tempo de alteração com -lt |
| -d | Lista apenas diretórios, sem seu conteúdo |
| -F | Indica o tipo de arquivo (diretório/, executável*, link@) |
| -i | Exibe o número de inode de cada arquivo |
| -l | Formato longo com detalhes (permissões, dono, tamanho, data) |
| -r | Inverte a ordem de ordenação |
| -t | Ordena por data de modificação |
| -s | Mostra o tamanho alocado em blocos |
| -S | Ordena por tamanho de arquivo |
Exemplos Práticos
Listar conteúdo do diretório /home:
usuario@maquina:~$ ls /home
documentos downloads imagens vídeos
Listar todos os arquivos do diretório /home incluindo ocultos em formato detalhado:
usuario@maquina:~$ ls -la /home
total 48
drwxr-xr-x 3 root root 4096 Jun 15 10:30 .
drwxr-xr-x 18 root root 4096 Jun 20 14:22 ..
drwxr-xr-x 5 usuario usuario 4096 Jun 18 09:15 documentos
drwxr-xr-x 3 usuario usuario 4096 Jun 19 16:45 downloads
Listar conteúdo de /etc com indicadores de tipo:
usuario@maquina:~$ ls -F /etc
adsl* cron.d/ fstab group hosts* profile
- touch: Criar Arquivos Vazios e Alterar Timestamps
O comando touch é utilizado para criar arquivos vazios ou modificar datas de acesso e modificação.
Sintaxe
touch [opções] arquivo
| Opção | Descrição |
|---|---|
| -a | Altera apenas o tempo de acesso (atime) |
| -m | Altera apenas o tempo de modificação (mtime) |
| -c | Não cria arquivo se não existir |
| -r arquivo | Usa os timestamps do arquivo especificado |
| -d data | Usa a data especificada em vez da data atual |
| -t timestamp | Usa o formato [[SS]AA]MMDDhhmm[.SS] |
Exemplos Práticos
Criar três arquivos vazios:
usuario@maquina:~$ touch arquivo1 arquivo2 arquivo3
usuario@maquina:~$ ls -l arquivo1 arquivo2 arquivo3
-rw-r--r-- 1 usuario usuario 0 Jun 22 15:30 arquivo1
-rw-r--r-- 1 usuario usuario 0 Jun 22 15:30 arquivo2
-rw-r--r-- 1 usuario usuario 0 Jun 22 15:30 arquivo3
Modificar o timestamp de um arquivo para 25 de dezembro às 14:30:
usuario@maquina:~$ ls -l /home/usuario/documento.txt
-rw-r--r-- 1 usuario usuario 1024 Jun 20 10:15 /home/usuario/documento.txt
usuario@maquina:~$ touch -t 12251430 /home/usuario/documento.txt
usuario@maquina:~$ ls -l /home/usuario/documento.txt
-rw-r--r-- 1 usuario usuario 1024 Dec 25 14:30 /home/usuario/documento.txt
- mkdir: Criar Novos Diretórios
O comando mkdir (make directory) cria novos diretórios no sistema de arquivos.
Sintaxe
mkdir [opções] diretório
| Opção | Descrição |
|---|---|
| -m modo | Define permissões do diretório (padrão: 755) |
| -p | Cria diretórios pais automaticamente se necessário |
| -v | Exibe mensagem para cada diretório criado |
Exemplos Práticos
Criar diretório com permissões padrão:
usuario@maquina:~$ mkdir projetos
usuario@maquina:~$ ls -ld projetos
drwxr-xr-x 2 usuario usuario 4096 Jun 22 16:00 projetos
Criar diretório com permissões específicas:
usuario@maquina:~$ mkdir -m 777 compartilhado
usuario@maquina:~$ ls -ld compartilhado
drwxrwxrwx 2 usuario usuario 4096 Jun 22 16:05 compartilhado
Criar estrutura de diretórios aninhados:
usuario@maquina:~$ mkdir -p projetos/java/backend/src
usuario@maquina:~$ ls -R projetos
projetos/:
java/
projetos/java:
backend/
projetos/java/backend:
src/
- rmdir: Remover Diretórios Vazios
O comando rmdir remove diretórios vazios do sistema de arquivos.
Sintaxe
rmdir [opções] diretório
| Opção | Descrição |
|---|---|
| -p | Remove diretório e seus ancestrais vazios |
| -v | Exibe detalhes da operação |
Exemplo Prático
Remover diretórios Pais automaticamente:
usuario@maquina:~$ rmdir -pv pasta1/pasta2/pasta3
rmdir: removendo 'pasta1/pasta2/pasta3'
rmdir: removendo 'pasta1/pasta2'
rmdir: removendo 'pasta1'
- cp: Copiar Arquivos e Diretórios
O comando cp (copy) copia arquivos e diretórios de uma localização para outra.
Sintaxe
cp [opções] origem destino
| Opção | Descrição |
|---|---|
| -a | Preserva atributos e copia recursivamente (equivale a -dpr) |
| -d | Preserva links simbólicos |
| -f | Força sobrescrita sem perguntar |
| -i | Pede confirmação antes de sobrescrever |
| -p | Preserva permissões e timestamps |
| -l | Cria links rígidos em vez de copiar |
| -r | Copia diretórios recursivamente |
Exemplos Práticos
Copiar arquivo com novo nome:
usuario@maquina:~$ cp /etc/configuracao.conf /home/usuario/backup.conf
usuario@maquina:~$ ls -l /home/usuario/backup.conf
-rw-r--r-- 1 usuario usuario 2048 Jun 22 17:00 /home/usuario/backup.conf
Copiar arquivo para diretório:
usuario@maquina:~$ cp /etc/hosts /home/usuario/
usuario@maquina:~$ ls /home/usuario/
backup.conf hosts projetos
Copiar diretório recursivamente:
usuario@maquina:~$ cp -r /var/logs /home/usuario/
usuario@maquina:~$ ls -l /home/usuario/
total 32
drwxr-xr-x 5 usuario usuario 4096 Jun 22 17:15 logs
-rw-r--r-- 1 usuario usuario 2048 Jun 22 17:00 backup.conf
drwxr-xr-x 2 usuario usuario 4096 Jun 22 16:00 projetos
- mv: Mover e Rneomear Arquivos
O comando mv (move) move arquivos e diretórios ou os renomeia.
Sintaxe
mv [opções] origem destino
| Opção | Descrição |
|---|---|
| -i | Pede confirmação antes de sobrescrever |
| -f | Força sobrescrita sem perguntar |
| -n | Não sobrescreve arquivos existentes |
| -u | Move apenas se origen for mais recente |
| -T | |
| Trata destino como arquivo normal |
Exemplos Práticos
Mover todos os arquivos com extensão específica:
usuario@maquina:~$ mv -f /home/usuario/imagens/*.jpg /home/usuario/fotos/
Renomear arquivo:
usuario@maquina:~$ mv /home/usuario/antigo.txt /home/usuario/novo.txt
usuario@maquina:~$ ls /home/usuario/
novo.txt projetos fotos
Renomear diretório:
usuario@maquina:~$ mv /home/usuario/projetos /home/usuario/codigos
usuario@maquina:~$ ls /home/usuario/
codigos fotos novo.txt
- rm: Remover Arquivos e Diretórios
O comando rm remove arquivos e diretórios do sistema de arquivos.
Sintaxe
rm [opções] arquivo/diretório
| Opção | Descrição |
|---|---|
| -f | Força remoção sem confirmação |
| -r | Remove diretórios e conteúdo recursivamente |
| -i | Pede confirmação antes de remover |
Exemplos Práticos
Remover arquivo com confirmação:
usuario@maquina:~$ rm arquivo_temporario.txt
rm: remover arquivo regular vazio 'arquivo_temporario.txt'? s
usuario@maquina:~$ ls
codigos fotos novo.txt
Remover diretório e conteúdo:
usuario@maquina:~$ mkdir /home/usuario/teste
usuario@maquina:~$ touch /home/usuario/teste/folha1 /home/usuario/teste/folha2
usuario@maquina:~$ ls -R /home/usuario/teste
/home/usuario/teste:
folha1 folha2
usuario@maquina:~$ rm -rf /home/usuario/teste
usuario@maquina:~$ ls /home/usuario/
codigos fotos novo.txt
- wc: Contar Linhas, Palavras e Caracteres
O comando wc (word count) conta o número de linhas, palavras, bytes e caracteres em arquivos.
Sintaxe
wc [opções] arquivo
| Opção | Descrição |
|---|---|
| -l | Conta número de linhas |
| -w | Conta número de palavras |
| -c | Conta número de bytes |
| -m | Conta número de caracteres |
| -L | Mostra comprimento da linha mais longa |
Exemplos Práticos
Contar linhas, palavras e bytes de um arquivo:
usuario@maquina:~$ wc -lwc /home/usuario/relatorio.txt
45 320 2048 /home/usuario/relatorio.txt
Contar apenas linhas:
usuario@maquina:~$ ls /home/usuario/ | wc -l
12
- du: Verificar Uso de Disco
O comando du (disk usage) mostra o espaço em disco utilizado por arquivos e diretórios.
Sintaxe
du [opções] arquivo/diretório
| Opção | Descrição |
|---|---|
| -h | Exibe tamanhos em formato legível (K, M, G) |
| -a | Mostra informações de arquivos e diretórios |
| -s | Exibe apenas o total |
| -c | Mostra total geral |
| -l | Conta links rígidos múltiplas vezes |
| -x | Ignora diretórios de outros sistemas de arquivos |
| -S | Exclui subdiretórios |
| -L | |
| Segue links simbólicos |
Exemplos Práticos
Ver tamanho de diretório e subdiretórios:
usuario@maquina:~$ du -h /home/usuario
12K /home/usuario/documentos
45M /home/usuario/downloads
2.3G /home/usuario/vídeos
Ver uso total de um diretório:
usuario@maquina:~$ du -sh /home/usuario
2.4G /home/usuario
Ver todos os arquivos e diretórios com detalhes:
usuario@maquina:~$ du -ah /home/usuario
4.0K /home/usuario/.bashrc
4.0K /home/usuario/.profile
12K /home/usuario/documentos/relatorio.pdf
45M /home/usuario/downloads/pacote.zip