Como copiar arquivos e diretórios usando o terminal Linux
-
Copiar arquivos utilizando o comando
cp -
Copiar arquivos para um diretório utilizando o comando
cp - Copiar Vários Arquivos
-
Copiar Diretórios utilizando o comando
cp -
Copiar arquivos e diretórios utilizando o comando
rsync
Podemos copiar arquivos e diretórios com os comandos cp e rsync utilizando o Terminal Linux. O comando cp é geralmente utilizado para copiar arquivos enquanto o comando rsync é geralmente utilizado para copiar diretórios.
Copiar arquivos utilizando o comando cp
Utilizamos o comando cp em sistemas operacionais Linux e Unix para cópia de arquivos e diretórios.
Para copiar o conteúdo do arquivo abc.txt para outro arquivo backup.txt, utilizamos o seguinte comando:
cp abc.txt backup.txt
Ele copia o conteúdo em abc.txt para backup.txt. Aqui os dois arquivos devem estar no diretório de trabalho atual.
Se o arquivo de destino já existir, o conteúdo do arquivo de destino será sobregravado.
Podemos adicionar a bandeira -i ao comando cp para obter uma confirmação antes de copiar.
cp -i abc.txt backup.txt
Resultado:
cp: overwrite 'backup.txt'?
Se desejarmos copiar o arquivo, pressionamos a tecla Y e pressionamos a tecla Enter.
Para obter informações ou idéia do que está sendo feito utilizando o comando cp, podemos utilizar a bandeira -v com o comando cp.
cp -v abc.txt backup.txt
Resultado:
'abc.txt' -> 'backup.txt'
Mostra o conteúdo do abc.txt que está sendo copiado para backup.txt.
Copiar arquivos para um diretório utilizando o comando cp
Para copiar um arquivo para um diretório, utilizamos o comando cp. O primeiro argumento para o comando cp será o nome do arquivo a ser copiado, e o segundo argumento será o caminho absoluto ou caminho relativo do diretório no qual o arquivo precisa ser copiado.
cp abc.txt ./test
Ele copia o arquivo abc.txt no diretório de trabalho atual para a pasta no diretório de trabalho atual test.
Para copiar o arquivo no diretório específico com um nome diferente do arquivo pai, podemos especificar o nome do arquivo como:
cp abc.txt ./test/test.txt
Ele copia o arquivo abc.txt para a pasta test com o nome test.txt.
Copiar Vários Arquivos
Podemos copiar vários arquivos e diretórios para um determinado diretório utilizando o comando cp especificando todos os arquivos e diretórios de origem seguidos pelo diretório de destino no final.
cp abc.txt backup.txt test backup
Isto copia os arquivos abc.txt e backup.txt e a pasta test para a pasta backup.
O comando cp também permite a correspondência de padrões.
cp *.txt backup
Isto copia todos os arquivos com extensão .txt no diretório de trabalho atual para a pasta backup.
Copiar Diretórios utilizando o comando cp
Utilizamos a bandeira -r ou -R junto com o comando cp para copiar o diretório e seus subdiretórios e arquivos para o diretório de destino.
cp -r pp Project
Ele copia todo o diretório pp e seus subdiretórios e arquivos para o diretório de destino Project.
Neste exemplo, haverá um diretório pp dentro do diretório Project.
Entretanto, se desejarmos apenas copiar arquivos e subdiretórios, utilizaremos a bandeira -T junto com a bandeira -R.
cp -RT pp Project
Ele copia os subdiretórios e arquivos do diretório pp para o diretório de destino Projeto.
Copiar arquivos e diretórios utilizando o comando rsync
O rsync é um utilitário de linha de comando para sincronizar arquivos e diretórios entre dois hosts. Se ambos os caminhos de origem e destino representam o localhost, o comando rsync comporta-se como um comando de cópia.
rsync -a abc.txt backup.txt
Ele copia o conteúdo do abc.txt em backup.txt.
Aqui, a bandeira -a representa a preservação de links simbólicos, tempos de modificação, grupo, propriedade e permissões durante a cópia.
Da mesma forma, podemos copiar um diretório para outro diretório.
rsync -a /abc /backup-abc
Ele copia o conteúdo do diretório abc para o diretório de destino backup-abc.
Aqui, se omitirmos a barra de corte /, então o diretório de origem será copiado dentro do diretório de destino.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn