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
- Logar como usuário root:
bash code snippet start
# Não é necessário comando - faça login como root
bash code snippet end
- 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).
- Acessar o diretório raiz:
bash code snippet start
cd /
bash code snippet end
Navega para o diretório raiz do sistema de arquivos.
- 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.
- 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.
- 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
- 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
- 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.
- 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.
- 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.
- 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
- Acessar a raiz:
bash code snippet start
cd /
bash code snippet end
Volta para o diretório raiz.
- Verificar o diretório atual:
bash code snippet start
pwd
bash code snippet end
Confirma que está no diretório raiz ("/").
- 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.
- 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.
- 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.
- 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.
- Acessar o diretório bloco1:
bash code snippet start
cd ..
bash code snippet end
Volta um diretório, indo para bloco1.
- 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.
- 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.
- 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.
- 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.
- 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
- 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.
- 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.
- 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
- 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.
- Remover pasta bloco2:
bash code snippet start
rm -rf bloco2
bash code snippet end
Remove o diretório bloco2 e todo seu conteúdo.
- Remover pasta bloco1:
bash code snippet start
rm -rf bloco1
bash code snippet end
Remove o diretório bloco1 e todo seu conteúdo.