Sistemas de Arquivos: Gerenciadores e Operações Básicas de Manipulação de Arquivos
Créditos para a imagem: Imagem criada pelo autor usando o programa Spectacle.
Gerenciamento de Arquivos por Interface Gráfica de Usuário
É interessante que toda usuário e todo usuário de computador saiba operar minimamente com sistemas de gerenciamento de arquivos (não sabe o que é um? Confira uma introdução). Na prática, gerenciamento básico de arquivos parece uma habilidade perdida durante a evolução dos sistemas digitais. Convém resgatar, no mínimo, competências essenciais para:
- Criar pastas (diretórios);
- Criar arquivos vazios ("em branco");
- Renomear pastas e arquivos;
- Mover pastas e arquivos;
- Excluir (apagar ou deletar) pastas e arquivos (tanto mover para a lixeira, quando esvaziá-la ou apagar o arquivo permanentemente).
Embora os conceitos apliquem-se também a dispositivos móveis, atividades de programação e desenvolvimento de software costumam ser mais efetivas em computadores de mesa ou laptops. Logo, as próximas seções adotarão terminologia para tais máquinas. A leitora ou leitor que preferir dispositivos móveis deve trocar os termos:
- Botão esquerdo por toque seguido de retirada dos dedos da tela;
- Botão direito ou menu de contexto por manter a tela apertada sem soltar por alguns segundos.
Importante
Quando se aprende a usar a linha de comando e gerenciadores de arquivos, é prudente realizar os comandos em uma pasta criada para o propósito, com conteúdo especificamente para o aprendizado. Algumas operações (como apagar arquivos) nem sempre são reversíveis, dependendo do interpretador, programa e/ou sistema operacional.
Portanto, deve-se tomar cuidados para não perder dados. O autor não se responsabiliza por dados perdidos das ações da leitora ou do leitor sobre seus arquivos. Sempre tenha cópias de segurança (back-ups) de arquivos importantes e nunca utilize arquivos que não se deseja perder.
Conceitos e Operações
Em ambientes gráficos, muitas atividades podem ser feitas usando mouse (chamado de rato, em Português de Portugal). O nome é uma metáfora que remete ao formato do dispositivo e de seu fio. Metáforas são comuns para o design de interfaces de usuário. Ao longo desta seção, pode ser interessante observar outras metáforas para uso do sistema de arquivos -- aliás, arquivos e pastas também são metáforas.
Em mice com dois botões, a configuração padrão assume um layout para pessoas destras. É possível inverter os botões (configurando o mouse para pessoas canhotas), mas não para ser algo muito comum. Pessoas canhotas comumente aprendem a operar o mouse com a mão direita. Assim, adotando-se o layout destro:
O propósito principal do botão esquerdo do mouse (daqui em diante, botão esquerdo) é a escolha de opção ou ação para se realizar. Muitas vezes, a realização de uma ação depende de um definido por uma seleção, que designa o elemento de interface que receberá a ação (será o foco dela). Existem dois modos principais de designação de uma operação: seleção por clique ou seleção por (flutuação de) foco (isto é, deixar o cursor -- a seta -- do mouse sobre um elemento).
Em seleção por clique, o primeiro clique define o foco sobre um elemento de interface (por exemplo, um ícone gráfico). O segundo clique (ou um rápido clique duplo, para selecionar e executar de uma única vez) realiza a ação primária associada (por exemplo, abrir um arquivo com o programa associado ou listar o conteúdo de uma pasta). Seleção por clique é usual em ambientes e programas para Windows. Ela também é comum para se alterar dispositivos de entrada. Por exemplo, o primeiro clique sobre uma caixa de texto define o foco sobre ela, permitindo a escrita de texto (usando, por exemplo, um teclado) dentro da caixa.
Em seleção por foco, seleciona-se um elemento de interface ao se mover o cursor (a seta) sobre o elemento desejado (e deixá-lo sobre ele). Com o foco, basta um único clique para a realização da ação primária. Seleção por foco é usual em sistemas Web. Por exemplo, para acessar um hyperlink, primeiro move-se o cursor até o link desejado; em seguida, clica-se sobre ele uma única vez.
O botão direito do mouse (doravante, botão direito) fornece um menu de contexto (uma lista de opções e ações) com ações secundárias relacionadas para manipulação (uso) de um elemento de interface. Para se escolher uma dentre as opções disponíveis, utiliza-se o botão esquerdo. Ou seja, o botão direito é usado apenas para abrir o menu.
O menu de contexto, como o nome sugere, depende do contexto da ação. Por exemplo, se a ação primária é abrir, ações secundárias quando se clica em arquivo podem incluir:
- Abrir com: escolher um programa para manipular o arquivo (ler, escrever, modificar);
- Copiar: adicionar o arquivo à área de transferência para que se possa colá-lo em outro destino, ou seja, realizando-se uma cópia;
- Cortar: atalho para copiar o arquivo e removê-lo após colá-lo em outro diretório (em outras palavras, apenas a cópia continua a existir);
- Duplicar: atalho para copiar e colar no mesmo diretório (com um novo nome);
- Renomear: alterar o nome do arquivo;
- Mover: alterar o diretório que armazena o arquivo;
- Excluir, apagar, mover para lixeira: remover o arquivo do diretório. Quando se move um arquivo para a lixeira, ele continua armazenado no computador. Para removê-lo permanentemente, deve-se esvaziar a lixeira.
- Excluir permanentemente: remover o arquivo em definitivo, sem enviá-lo para a lixeira. É o mesmo que mover o arquivo para a lixeira e, em seguida, esvaziá-la;
- Exibir propriedades: exibir metadados do arquivo.
Quando se clica sobre um espaço vazio, as ações podem ser diferentes. Elas podem incluir:
- Criar nova pasta: criar um subdiretório filho do atual;
- Criar arquivo: criar um arquivo vazio, opcionalmente seguindo um modelo;
- Ordenar: escolher um critério para definir a ordem de apresentação do conteúdo do diretório;
- Modo de visualização: escolher uma forma de mostrar graficamente o conteúdo do diretório (por exemplo, listas textuais, ícones ou miniaturas).
As ações destacadas anteriormente são usuais em atividades de programação. Logo, é importante familiarizar-se com elas.
Teclas de Atalhos Comuns em Gerenciadores de Arquivo
Em particular, também é interessante conhecer atalhos para as principais funcionalidades. Em geral, aplicações modernas costumam seguir diretivas conhecidas como Common User Access (CUA; Acesso Comum de Usuário). Um benefício de CUA é a padronização de ações e atalhos em diferentes programas.
Por exemplo, as seguintes teclas do teclado costumam permitir as respectivas operações rapidamente:
- Setas para cima (
↑
), baixo (↓
), esquerda (←
) e direita (→
): move o cursor uma posição para a direção e sentido escolhido; Tab
ouTabulação
,⇥
ou⇄
: move o foco para o próximo elemento disponível;Enter
,Return
,Entra
,⏎
ou⎆
: realiza a ação primária ou confirma a ação;Esc
ouEscape
: cancela a ação;Del
ouDelete
: apagar um arquivo ou pasta;Home
ouInício
: move o cursor para o primeiro arquivo ou pasta da lista;End
ouFim
: move o cursor para o último elemento da lista;PgUp
ouPage Up
ouCima
: move o cursor uma página para cima;PgDn
ouPage Down
ouBaixo
: move o cursor uma página para baixo;Backspace
ou⃪
(seta mais longa que a para a esquerda): retorna para o último diretório visitado;F1
: exibir ajuda;F2
: renomear arquivo ou pasta;F5
: atualiza o conteúdo do diretório, isto é, recarrega o conteúdo para mostrar os arquivos e pastas existentes após modificações (como criação e remoção de arquivos);F11
: maximizar a janela ativa (exibir em todo o monitor);Super
,❖
,⌥
ou tecla com o logotipo do Windows: abre o menu principal do sistema operacional;Cmd
,Command
ou⌘
: tecla usada para comandos em sistemas operacionais Mac. Por vezes, é equivalente à teclaCtrl
, descrita a seguir.
Também existem teclas modificadores. Para usar uma tecla modificadora, deve-se segurá-la e apertar o restante da combinação. Algumas das mais comuns incluem:
Ctrl
ou⎈
: operações sobre conjuntos de arquivos. Deve-se segurar a teclaCtrl
enquanto se pressiona a ação correspondente:Ctrl c
: copia o(s) elemento(s) selecionado(s);Ctrl p
: cola o(s) elemento(s) selecionado(s);Ctrl x
: corta o(s) elemento(s) selecionado(s);Ctrl z
: desfaz a última ação (quando possível);Ctrl f
: abre função de busca;Ctrl n
: abre uma nova janela;Ctrl w
: fecha a janela atual;Ctrl t
: abre nova aba (funcionalidade não disponível em todos os gerenciadores de arquivo);Ctrl w
: fecha a aba ativa na janela atual (quando possível abrir abas);Ctrl a
: seleção de todos os arquivos e subdiretórios do diretório atual. Em sistemas em Português, o atalho, por vezes, éCtrl t
ao invés deCtrl a
;Ctrl Botão Esquerdo
: seleção de múltiplos arquivos. Deve-se manterCtrl
pressionado do início ao fim. Caso se clique em um arquivo ou diretório sem realce, adiciona-se o arquivo à lista de selecionados. Caso se clique em um elemento com realce, remove-se o arquivo da lista;Ctrl Enter
: realiza a ação primária em todos os arquivos selecionados. Quando existe uma seleção, pode-se usar apenasEnter
;Ctrl Botão Direito
: abre o menu de contexto e realiza a ação escolhida em todas as seleções.
Shift
ou⇑
: ações alternativas (muitas vezes o inverso ou reverso da primária):Shift Tab
: move o foco para o elemento anterior;Shift Del
: remove um arquivo permanentemente, sem enviá-lo para a lixeira;Shift Botão Esquerdo
: seleciona todos os elementos compreendidos entre o último selecionado e a nova seleção.
Alt
ou⇬
: ações alternativas:Alt d
: seleciona a barra de endereços do gerenciador de arquivos;Alt F4
: fecha a janela ativa;Alt Seta para a Esquerda
: volta para o diretório anterior;Alt Seta para a Direita
: avança para o próximo diretório (do histórico);Alt Seta para Cima
: retorna para o diretório pai.
Super
,❖
,⌥
ou tecla com o logotipo do Windows:Super
: abre o menu principal do sistema operacional;Super e
: abre o gerenciador de arquivos;Super d
ou❖ m
: mostra a área de trabalho ou minimiza todas as janelas abertas;Super Seta para a Esquerda
: fixar a janela na parte esquerda da tela;Super Seta para a Direita
: fixar a janela na parte de cima da tela;Super Seta para Cima
: maximizar a janela;Super Seta para Baixo
: minimizar a janela;Super Shift Seta para a Esquerda
: mover janela para monitor à esquerda (caso existam múltiplos);Super Shift Seta para a Direita
: mover janela para monitor à direita (caso existam múltiplos).
Evidentemente, não é necessário memorizar todas as combinações, mas é útil incorporá-las ao uso cotidiano. Em particular, algumas teclas de atalho são idênticas em programas diferentes -- ou seja, algumas combinações podem desempenhar as mesmas ações em múltiplos programas.
Windows: File Explorer (Antigo Windows Explorer) é o Gerenciador de Arquivos Padrão
No Windows, o gerenciador de arquivos padrão chama-se File Explorer (no Windows
10) ou Windows Explorer (em versões anteriores). Talvez a forma mais rápida de
iniciá-lo seja pela tecla de atalho usando o logotipo do Windows (Super
): ❖
e
. Também é possível digitar explorer
no menu Iniciar ou executar o programa
apertando Super r
, seguido do explorer
e Enter
. O File Explorer possui as
funcionalidades essenciais para gerenciamento de arquivos; nada mais.
Para atividades de programação e desenvolvimento de software, é útil habilitar a
opção de mostrar extensões do arquivo e exibir arquivos ocultos. Para isso,
clique em View
(algo como "Visualizar") e, em seguida, marque as caixas
File name extensions
(algo como "extensões de arquivos") e Hidden items
("itens ocultos").
Para exemplificar operações com arquivos usando o File Explorer, pode-se observar a seqüencia de ações a seguir.
Começando-se um diretório qualquer. Neste exemplo, o endereço absoluto inicial é
C:\Users\Franco\Desktop\tmp
, ou seja, uma pasta chamadatmp
criada na área de trabalho (o fundo de tela exibido após login ou acesso a uma conta do computador). Pode-se encontrar o caminho absoluto do arquivo no título da janela. A barra de endereços do Windows Explorer mostra o endereço atual (por vezes, um caminho relativo).Pressiona-se o botão direito do mouse em um espaço vazio para se abrir o menu de contexto. A opção escolhida com o botão esquerdo é criar uma nova pasta.
Escolhe-se um nome para a nova pasta (
nome-pasta
) e confirma-se a criação apertando-seEnter
. A pasta, então, aparece no diretório da ação. Ela tem caminhoC:\Users\Franco\Desktop\tmp\nome-pasta
.Em seguida, abre-se novamente o menu de contexto, pressionando-se o botão direito do mouse. Desta vez, opta-se pela criação de um arquivo vazio do tipo texto (extensão
.txt
). O nome permanece inalterado -- aceita-se a opção padrão.O caminho do arquivo resultante é
C:\Users\Franco\Desktop\tmp\New Text Document.txt
. O caminho relativo do arquivo considerando-se o diretóriotmp\
é.\New Text Document.txt
-- ou, simplesmente,New Text Document.txt
.Quando se cria um novo arquivo de texto, é possível, opcionalmente, alterar a extensão do arquivo. Essa possibilidade é particularmente útil para programação, pois você pode definir a extensão usada pela linguagem de programação de sua escolha. Por exemplo, para criar um arquivo JavaScript, bastaria definir o nome como
nome.js
(ao invés denome.txt
).nome
seria o nome para o arquivo de sua escolha. Para Python, o arquivo poderia chamarmeu-arquivo.py
. Para Lua,outro_arquivo.lua
, e assim por diante. Caso não seja possível modificar a extensão no Windows, certifique-se de que a opção de exibir extensões está habilitada na abaView
(Visualizar
) do File Explorer.Além disso, se for necessário alterar uma extensão de um arquivo existente, pode-se renomear o arquivo e modificar a extensão. O conteúdo do arquivo não será afetado; apenas o nome do arquivo será alterado.
Clicando-se sobre a pasta com o botão direito para exibir o menu de contexto, obtém-se uma lista de operações permitidas para diretórios.
Clica-se com o botão direito no arquivo, pode-se observar que a lista de ações é ligeiramente diferente. Neste caso, ilustra-se a operação de renomear arquivos, selecionada com o botão esquerdo do mouse).
Escolhe-se um novo nome (
meu-arquivo.txt
) para o arquivo e pressiona-seEnter
para confirmar a alteração.Agora, o caminho do arquivo resultante é
C:\Users\Franco\Desktop\tmp\meu-arquivo.txt
. O caminho relativo do arquivo considerando-se o diretóriotmp\
é.\meu-arquivo.txt
(equivalente ameu-arquivo.txt
).Desta vez, abre-se o menu de contexto (com o botão direito do mouse) e escolhe-se a opção de apagar o arquivo (botão esquerdo), movendo-o para a lixeira.
Na lixeira, clicou-se com o botão direito do mouse para abrir o menu de contexto e escolheu-se a opção de restaurar o arquivo. O arquivo retorna ao diretório original, como se nunca fora apagado.
Desta vez, pressiona-se o botão esquerdo sobre ele. Ao invés de soltá-lo, mantém-se o botão pressionado de forma a arrastá-lo.
Ainda segurando o botão esquerdo, move-se o mouse até a pasta. Sobre a pasta, solta-se o botão.
Como resultado, o arquivo é inserido dentro da pasta. Agora, ele é armazenado dentro do subdiretório
nome-pasta
, com caminhoC:\Users\Franco\Desktop\tmp\nome-pasta\meu-arquivo.txt
. Agora, o caminho relativo à pastatmp\
é.\nome-pasta\meu-arquivo.txt
(o mesmo quenome-pasta\meu-arquivo.txt
).Caso se apague uma pasta, todos os arquivos e subdiretórios são apagados recursivamente. Conseqüentemente, o estado final torna-se o mesmo do inicial: a pasta
nome-pasta
volta a estar vazia.
Operações com arquivos são semelhantes independentemente do gerenciador utilizado. Evidentemente, programas com mais recursos facilitam a realização de tarefas mais complexas que aqueles com menos. O próximo exemplo realiza praticamente os mesmos passos em um sistema Linux, para ilustrar as similaridades.
Linux: Consulte Sua Distribuição (ou Instale Seu Preferido)
Distribuições Linux possuem uma variedade de gerenciadores de arquivos de alta qualidade. Duas opções tradicionais são as fornecidas pelos ambientes Gnome e KDE: o Dolphin e o Files (antigo Nautilus). Além KDE e Gnome, existem ambientes como XFCE, Fluxbox e Unity. Pessoalmente, quando posso escolher, prefiro KDE como ambiente em sistemas Linux. O KDE é um sistema repleto de funcionalidades interessantes para os programas instalados por padrão. Programas do KDE são como canivetes suíços, repletos de funcionalidades.
Além do Dolphin, o KDE fornece Krusader e o Konqueror como alternativas. O Krusader usa um estilo com dois painéis (conhecido como commander). O Konqueror é um programa multi-funções, que também serve, dentre outros, como navegador de Internet e visualizador de arquivos. O Dolphin é o gerenciador instalado por padrão, considerado como básico (embora dificilmente enquadra-se como tal).
Para exemplificar operações com arquivos usando Dolphin, pode-se observar a seqüencia de ações a seguir. Os nomes de arquivos e pastas poderiam ser idênticos ou totalmente diferentes. Em particular, a maior diferença em relação ao Windows será o uso de barras ao invés de contra-barras para mostrar caminhos de arquivos.
Começando-se um diretório qualquer. Neste exemplo, o endereço inicial é
Home > tmp > arquivos
, que possui caminho~/tmp/arquivos/
. O caractere~
(til) significa o diretório pessoal do usuário (Home) em sistemas Linux. No caso, o endereço absoluto seria/home/franco/tmp/arquivos/
. Pode-se encontrar o caminho absoluto do arquivo na parte superior da interface do Dolphin -- para exibir o caminho em texto, basta clicar após a última letra do caminho mostrado (no caso,Home > tmp > arquivos
, bastaria clicar após os
dearquivos
).Pressiona-se o botão direito do mouse em um espaço vazio para se abrir o menu de contexto. A opção escolhida com o botão esquerdo é criar uma nova pasta.
Escolhe-se um nome para a nova pasta (
nome-da-pasta
) e confirma-se a criação apertando-seEnter
. A pasta, então, aparece no diretório da ação. Ela tem caminho~/tmp/arquivos/nome-da-pasta
.Em seguida, abre-se novamente o menu de contexto, pressionando-se o botão direito do mouse. Desta vez, opta-se pela criação de um arquivo vazio do tipo texto (extensão
.txt
). O nome permanece inalterado -- aceita-se a opção padrão.O caminho do arquivo resultante é
~/tmp/arquivos/Text File.txt
. O caminho relativo do arquivo considerando-se o diretórioarquivos/
é./Text File.txt
-- ou, simplesmente,Text File.txt
.Assim como no Windows, pode-se escolher uma extensão para o arquivo durante sua criação. Usando os mesmos exemplos, pode-se criar um arquivo como
nome.js
(ao invés denome.txt
) para JavaScript,meu-arquivo.py
para Python,outro_arquivo.lua
para Lua, e assim por diante. Também é possível renomear arquivos existentes para trocar a extensão.Clicando-se sobre a pasta com o botão direito para exibir o menu de contexto, obtém-se uma lista de operações permitidas para diretórios.
Clica-se com o botão direito no arquivo, pode-se observar que a lista de ações é ligeiramente diferente. Neste caso, ilustra-se a operação de renomear arquivos, selecionada com o botão esquerdo do mouse).
Escolhe-se um novo nome (
meu-arquivo.txt
) para o arquivo e pressiona-seEnter
para confirmar a alteração.Agora, o caminho do arquivo resultante é
~/tmp/arquivos/meu-arquivo.txt
. O caminho relativo do arquivo considerando-se o diretórioarquivos/
é./meu-arquivo.txt
(equivalente ameu-arquivo.txt
).Desta vez, abre-se o menu de contexto (com o botão direito do mouse) e escolhe-se a opção de apagar o arquivo (botão esquerdo), movendo-o para a lixeira.
O programa solicita a confirmação da ação. No caso, a ação é cancelada (escolha com o botão esquerdo).
Ao invés de apagar o arquivo, pressiona-se o botão esquerdo sobre ele. Ao invés de soltá-lo, mantém-se o botão pressionado de forma a arrastá-lo.
Ainda segundo o botão esquerdo, move-se o mouse até a pasta. Sobre a pasta, solta-se o botão.
Como resultado, o arquivo é inserido dentro da pasta. Agora, ele é armazenado dentro do subdiretório
nome-da-pasta
, com caminho~/tmp/arquivos/nome-da-pasta/meu-arquivo.txt
. Agora, o caminho relativo à pastaarquivos/
é./nome-da-pasta/meu-arquivo.txt
(o mesmo quenome-da-pasta/meu-arquivo.txt
).Caso se apague uma pasta, todos os arquivos e subdiretórios são apagados recursivamente. Conseqüentemente, o estado final torna-se o mesmo do inicial: a pasta
arquivos
volta a estar vazia.
Gerenciamento de Arquivos por Linha de Comando (Console ou Terminal)
Hora de voltar no tempo.
Interpretadores de linha de comando (também chamados de terminais, consoles ou
shells) como cmd
no Windows e bash
, zsh
e fish
no Linux parecem coisa
do passado. Dizer que interpretadores são ferramentas importantes em
desenvolvimento de software moderno parece anacronismo.
Embora interfaces gráficas de usuário possam ser acessíveis e usáveis para muitas pessoas (pessoas videntes; acessibilidade depende de contexto), elas tendem a não ser muito programáveis. No desenvolvimento de software, é comum automatizar tarefas repetitivas. Afinal, nunca faça o que um computador pode fazer por você.
Interpretadores de comando permitem programação por meio de scripts, que são seqüências de comandos armazenados em um arquivo de texto. Mesmo um conhecimento mínimo pode economizar horas ou dias de trabalho ao longo do tempo. A razão é que, caso se saiba usar a linha de comando, criar scripts é simples: basta escrevê-los em um arquivo texto e instruir o interpretador a executar o arquivo criado.
Além disso, interpretadores operam usando texto -- algo que pode torná-los interessantes para pessoas com deficiência visual, pela potencial compatibilidade com tecnologias assistivas. Infelizmente, não há garantias, pois existem fatores que podem comprometer o uso do leitor de telas ou de sintetizadores de voz, como a formatação usada para saída dos programas.
Linux (e/ou Bash)
Caso se opte por aprender apenas um interpretador de comandos, minha
recomendação é escolher o (Bourne Again Shell (bash
).
bash
é onipresente em sistemas Linux e, atualmente, pode ser usado no Windows usando
o Subsistema Windows para Linux no Windows
ou ambientes como Cygwin.
Pode-se começar aprendendo comandos do antigo sistema operacional Unix, comandos pelo GNU is Not Unix (GNU) Coreutils e GNU Binutils, que são de grande utilidade.
Existem várias formas de iniciar uma sessão de terminal em Linux. A forma mais
rápida costuma usar os atalhos (termine de ler antes de tentar) Ctrl Alt F1
,
ou `Ctrl Alt F2
, e assim por diante, até Ctrl Alt F12
. A sessão gráfica
costuma ser Ctrl Alt F1
ou Ctrl Alt F7
. Contudo, a forma mais simples costuma utilizar um emulador de
terminal pré-instalado no ambiente (por exemplo, Konsole
no KDE).
O comando ls
(list) permite listar arquivos. A navegação entre diretórios
pode ser feita usando-se o comando cd
(change directory).
Para executar um comando, digita-se o nome (por exemplo, ls
), opcionalmente
seguido de parâmetros (por exemplo, -la
) e aperta-se enter
. Após alguns
segundos, os resultados aparecerão na tela do interpretador.
# Listagem de arquivos da raiz.
# Seria o equivalente a abrir um gerenciador de arquivos no diretório `/`.
ls -la /total 72
drwxr-xr-x 18 root root 4096 jun 4 22:22 .
drwxr-xr-x 18 root root 4096 jun 4 22:22 ..
lrwxrwxrwx 1 root root 7 mai 30 21:39 bin -> usr/bin
drwxr-xr-x 4 root root 4096 set 13 19:46 boot
drwxr-xr-x 21 root root 4160 set 28 06:13 dev
drwxr-xr-x 98 root root 12288 set 13 19:54 etc
drwxr-xr-x 5 root root 4096 fev 1 2020 home
lrwxrwxrwx 1 root root 7 mai 30 21:39 lib -> usr/lib
lrwxrwxrwx 1 root root 7 mai 30 21:39 lib64 -> usr/lib
drwx------ 2 root root 16384 set 24 2016 lost+found
drwxr-xr-x 2 root root 4096 jan 3 2018 media
drwxr-xr-x 3 root root 4096 set 26 2016 mnt
drwxr-xr-x 7 root root 4096 jun 15 12:31 opt
dr-xr-xr-x 332 root root 0 set 28 06:13 proc
drwxr-x--- 6 root root 4096 set 23 21:06 root
drwxr-xr-x 25 root root 580 set 28 06:13 run
lrwxrwxrwx 1 root root 7 mai 30 21:39 sbin -> usr/bin
drwxr-xr-x 5 root root 4096 dez 21 2017 srv
dr-xr-xr-x 13 root root 0 set 28 06:13 sys
drwxrwxrwt 14 root root 360 set 28 07:25 tmp
drwxr-xr-x 10 root root 4096 set 13 19:52 usr
drwxr-xr-x 12 root root 4096 set 13 19:54 var
O comando anterior é ls -la /
. O restante do texto é o resultado (saída)
fornecido pelo programa. Para comparar a saída com um ambiente gráfico, a
listagem é a mesma mostrada na primeira imagem deste tópico, logo após o título.
Por conveniência, reproduz-se a imagem novamente abaixo.
Em bash
, linhas iniciadas por um jogo da velha (cerquilha ou #
) são consideradas
comentários. Comentários são mensagens informar pessoas sobre o funcionamento de
um script (ou para escrever qualquer mensagem para seres humanos); elas são
ignoradas pelo interpretador.
Novamente, para executar um comando, digita-se seu nome (por exemplo, cd
),
seguido, caso necessário, de parâmetros (por exemplo, /usr/
). Em seguida,
pressiona-se ENTER
. O interpretador avalia e executa o comando, escrevendo o
resultado no terminal, e aguardando o próximo comando.
# Alteração de diretório atual
cd /usr/# Nova listagem, agora sem parâmetros
# `ls` por si só escreve os diretórios e arquivos presentes no diretório atual
lsaarch64-linux-gnu bin include lib lib32 lib64 local sbin share src
Para repetir as operações feitas usando interfaces gráficas, pode-se usar os seguintes comandos:
mkdir
: para criar diretórios;touch
: para criar arquivos vazios;mv
: para renomear e mover arquivos e diretórios;rm
: para apagar e remover arquivos e diretórios.
# Mudança de diretório para a pasta pessoal da(o) usuária(o) atual
# ~ é equivalente /home/nome_usuario_atual
cd ~/tmp/arquivos/
# Criação da pasta
mkdir nome-da-pasta
# Criação do arquivo texto vazio
# Nomes com espaços precisam estar entre aspas
# (caso contrário, é necessário usar caracteres de escape)
touch "Text File.txt"
# Renomeação do arquivo texto
mv "Text File.txt" meu-arquivo.txt
# Remoção de arquivo: comentada para continuar o processo
# Atenção: rm não pede por confirmação para exclusão permanente do arquivo
# rm meu-arquivo.txt
# Mover o arquivo para dentro da pasta criada
mv meu-arquivo.txt nome-da-pasta/
# Remover a pasta e todos os conteúdos armazenados
rm -r nome-da-pasta/
Com a remoção dos comentários, a seqüência de comandos anterior é equivalente a:
cd ~/tmp/arquivos/
mkdir nome-da-pasta
touch "Text File.txt"
mv "Text File.txt" meu-arquivo.txt
mv meu-arquivo.txt nome-da-pasta/
rm -r nome-da-pasta/
Os seis comandos anteriores realizam todas as operações feitas no Dolphin. Eles possuem uma vantagem adicional: para repetir todas as ações, basta repetir os comandos. Caso se queira automatizar o processo, portanto, basta salvar os comandos em um arquivo de texto para definir o script e executá-lo quando se desejar.
Para scripts mais avançados, existem casos em que pode ser interessante
armazenar a seqüencia de diretórios percorrida. Para isso, pode-se pushd
e
popd
ao invés de cd
.
Caso se tenha dúvidas sobre algum comando, pode-se consultar os manuais e ajuda.
Para isso, existem comandos como man
(manual), info
(informações) e, muitas
vezes, um parâmetro -h
ou --help
para se passar para programas.
man ls
info ls
ls --help
Windows
cmd
, o terminal padrão do Windows, é rudimentar e limitado em comparação com
bash
, zsh
e outros. Existe uma nova versão moderna, mas
não cheguei a utilizá-la quando da escrita deste tópico.
Também existe o PowerShell
, usei duas ou três vezes.
De qualquer forma, operar com o tradicional cmd
não é muito diferente de
operar com bash
. Os nomes dos comandos são diferentes, mas os propósitos são
os mesmos.
Para iniciar uma sessão do cmd
, pode-se digitar cmd
no menu Iniciar ou usar
o comando (com Super
): ❖ r
; em seguida, digite cmd
e enter
. Também é
possível usar um atalho esotérico: Shift Botão Direito
acrescenta uma opção
chamada de Open Command Window Here
(algo como "Abrir Janela de Comando
Aqui") no menu de contexto, que permite iniciar uma sessão do cmd
no diretório atual do File
Explorer (no Windows 10, a opção foi substituída pelo PowerShell
, mas é
possível restaurar para cmd
-- ou, simplesmente, digitar cmd
ENTER
na
janela do PowerShell).
Em sistemas operacionais Windows, o comando equivalente para listagem de
arquivos chama-se dir
. O comando para navegação também é chamado cd
.
Comentários utilizam a palavra REM
.
Assim como em terminais para Linux, para se executar um comando, escreve-se o
nome do comando (por exemplo, cd
), opcionalmente seguido de parâmetros (por
exemplo, C:\Users\Meu Nome\Desktop
), e aperta-se enter
. O resultado
aparecerá após alguns segundos.
REM Caso seja um script, pode-se remover o comentário da linha abaixo.
REM @echo off
REM Acesso para o diretório inicial
cd C:\Users\Franco\Desktop\tmp
REM Criação da pasta
mkdir nome-da-pasta
REM Criação do arquivo texto vazio.
REM Nomes com espaços precisam estar entre aspas
REM (caso contrário, é necessário usar caracteres de escape).
copy nul "Text File.txt"
REM Renomeação do arquivo texto
rename "Text File.txt" meu-arquivo.txt
REM Remoção de arquivo: comentada para continuar o processo.
REM Atenção: del não pede por confirmação para exclusão do arquivo.
REM del meu-arquivo.txt
# Mover o arquivo para dentro da pasta criada
move meu-arquivo.txt nome-da-pasta\
REM rmdir solicita confirmação para remoção do diretório.
REM Para desabilitar a confirmação, pode-se passar o parâmetro /Q.
rmdir /S -r nome-da-pasta\
Caso se tenha dúvida sobre algum comando, pode-se acionar a ajuda por meio de
help nome-do-comando
.
help rmdir
Além dos nomes de comandos e palavra para comentários, uma diferença no script
é o uso de echo
no início. Por padrão, o interpretador cmd
repete todos os
comandos digitados em um script. @echo off
desliga a funcionalidade,
reduzindo o ruído (texto desnecessário, no caso) na saída do terminal.
Outra diferença é a direção das barras em caminhos para arquivos e
diretórios. Como mencionado anteriormente, sistemas baseados em Unix usam
barras; Windows utiliza contra-barras. Em versões mais recentes do Windows,
muitos comandos apresentam resultados corretos usando barras no cmd
, mas não
há garantias para todos. Também existem algumas formas de usar barras
comuns no cmd
, como não iniciar o caminho com uma barra. De qualquer forma,
caso os resultados estejam incorretos (ou vazios, quando não deveriam ser)
no Windows, convém conferir a direção barras.