Skip to main content dev:Coelho

Sistemas Operacionais II - Lista De Exercício 1

Exercício de Navegação e Manipulação de Arquivos no Linux

Este exercício tem como objetivo praticar comandos básicos de navegação e manipulação de arquivos no Linux, criando uma estrutura de diretórios, arquivos e realizando operações sobre eles.

Parte 1: Criação da Estrutura Inicial

  1. Logar como usuário root:

bash code snippet start

# Não é necessário comando - faça login como root

bash code snippet end

  1. Verificar diretório atual:

bash code snippet start

pwd

bash code snippet end

Este comando mostra o caminho completo do diretório em que você está atualmente (Print Working Directory).

  1. Acessar o diretório raiz:

bash code snippet start

cd /

bash code snippet end

Navega para o diretório raiz do sistema de arquivos.

  1. Acessar o diretório home:

bash code snippet start

cd home

bash code snippet end

Navega para o diretório que contém as pastas dos usuários.

  1. Criar o diretório fatecmm:

bash code snippet start

mkdir fatecmm

bash code snippet end

Cria um novo diretório chamado “fatecmm” dentro do diretório atual.

  1. Acessar o diretório fatecmm:

bash code snippet start

cd fatecmm

bash code snippet end

Navega para o diretório recém-criado.

Parte 2: Criação da Estrutura de Diretórios

  1. Criar a estrutura de diretórios conforme especificado:

bash code snippet start

mkdir -p bloco1/mp bloco1/pm bloco2/ads bloco3/adm

bash code snippet end

O parâmetro -p cria diretórios pai intermediários se necessário. Essa linha cria a seguinte estrutura:

  • bloco1
    • mp
    • pm
  • bloco2
    • ads
  • bloco3
    • adm

Parte 3: Criação de Arquivos

  1. Criar arquivo vazio no diretório mp:

bash code snippet start

touch bloco1/mp/mp1

bash code snippet end

Cria um arquivo vazio chamado “mp1” no diretório mp.

  1. Criar arquivos vazios no diretório pm:

bash code snippet start

touch bloco1/pm/pm1 bloco1/pm/pm2

bash code snippet end

Cria dois arquivos vazios chamados “pm1” e “pm2” no diretório pm.

  1. Criar arquivos vazios no diretório ads:

bash code snippet start

touch bloco2/ads/ads1 bloco2/ads/ads2

bash code snippet end

Cria dois arquivos vazios chamados “ads1” e “ads2” no diretório ads.

  1. Criar arquivo com informações no diretório adm:

bash code snippet start

echo "Nome: Seu Nome" > bloco3/adm/adm
echo "RA: Seu RA" >> bloco3/adm/adm

bash code snippet end

Cria um arquivo chamado “adm” no diretório adm com seu nome e RA.

Parte 4: Manipulação de Arquivos e Navegação Avançada

  1. Acessar a raiz:

bash code snippet start

cd /

bash code snippet end

Volta para o diretório raiz.

  1. Verificar o diretório atual:

bash code snippet start

pwd

bash code snippet end

Confirma que está no diretório raiz ("/").

  1. Acessar o diretório mp:

bash code snippet start

cd /home/fatecmm/bloco1/mp

bash code snippet end

Navega até o diretório mp usando caminho absoluto.

  1. Adicionar informações ao arquivo mp1:

bash code snippet start

echo "Conteúdo do arquivo mp1" > mp1

bash code snippet end

Adiciona conteúdo ao arquivo mp1, substituindo qualquer conteúdo existente.

  1. Criar e preencher um novo arquivo:

bash code snippet start

echo "Conteúdo do arquivo mp10" > mp10

bash code snippet end

Cria um arquivo mp10 com conteúdo.

  1. Concatenar arquivos:

bash code snippet start

cat mp1 mp10 > mp1_mp10
# ou alternativamente:
cat mp10 >> mp1

bash code snippet end

A primeira linha cria um novo arquivo que contém o conteúdo de ambos os arquivos. A segunda alternativa adiciona o conteúdo de mp10 ao final de mp1.

  1. Acessar o diretório bloco1:

bash code snippet start

cd ..

bash code snippet end

Volta um diretório, indo para bloco1.

  1. Adicionar informações nos arquivos de diferentes diretórios:

bash code snippet start

echo "Conteúdo de pm1" > pm/pm1
echo "Conteúdo de pm2" > pm/pm2
echo "Conteúdo de ads1" > /home/fatecmm/bloco2/ads/ads1
echo "Conteúdo de ads2" > /home/fatecmm/bloco2/ads/ads2

bash code snippet end

Adiciona conteúdo a vários arquivos usando caminhos relativos e absolutos.

  1. Mostrar conteúdo do diretório ads:

bash code snippet start

ls -la /home/fatecmm/bloco2/ads

bash code snippet end

Lista detalhadamente todos os arquivos do diretório ads a partir do diretório atual.

  1. Mostrar últimas linhas do arquivo adm:

bash code snippet start

tail -4 /home/fatecmm/bloco3/adm/adm

bash code snippet end

Mostra as últimas 4 linhas do arquivo adm.

  1. Acessar o diretório fatecmm:

bash code snippet start

cd /home/fatecmm

bash code snippet end

Navega para o diretório fatecmm a partir de qualquer local.

  1. Mostrar árvore de diretórios:

bash code snippet start

tree

bash code snippet end

Exibe a estrutura de diretórios no formato de árvore.

Parte 5: Operações com Arquivos

  1. Juntar informações de arquivos:

bash code snippet start

cat bloco3/adm/adm bloco2/ads/ads2 > adm_ads2

bash code snippet end

Cria um novo arquivo que combina o conteúdo de adm e ads2.

  1. Copiar arquivos:

bash code snippet start

cp bloco3/adm/adm bloco2/ads/admads

bash code snippet end

Copia o arquivo adm para o diretório ads com o nome admads.

  1. Copiar múltiplos arquivos:

bash code snippet start

cp bloco2/ads/ads1 bloco2/ads/ads2 bloco1/

bash code snippet end

Copia os arquivos ads1 e ads2 para o diretório bloco1.

Parte 6: Remoção de Diretórios

  1. Remover pasta bloco3:

bash code snippet start

rm -rf bloco3

bash code snippet end

Remove o diretório bloco3 e todo seu conteúdo. O parâmetro -r indica recursão (remove subdiretórios) e -f força a remoção sem confirmações.

  1. Remover pasta bloco2:

bash code snippet start

rm -rf bloco2

bash code snippet end

Remove o diretório bloco2 e todo seu conteúdo.

  1. Remover pasta bloco1:

bash code snippet start

rm -rf bloco1

bash code snippet end

Remove o diretório bloco1 e todo seu conteúdo.