Avançar para o conteúdo
Imagem com logotipo, contendo link para a página inicial
  • United Stated of America flag, representing the option for the English language.
  • Bandeira do Brasil, simbolizando a opção pelo idioma Português do Brasil.

Sistemas de Arquivos: Gerenciadores e Operações Básicas de Manipulação de Arquivos

Dolphin, o gerenciador de arquivos padrão do KDE 5, exibindo o diretório raiz de um sistema de arquivos. A parte inferior da imagem apresenta a listagem de arquivos de diretório usando o comando `ls` na linha de comando.

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:

  1. Criar pastas (diretórios);
  2. Criar arquivos vazios ("em branco");
  3. Renomear pastas e arquivos;
  4. Mover pastas e arquivos;
  5. 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 ou Tabulaçã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 ou Escape: cancela a ação;
  • Del ou Delete: apagar um arquivo ou pasta;
  • Home ou Início: move o cursor para o primeiro arquivo ou pasta da lista;
  • End ou Fim: move o cursor para o último elemento da lista;
  • PgUp ou Page Up ou Cima: move o cursor uma página para cima;
  • PgDn ou Page Down ou Baixo: 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 à tecla Ctrl, 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 tecla Ctrl 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 de Ctrl a;
    • Ctrl Botão Esquerdo: seleção de múltiplos arquivos. Deve-se manter Ctrl 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 apenas Enter;
    • 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").

Configurações úteis para desenvolvimento de software no File Explorer: acesse a aba View usando navegação via Tab ou pelo atalho Alt V e marque as opções (checkboxes) 'File name extensions' (Alt V H F) e 'Hidden itens' (Alt V H H).

