Copiar Arquivos Grandes com Estrutura Preservada

LinuxBeginner
Pratique Agora

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 find para 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 find de 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.

  1. Abra o arquivo copy.sh no diretório /home/labex/project usando um editor de texto.
  2. 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."
  1. 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.

  1. Abra um terminal e navegue até o diretório /home/labex/project.
  2. 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.

  1. 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.

  1. Abra um gerenciador de arquivos e navegue até o diretório /tmp/etc.
  2. 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.
  3. Você também pode usar o comando ls -l no 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.

✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar