Copiando arquivos e copiando diretórios no Linux

Copiando arquivos e copiando diretórios no Linux
Linux é um lugar que pode fazer coisas incríveis ao executar quase qualquer tarefa. Para desfrutar de todo o poder do Linux, é sempre uma boa ideia ter o conhecimento de alguns truques e comando básicos, certo? Hoje, vamos dar uma olhada no comando de copiar de arquivo no Linux.

Cópia de arquivo

Antes de iniciarmos o guia, é hora de uma breve nota sobre o que o Linux entende dizendo a um arquivo ou pasta. No Linux, cada pasta é conhecida como "diretório". Um diretório pode conter outros diretórios e arquivos de qualquer tamanho, dado que o tamanho do arquivo suficiente para caber no dispositivo de armazenamento.

Quando você deseja copiar um arquivo/pasta, você deve esclarecê -lo o suficiente para o sistema para que ele não estrague as coisas. Também é uma coisa maravilhosa que sempre que você copie/mova o arquivo de uma unidade ou de outra, você ainda estará colocando -os em uma pasta!

Copiando truques

Para copiping, usaremos o comando “CP”. Esta é a estrutura básica de “CP” -

CP [parâmetro] “Source_File_Directory” “Target_File_Directory”

Se você deseja copiar um arquivo para outro diretório, você deve executar os seguintes comandos. Observe que estou usando “~/Downloads/testdir/” com 3 arquivos de teste como a demonstração para este guia.

CD ~/downloads/testdir

# Copie todos os arquivos disponíveis para “~/Desktop/testDir1” diretório

cp * ~/desktop/testdir1

Aqui, “CP” é o comando associado para copiar o arquivo de um diretório para outro. É apenas um curto prazo de "cópia". Existem outras opções disponíveis, como -

  • -eu - Modo de cópia interativa. Se o programa descobrir algum conflito (o arquivo já existe etc.), ele pedirá sua ação sobre a situação.
  • -r - Recursivo. Esta opção copiará todos os arquivos e diretórios incluídos para o destino. Ele também preservará a estrutura da árvore do diretório de origem.
  • -v - Modo verboso. Isso é útil se você quiser obter feedback de que a tarefa de cópia está contínua. Para cada pergunta, existem 2 resposta disponível - y (sim) e n (não).
cp -v * ~/desktop/testdir1/

É recomendável que você use esses parâmetros na maioria das vezes para o melhor feedback durante o processo de cópia.

cp -irv ~/desktop/testdir1/

Copiando um diretório inteiro

Agora, vamos pensar em uma situação quando você precisa copiar todos os seus arquivos e diretórios (pastas) no diretório de destino. Talvez você esteja pensando em usar o mesmo truque que acima, certo?

Aqui está uma execução de teste do comando em que estou tentando copiar todos os arquivos e diretórios em "~/downloads/" em um subdiretório criado "sub/". Depois de executar este comando -

cp * sub//

O resultado é este -

Horrível, certo? Tudo está bem e "CP" deveria ter copiado tudo nesse diretório. Qual é o problema?

A resposta que já discutimos acima. Lembre-se do parâmetro "cp" "-r"? Ele diz para executar a tarefa recursivamente - copie todos os subdiretos e arquivos da fonte para o destino.

Vamos consertar imediatamente! Execute o comando fixo -

cp -vr * sub/

Agora, tudo parece bem e funcionando.

Uma coisa interessante para observar que o subdiretório de destino também será copiado dentro de si.

Como você pode ver, tudo do diretório "downloads", incluindo o subdiretório "sub" está dentro do diretório "sub".

Assim, se você quiser copiar um diretório inteiro para outro diretório, use o parâmetro "-r". Por exemplo, estarei copiando "~/Downloads/" para "/Desktop/testdir1/".

cp -vr ~/downloads/~/desktop/testdir1/

Felizmente, sua experiência de cópia com Linux já melhorou o suficiente. Aproveitar!