Vous utilisez -r
(copie récursive) et spécifiez le nouveau nom
cp -r /path/to/directory /path/to/location/new-name
remplacez par les chemins réels ... par exemple pour copier stuff
de mon répertoire de base dans un répertoire existantbackup
et nommez le nouveau répertoire stuff-backup
(si ce répertoire existe déjà, notez qu'il stuff
sera copié dans celui-ci et ne l'écrasera pas).
cp -r ~/stuff ~/backup/stuff-backup
~
est un raccourci pour votre répertoire personnel /home/$USER
ou /home/zanna
dans mon cas. Vous pouvez l'omettre si le répertoire de travail actuel est votre répertoire personnel. Vous pouvez le voir à partir de votre invite.
zanna@monster:~$
^--the ~ here is where I am - home!
Vous pouvez ajouter le -v
drapeau détaillé pour rendre cp
compte chaque copie effectuée ...
$ cp -vr stuff backup/stuff-backup
'stuff/thing1' -> 'backup/stuff-backup/thing1'
'stuff/thing2' -> 'backup/stuff-backup/thing2
...
-v
ou--verbose
drapeau :)La commande dont vous avez besoin est simplement
cp
ce qui signifie "copier".Vous pouvez l'utiliser par exemple avec l'une des syntaxes suivantes:
La première variante vous permet de spécifier un nouveau nom de fichier pour le fichier cible, tandis que la seconde variante en crée une copie avec le même nom dans le répertoire cible. Vous devez bien sûr remplacer les remplaçants en lettres majuscules par des chemins valides en premier.
Cependant,
cp
par défaut, il ne fonctionne que sur les fichiers, pas sur les répertoires. Pour lui permettre de copier un répertoire complet avec tout son contenu de manière récursive, vous devez ajouter l'-r
option:Vous pouvez en apprendre plus sur la
cp
commande en tapantman cp
votre terminal.la source
En guise d'alternative à la commande cp généralement utile, vous pouvez utiliser rsync qui présente l'avantage supplémentaire de répliquer les autorisations / horodatages de la structure de répertoire d'origine:
-a archive -v verbose
notez la barre oblique après le répertoire source.
la source
Je trouve qu'il est plus facile de passer au répertoire que je copie en premier. Pour cet exemple, passez à un répertoire que tout le monde a appelé
/boot
. Tout le monde peut copier et coller les commandes ci-dessous dans son terminal.Pour la
cp
commande, le répertoire en cours est identifié comme.
étant le/boot
répertoire dans lequel nous avons changé. L'-r
option rend récursif l'inclusion de tous les sous-répertoires.Pour s'assurer que cela fonctionne, exécutez la
du
liste de tous les sous-répertoires et de la taille totale des fichiers dans le nouveau répertoire/boot_backup
dans ce cas.Une fois cette visite guidée terminée, utilisez:
sudo rm -r /boot_backup
pour supprimer le nouveau répertoire et ses sous-répertoires.la source
cp -r
) qui créeront un nouveau répertoire et ycp -r
comme vous le recommandez est déjà sur la troisième ligne de commande. Le tutoriel est basé sur le fait que tout le monde a un/boot
répertoire et peut l’essayer sur sa propre machine. Si j'avais utilisé lescp -r /home/GroundZero/Documents /home/GroundZero/Documents_backup
lecteurs ne pourraient pas copier et coller dans leur terminal - ils auraient du changementGroundZero
créant plus de travail et de chances d'erreur. J'espère que vous apprécierez le baiser de cette réponse avec un tutoriel intégré.cd ~/Documents/SomeObsucreFolder/2016/Nov/
définir le répertoire en cours comme répertoire source modifiera l'invite du terminal pour s'assurer qu'il est orthographié correctement, puis son utilisation encp -r .
tant que source évite de ressaisir le répertoire source. C'est simplement ce que je considère comme une bonne habitude. En outre , une fois le changement dans le répertoire source , il est facile à fairels FIleName1
,ls FileName2
etc. pour les fichiers que vous origine assurent à sauvegarder sont là sans avoir à répéter le nom du répertoire source pour lals
commande.Vous pouvez utiliser la commande ci-dessous pour copier le répertoire d'un emplacement vers un autre sous-répertoire.
Explication de commande:
la source
cp
est la commande qui remplit la fonction que vous recherchez. Cela signifie copie et c'est exactement ce que vous faites. La commande qui fonctionnerait pour vous dans cette situation estcp -R source/ destination/
Cela copierait le
source/
dossier et tous ses sous-répertoires dansdestination/
.Si
destination/
n'existe pas, il sera créé.L'
-R
indicateur signifie récursif, ce qui indiquecp
de copier tous les sous-répertoires.la source
Vous souhaitez généralement conserver les autorisations de fichier identiques lors de la copie, et non un nouvel ensemble d'autorisations de création par défaut. Cela signifie utiliser -a flag pour cp.
la source