Você usa -r
(copia recursivamente) e especifica o novo nome
cp -r /path/to/directory /path/to/location/new-name
substituir com os caminhos reais ... por exemplo, para copiar stuff
do meu diretório home para um existente diretório backup
e nomeie o novo diretório stuff-backup
(se este diretório já existe, nota que stuff
será copiado para ele, e não substituí-lo).
cp -r ~/stuff ~/backup/stuff-backup
~
é um atalho para o seu diretório pessoal /home/$USER
ou, /home/zanna
no meu caso. Você pode omiti-lo se o diretório de trabalho atual for o seu diretório pessoal - você pode ver isso no prompt
zanna@monster:~$
^--the ~ here is where I am - home!
Você pode adicionar o -v
sinalizador detalhado para fazer o cp
relatório de cada cópia sendo executada ...
$ cp -vr stuff backup/stuff-backup
'stuff/thing1' -> 'backup/stuff-backup/thing1'
'stuff/thing2' -> 'backup/stuff-backup/thing2
...
-v
ou--verbose
bandeira :)O comando que você precisa é simplesmente o
cp
que significa "cópia".Você pode usá-lo, por exemplo, com uma destas sintaxes:
A primeira variante permite especificar um novo nome de arquivo para o arquivo de destino, enquanto a segunda variante cria uma cópia com o mesmo nome no diretório de destino. Obviamente, você deve substituir primeiro os marcadores de posição em maiúsculas por caminhos válidos.
No entanto,
cp
por padrão, opera apenas em arquivos, não em diretórios. Para que ele copie um diretório completo com todo o seu conteúdo recursivamente, você deve adicionar a-r
opção:Você pode aprender mais sobre o
cp
comando digitandoman cp
seu terminal.fonte
Como alternativa ao comando cp geralmente útil, você pode usar o rsync, que possui o benefício adicional de replicar as permissões / registros de data e hora da estrutura de diretórios original:
-um arquivo -v detalhado
observe a barra após o diretório de origem.
fonte
Acho mais fácil mudar para o diretório do qual estou copiando primeiro. Neste exemplo, mude para um diretório que todos chamaram
/boot
. Qualquer pessoa pode copiar e colar os comandos abaixo em seu Terminal.Para o
cp
comando, o diretório atual é identificado como.
o/boot
diretório para o qual alteramos. A-r
opção torna recursivo incluir todos os subdiretórios.Para garantir que funcionou, execute
du
a lista de todos os subdiretórios e tamanhos totais de arquivos no novo diretório/boot_backup
, neste caso.Depois de concluir esta explicação, use:
sudo rm -r /boot_backup
para remover o novo diretório e seus subdiretórios.fonte
cp -r
) que vai cuidar da criação de um novo diretório e copiar todos os arquivos para elecp -r
como você recomenda já está na terceira linha de comando. O tutorial é baseado no fato de todos terem um/boot
diretório e poderem tentar isso em sua própria máquina. Se eu tivesse usado oscp -r /home/GroundZero/Documents /home/GroundZero/Documents_backup
leitores não conseguiria copiar e colar em seus terminais - eles teriam alterações,GroundZero
criando mais trabalho e chances de erro. Espero que você aprecie o KISS desta resposta com um tutorial incorporado.cd ~/Documents/SomeObsucreFolder/2016/Nov/
ao definir o diretório atual como diretório de origem, alterará o prompt do Terminal para garantir que está escrito corretamente e, em seguida, o usocp -r .
como fonte elimina a redigitação do diretório de origem. É simplesmente o que considero um bom hábito. Além disso, uma vez mudando para o diretório fonte é fácil de fazerls FIleName1
,ls FileName2
etc. para esnure os arquivos que você deseja fazer backup estão lá sem ter que repetir o nome do diretório de origem para ols
comando.Você pode usar o comando abaixo para copiar o diretório de um local para outro subdiretório.
Explicação do comando:
fonte
cp
é o comando que executa a função que você está procurando. Significa cópia e faz exatamente isso. O comando que funcionaria para você nessa situação écp -R source/ destination/
Isso copiaria a
source/
pasta e todos os seus subdiretórios paradestination/
.Se
destination/
não existir, será criado.O
-R
sinalizador significa recursivo, que informacp
para copiar todos os subdiretórios.fonte
Você geralmente deseja manter as permissões de arquivo iguais ao fazer uma cópia, não um novo conjunto de permissões de criação padrão. Isso significa usar -a flag para cp.
fonte