Roteiro básico
Abaixo você encontrará a descrição de uma série de tarefas triviais presentes no cotidiano de quem trabalha com sistemas UNIX, organizados por tópicos.
Caso tenha dúvida na utilização de algum comando, consulte seu manual ou a tabela de comandos úteis encontrada neste link.
Introdução
Slides
Os slides que descrevem brevemente os comandos apresentados neste minicurso podem ser vistos abaixo, ou baixados neste link.
Exercícios
Utilize os links abaixo para navegar pelos exercícios.
- Diretórios
- Arquivos
- Arquivos e fluxos
- Compressão de arquivos
- Busca
- Manipulação de fluxos
- Processos
- Permissões
- Executáveis
Diretórios
- Abra o terminal e verifique em qual pasta ele é inicializado.
- Crie um diretório minicursos e um subdiretório unix.
- Use o comando ls para verificar que o diretório e o subdiretório foram criados.
Dica – é possível criar um diretório e seu subdiretório com apenas uma chamada ao comando mkdir. Também é possível listar um diretório recursivamente utilizando o comando ls.
Arquivos
- Com o auxílio de um editor de texto, crie dois arquivos de nome arquivo1.txt e arquivo2, contendo, respectivamente, as frases “Este é o arquivo 1.” e “Este é o arquivo 2.”.
- Mova ambos os arquivos para o diretório minicursos.
- Crie um arquivo vazio vazio.txt no subdiretório unix.
- Copie o arquivo arquivo2 para o subdiretório unix.
- Renomeie o arquivo arquivo2 contido no subdiretório unix para nao-vazio.
Arquivos e fluxos
- Baixe o arquivo exemplo.in.
- Crie um link simbólico chamado exemplo na pasta minicursos para o arquivo baixado no item anterior.
- Visualize o conteúdo de exemplo sem usar um editor de texto.
- Sem usar um editor de texto, copie as 5 primeiras linhas do arquivo apontado por exemplo para um novo arquivo mini-exemplo.txt, que deve ser criado dentro do subdiretório unix.
- Sem usar um editor de texto, adicione as 5 últimas linhas do arquivo apontado por exemplo ao arquivo mini-exemplo.txt.
- Gere um arquivo mini-exemplo2.txt idêntico ao arquivo mini-exemplo.txt sem usar os comandos cp, mv, head, tail ou um editor de texto. Assegure que os arquivos sejam idênticos sem usar um editor de texto.
Compressão de arquivos
- Comprima o arquivo mini-exemplo.txt usando compressão Gzip.
- Compare os tamanhos dos arquivos mini-exemplo.txt.gz e mini-exemplo2.txt.
- Acesse o diretório pai do diretório minicursos.
- Crie um pacote tar sem compressão chamado minicursos.tar, contendo o diretório minicursos.
- Crie um pacote tar com compressão de arquivos Gzip chamado minicursos.tar.gz, contendo o diretório minicursos.
- Crie um pacote tar com compressão de arquivos XZ chamado minicursos.tar.xz, contendo o diretório minicursos.
- Crie um pacote comprimido Zip chamado minicursos.zip, contendo o diretório minicursos.
- Compare o tamanho dos diferentes arquivos de nome-base minicursos.
Dica – para ver o tamanho de um arquivo, use uma das opções do comando ls. Para ver o tamanho de um diretório, consulte o manual do comando du.
Busca
- Busque no arquivo exemplo as palavras “teste” e “testa”, sem usar um editor de texto.
- Acesse sua pasta home (não confunda com o diretório /home).
- Localize o arquivo cujo nome contenha a palavra exemplo.
- Filtre a lista de ocorrências encontradas no item acima para mostrar apenas arquivos cuja extensão seja txt.
- Busque, em todas as ocorrências encontradas no item acima, a palavra “Este”.
Dica – para executar o item 5, utilize o comando xargs.
Manipulação de fluxos
- Usando o arquivo arquivo2 contido no diretório minicursos como base, gere um arquivo de nome recortado.txt no subdiretório unix contendo a frase “Este é o 2.”.
- Usando o arquivo arquivo2 contido no diretório minicursos como base, gere um arquivo de nome esfacelado.txt no subdiretório unix contendo a frase “Este arquivo”.
- Usando o arquivo arquivo2 contido no diretório minicursos como base, gere um arquivo de nome tabulado.txt no subdiretório unix, contendo o mesmo conteúdo de arquivo2, porém com separação de palavras por tabulação em vez de espaço.
- Considerando o arquivo apontado por exemplo, liste em ordem alfabética os comandos aprendidos no minicurso.
- Conte a quantidade de comandos identificados no item anterior.
Dica – para executar o item 3, utilize o comando tr.
Processos
- Abra um editor de texto de sua preferência.
- Identifique o código de processo da instância aberta do editor de texto.
- Mate a instância aberta do editor de texto.
- Liste, em ordem alfabética e sem repetições, os usuários que têm processos ativos no sistema.
- Conte a quantidade de processos ativos iniciados pelo usuário root.
Permissões
- Crie um arquivo de nome arquivo_restrito e configure suas permissões para que ninguém possa utilizá-lo para leitura, escrita ou execução. Verifique se você consegue realizar alguma destas operações.
- Crie um diretório de nome dir_restrito e configure suas permissões para que ninguém possa visualizar seu conteúdo. Verifique se você consegue visualizar seu conteúdo após esta operação.
- Altere as permissões do diretório dir_restrito para que seu proprietário (você) possa navegá-lo, mas não possa criar arquivos nele.
Executáveis
- Baixe o arquivo exemplo.sh. Configure suas permissões para que você possa executá-lo. Teste sua execução.
- Configure a variável PATH para poder executar o script acima sem precisar digitar seu caminho. Faça esta configuração de forma que apenas a sessão em uso do terminal tenha sua configuração alterada.
- Inicie uma nova sessão do terminal (nova aba ou janela) e configure a variável PATH para poder executar o script acima sem precisar digitar seu caminho, mas de forma que qualquer nova sessão do terminal seja afetada. Teste esta configuração na tela já em uso do terminal e também em uma nova janela.