Para exemplificar operações com arquivos usando o File Explorer, pode-se observar a seqüencia de ações a seguir.

  1. Começando-se um diretório qualquer. Neste exemplo, o endereço absoluto inicial é C:\Users\Franco\Desktop\tmp, ou seja, uma pasta chamada tmp 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).

    A imagem ilustra uma pasta vazia exibida no File Explorer.
  2. 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.

    Após apertar-se o botão direito, o menu de contexto aparece. No caso, a opção com foco na imagem é para a criação de uma nova pasta.
  3. Escolhe-se um nome para a nova pasta (nome-pasta) e confirma-se a criação apertando-se Enter. A pasta, então, aparece no diretório da ação. Ela tem caminho C:\Users\Franco\Desktop\tmp\nome-pasta.

    Tela de seleção e confirmação de nome para a pasta apresentada pelo File Explorer.
  4. 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.

    Menu de contexto exibido pelo File Explorer com foco na operação de criar um novo arquivo de texto.

    O caminho do arquivo resultante é C:\Users\Franco\Desktop\tmp\New Text Document.txt. O caminho relativo do arquivo considerando-se o diretório tmp\ é .\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 de nome.txt). nome seria o nome para o arquivo de sua escolha. Para Python, o arquivo poderia chamar meu-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 aba View (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.

  5. 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.

    O menu de contexto exibido pelo File Explorer para pastas. Opções incluem abrir em nova janela, copiar, cortar, renomear, excluir.
  6. 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).

    O menu de contexto exibido pelo File Explorer para arquivos de texto. A opção de abrir em janela lugar a abrir o arquivo usando um editor de texto chamado Bloco de Notas. A opção que será selecionada é de renomear arquivo.
  7. Escolhe-se um novo nome (meu-arquivo.txt) para o arquivo e pressiona-se Enter para confirmar a alteração.

    A interface de renomear arquivos com o novo nome escolhido (meu-arquivo.txt).

    Agora, o caminho do arquivo resultante é C:\Users\Franco\Desktop\tmp\meu-arquivo.txt. O caminho relativo do arquivo considerando-se o diretório tmp\ é .\meu-arquivo.txt (equivalente a meu-arquivo.txt).

  8. 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 menu de contexto do Explorer com a opção escolhida para mover para a lixeira.
  9. 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.

    Duas janelas abertas. A primeira mostra o diretório sem o arquivo, agora na lixeira. A segunda apresenta a lixeira. No menu de contexto com o arquivo na lixeira, a opção de restaurar o item possui o foco.
  10. 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.

    Ilustração da operação de segurar e arrastar no File Explorer. O programa cria uma imagem com o ícone do arquivo sendo levado até o novo destino.
  11. Como resultado, o arquivo é inserido dentro da pasta. Agora, ele é armazenado dentro do subdiretório nome-pasta, com caminho C:\Users\Franco\Desktop\tmp\nome-pasta\meu-arquivo.txt. Agora, o caminho relativo à pasta tmp\ é .\nome-pasta\meu-arquivo.txt (o mesmo que nome-pasta\meu-arquivo.txt).

    Em duas janelas, exibe-se o diretório original `tmp` e o subdiretório `nome-pasta`. O arquivo `meu-arquivo.txt`, agora, aparece apenas no subdiretório, pois foi movido.
  12. 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.

    O gerenciador de arquivos volta a apresentar um diretório `tmp` vazio.

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.

  1. 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 o s de arquivos).

    A imagem ilustra uma pasta vazia exibida no Dolphin.
  2. 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.

    Após apertar-se o botão direito, o menu de contexto aparece. No caso, a opção com foco na imagem é para a criação de uma nova pasta.
  3. Escolhe-se um nome para a nova pasta (nome-da-pasta) e confirma-se a criação apertando-se Enter. A pasta, então, aparece no diretório da ação. Ela tem caminho ~/tmp/arquivos/nome-da-pasta.

    Tela de seleção e confirmação de nome para a pasta apresentada pelo Dolphin.
  4. 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.

    Menu de contexto exibido pelo Dolphin com foco na operação de criar um novo arquivo de texto.

    O caminho do arquivo resultante é ~/tmp/arquivos/Text File.txt. O caminho relativo do arquivo considerando-se o diretório arquivos/ é ./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 de nome.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.

  5. 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.

    O menu de contexto exibido pelo Dolphin para pastas. Opções incluem abrir em nova aba, abrir em nova janela, copiar, cortar, renomear, excluir.
  6. 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).

    O menu de contexto exibido pelo Dolphin para arquivos de texto. As opções de abrir em nova aba ou janela dão lugar a abrir o arquivo usando um editor de texto chamado Kate. A opção que será selecionada é de renomear arquivo.
  7. Escolhe-se um novo nome (meu-arquivo.txt) para o arquivo e pressiona-se Enter para confirmar a alteração.

    A interface de renomear arquivos com o novo nome escolhido (meu-arquivo.txt).

    Agora, o caminho do arquivo resultante é ~/tmp/arquivos/meu-arquivo.txt. O caminho relativo do arquivo considerando-se o diretório arquivos/ é ./meu-arquivo.txt (equivalente a meu-arquivo.txt).

  8. 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 menu de contexto do Dolphin com a opção escolhida para mover para a lixeira.
  9. O programa solicita a confirmação da ação. No caso, a ação é cancelada (escolha com o botão esquerdo).

    A tela de confirmação para exclusão do arquivo apresenta uma mensagem de alerta e duas opções: apagar ou cancelar. Embora o foco esteja em apagar, a escolha feita será de cancelar a operação.
  10. 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.

    Ilustração da operação de segurar e arrastar no Dolphin. O programa cria uma imagem com o ícone do arquivo sendo levado até o novo destino.
  11. 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 à pasta arquivos/ é ./nome-da-pasta/meu-arquivo.txt (o mesmo que nome-da-pasta/meu-arquivo.txt).

    Em uma tela com divisão de painéis, exibe-se o diretório original `arquivos` e o subdiretório `nome-da-pasta`. O arquivo `meu-arquivo.txt`, agora, aparece apenas no subdiretório, pois foi movido.
  12. 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.

    O gerenciador de arquivos volta a apresentar um diretório `arquivos` vazio.

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.

Uma imagem com a listagem de diretórios da raiz de um sistema Linux apresentada em texto pela saída de `ls` no terminal e graficamente no Dolphin.

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.

  • Informática
  • Programação
  • Iniciante
  • Windows
  • Linux
  • KDE