Introdução
Neste projeto, você aprenderá como copiar arquivos maiores que 10K do diretório /etc para o diretório /tmp/etc, preservando a estrutura de diretórios. Esta é uma habilidade útil para gerenciar e organizar arquivos em um sistema Linux.
🎯 Tarefas
Neste projeto, você aprenderá:
- Como criar um script para copiar arquivos com base no tamanho
- Como usar o comando
findpara localizar arquivos que atendem a critérios específicos - Como preservar a estrutura de diretórios ao copiar arquivos
- Como executar um script com privilégios elevados usando
sudo
🏆 Conquistas
Após concluir este projeto, você será capaz de:
- Automatizar o processo de cópia de arquivos com base no tamanho
- Manter a estrutura de diretórios ao copiar arquivos
- Usar o comando
findde forma eficaz para localizar arquivos que atendem a critérios específicos - Executar scripts com privilégios elevados para acessar arquivos e diretórios protegidos
Criar o Script de Cópia
Nesta etapa, você criará o script que copiará os arquivos maiores que 10K do diretório /etc para o diretório /tmp/etc.
- Abra o arquivo
copy.shno diretório/home/labex/projectusando um editor de texto. - Adicione o seguinte código ao arquivo:
#!/bin/zsh
## This script copies files larger than 10K from a source directory to a target directory.
## Define the source directory and target directory
source_dir="/etc"
target_dir="/tmp"
## Create the target directory if it doesn't exist
mkdir -p "$target_dir"
## Use the find command to locate files larger than 10K and copy them to the target directory
find "$source_dir" -type f -size +10k -exec cp --parents --dereference "{}" "$target_dir" \;
echo "File copying complete."
- Salve o arquivo.
Nesta etapa, você criou o script copy.sh que copiará os arquivos maiores que 10K do diretório /etc para o diretório /tmp/etc, preservando a estrutura de diretórios.
Executar o Script de Cópia
Nesta etapa, você executará o script copy.sh para copiar os arquivos.
- Abra um terminal e navegue até o diretório
/home/labex/project. - Execute o script usando o seguinte comando:
sudo sh copy.sh
Isso executará o script com privilégios elevados, permitindo que ele copie arquivos aos quais o usuário labex pode não ter acesso.
- Aguarde a conclusão do script. Você deverá ver a mensagem "File copying complete." quando o script terminar.
Nesta etapa, você executou o script copy.sh para copiar os arquivos maiores que 10K do diretório /etc para o diretório /tmp/etc.
Verificar os Arquivos Copiados
Nesta etapa, você verificará se os arquivos foram copiados corretamente.
- Abra um gerenciador de arquivos e navegue até o diretório
/tmp/etc. - Observe a estrutura de diretórios e os arquivos que foram copiados. Você deve ver que a estrutura de diretórios foi preservada e apenas os arquivos maiores que 10K foram copiados.
- Você também pode usar o comando
ls -lno terminal para listar os arquivos e seus tamanhos no diretório/tmp/etc.
Nesta etapa, você verificou se os arquivos foram copiados corretamente do diretório /etc para o diretório /tmp/etc.
Parabéns! Você concluiu com sucesso o projeto de copiar arquivos maiores que 10K do diretório /etc para o diretório /tmp/etc, preservando a estrutura de diretórios.
Resumo
Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.



