UNIX: Comandos em arquivos

Comandos básicos

Os comandos a seguir implementam operações básicas em arquivos:

Os comandos usados para navegação na árvore de diretórios são similares aos usados em outros sistemas operacionais:

Informações em arquivos

Vários comandos permitem obter maiores informações sobre arquivos e sistemas de arquivos. Eis os principais:

Compressão de arquivos

Tradicionalmente, a compressão de arquivos em UNIX é feita em dois passos:

  1. Aglutinação dos arquivos e diretórios em um único grande arquivo, usando o comando tar.
  2. Compressão do arquivo único, usando comandos como compress, gzip ou bzip2.

O comando tar é bastante antigo, e significa Tape ARchiving (tar também é “piche” em inglês, o que sugere o processo de aglutinação). Ele era muito usado para copiar diretórios em fitas magnéticas. Com as opções adequadas, permite guardar diversos arquivos e diretórios em um único arquivo. Sua sintaxe básica é:

As principais opções do comando tar são:

Após feita a aglutinação, pode-se compactar o arquivo usando-se um dos comando abaixo:

Um procedimento muito usado é o uso combinado dos comandos tar e gzip, através das opções “z” e “Z” do comando tar. Assim, para obter um arquivo comprimido corrente.tar.gz com todo o conteúdo do diretório corrente, basta executar o seguinte comando:

tar czvf corrente.tar.gz . (atenção ao “.”, que indica o diretório corrente)

Os arquivos “.tar.gz” também costumam ser nomeado como “.tgz”, e definem o formato da maior parte dos arquivos UNIX encontrados na Internet. Arquivos nesse formato também podem ser abertos pelas versões recentes do compactador WinZip, do Windows.

Exercícios

  1. Como procurar por uma palavra no manual (man)?
  2. Liste todos os arquivos do seu diretório HOME.
  3. Como você pode saber em qual diretório você está no sistema?
  4. Qual o comando para saber qual a conta que está sendo usada em um SHELL?
  5. Liste o nome do grupo de usuários ao qual sua conta pertence.
  6. Visite alguns diretórios, alternando os comandos pwd e cd. Os diretórios são os seguintes:
      /home/espinf
      o predecessor do diretório /home/espinf
      /
      /usr
      /tmp
      /usr/bin
      seu diretório HOME
  7. Liste o conteúdo dos diretórios acima, ordenados por data, de duas formas:
    1. sem sair do seu diretório HOME
    2. acessando primeiramente o diretório a ser listado
  8. O que faz a opção -a no comando ls? E a opção -l?
  9. Liste usuários do sistema com o mesmo nome que o seu
  10. O que são arquivos/diretórios cujo nome inicia com um caractere . ?
  11. Crie um link simbólico para o diretório infraComp do seu colega ao lado. Use este link para listar o conteúdo do diretório
  12. O que fazem os comandos du e df?
  13. O comando ls permite obter listagens de diretórios sob várias formas. Consulte a página de manual do comando e execute-o de forma a obter listagens da seguinte forma:
    • listagem longa do diretório home, com detalhes. O que significa cada coluna da listagem ?
    • listagem curta do diretório home, incluindo os arquivos escondidos.
    • listagem longa de /var/spool/mail, ordenada por tamanho dos arquivos
    • listagem longa de /etc, ordenada alfabeticamente
    • listagem longa de /home, ordenada por datas crescentes
    • listagem curta de /usr, recursiva e ordenada por tamanho
  14. O comando mkdir permite criar diretórios com subdiretórios. Leia sua página de manual e execute-o para criar a seguinte estrutura de diretórios (dentro de seu diretório home), usando apenas uma operação. Use o comando tree para conferir a estrutura criada:
          a
          `-- b
              |-- c
              |   |-- d
              |   |   `-- h
              |   |
              |   `-- e
              |
              |-- f
              |   `-- d
              |
              `-- j
  15. Crie um arquivo .tar, com o conteúdo do seu diretório HOME. A seguir, compacte-o usando os comando compress, gzip e bzip2, e compare os resultados (tamanho).