Opções Avançadas de Cópia de Arquivos
Nesta etapa, você aprenderá sobre algumas opções úteis do comando cp que podem tornar suas tarefas de cópia de arquivos mais eficientes.
Vamos começar navegando de volta para o diretório do projeto:
cd ~/project
Preservando Atributos de Arquivos com -p
Ao copiar arquivos, você pode querer preservar os atributos originais do arquivo, como timestamps, propriedade e permissões. A opção -p permite que você faça isso:
cp -p data-files/apple.txt backup/apple_preserved.txt
Vamos comparar o arquivo original e a cópia preservada:
ls -l data-files/apple.txt backup/apple.txt backup/apple_preserved.txt
Você notará que backup/apple_preserved.txt tem o mesmo timestamp que o arquivo original, enquanto backup/apple.txt (que copiamos anteriormente sem a opção -p) tem um timestamp mais recente.
Criando Cópias Recursivas com -r
Para copiar diretórios junto com seus conteúdos, você precisa usar a opção -r (recursivo). Vamos criar uma estrutura de diretórios aninhados para demonstrar isso:
mkdir -p data-files/nested/deep
echo "This is a nested file." > data-files/nested/nested_file.txt
echo "This is a deep nested file." > data-files/nested/deep/deep_file.txt
Agora, vamos copiar todo o diretório data-files e seu conteúdo para um novo local:
cp -r data-files data-files-backup
Vamos verificar se a estrutura de diretórios e os arquivos foram copiados corretamente:
find data-files-backup -type f | sort
Você deve ver uma saída listando todos os arquivos na estrutura de diretórios copiada:
data-files-backup/apple.txt
data-files-backup/grape.txt
data-files-backup/nested/deep/deep_file.txt
data-files-backup/nested/nested_file.txt
data-files-backup/orange.txt
Modo Interativo com -i
Ao copiar arquivos, você pode, acidentalmente, sobrescrever arquivos existentes. A opção -i (interativo) solicita que você confirme antes de sobrescrever qualquer arquivo:
cp -i data-files/apple.txt backup/apple.txt
Como backup/apple.txt já existe, você verá uma solicitação perguntando se deseja sobrescrevê-lo:
cp: overwrite 'backup/apple.txt'?
Você pode responder com y para sobrescrever ou n para cancelar.
Essas opções avançadas tornam o comando cp ainda mais poderoso e flexível para suas necessidades de gerenciamento de arquivos.