J'essaie de copier le contenu d'un dossier dans un autre dossier d'un répertoire différent à l'aide d'un terminal.
Quelqu'un pourrait-il me fournir un exemple de la syntaxe de ligne de commande requise pour atteindre cet objectif?
J'essaie de copier le contenu d'un dossier dans un autre dossier d'un répertoire différent à l'aide d'un terminal.
Quelqu'un pourrait-il me fournir un exemple de la syntaxe de ligne de commande requise pour atteindre cet objectif?
Réponses:
Vous pouvez copier le contenu d'un dossier /source
dans un autre dossier existant /dest
à l'aide de la commande
cp -a /source/. /dest/
L' -a
option est une option récursive améliorée, qui préserve tous les attributs de fichier et préserve également les liens symboliques.
La .
fin du chemin source est une cp
syntaxe spécifique qui permet de copier tous les fichiers et dossiers, y compris ceux cachés.
cp -a ~/Downloads/textext/. ~/.config/inkscape/extensions/
-p
indicateur pour conserver les autorisations de fichier et les horodatages. cp -ap /var/www/original.com/images/. /var/www/new.com/images/
-a
implique déjà --preserve=all
, c'est plus large que -p = --preserve=mode,ownership,timestamps
.
scp
est utilisé pour copier sur un réseau (via ssh
) et ne chiffre que le canal de communication, pas les fichiers du système de fichiers de destination.
Une alternative est rsync
rsync -r source/ destination
Les avantages de rsync sont:
Après la synchronisation initiale, seuls les fichiers modifiés ont été copiés.
Vous pouvez l'utiliser sur un réseau, ce qui est pratique pour les fichiers de $ HOME, notamment les fichiers de configuration.
rsync -r source/ destination
devrait être suffisant, non?
rync source/ dest
évident que les utilisateurs devront personnaliser la commande rsync pour fonctionner à leur guise.
Disons que vous avez un dossier appelé folder1 dans votre dossier. Dans folder1~
, il y a 1 fichier nommé file1 et 2 dossiers appelés sub1 et sub2, chacun contenant d'autres fichiers et dossiers.
Pour copier tout le contenu de ~/folder1
la ~/new_folder1
vous utiliseriez
cp -r ~/folder1/. ~/new_folder1
new_folder1
contiendrait alors tous les fichiers et dossiers de folder1
.
cp
est la commande à copier à l'aide d'un terminal, le -r
rend récursif (ainsi, le répertoire en cours + les autres répertoires à l'intérieur du répertoire en cours) ~/folder1
est le dossier d'origine, ~/new_folder1
le dossier de destination des fichiers / dossiers à l'intérieur de l'origine.
~/new_folder1/folder1
au lieu de copier le contenu.
cp -r ~/folder1/* ~/new_folder1
[root@ home]# mkdir food [root@ home]# cd food/ [root@ food]# mkdir .fruit [root@ food]# mkdir veggies [root@ food]# touch veggies/carrots [root@ food]# touch .fruit/apple [root@ food]# ls * carrots [root@ food]#
Consultez cette http://www.cyberciti.biz/faq/copy-folder-linux-command-line/ pour plus d'informations sur la copie d'un dossier. J'espère que cela t'aides.
cp Command
cp
est une commande Linux pour copier des fichiers et des répertoires. La syntaxe est la suivante:
cp source destination
cp dir1 dir2
cp -option source destination
cp -option1 -option2 source destination
Dans cet exemple, copiez le /home/vivek/letters
dossier et tous ses fichiers dans le /usb/backup
répertoire:
cp -avr /home/vivek/letters /usb/backup
Où,
-a
: Conserve les attributs spécifiés, tels que le mode répertoire, le type de fichier, la propriété, les horodatages, si possible des attributs supplémentaires: contexte, liens, xattr, tous.
-v
: Expliquez ce qui se fait.
-r
: Copier les répertoires de manière récursive. Exemple
Copiez un dossier appelé / tmp / conf dans / tmp / backup:
$ cp -avr /tmp/conf/ /tmp/backup
Copiez le répertoire dir_1 et son contenu (_files_) dans le répertoire dir_2 :
cp -r ./dir_1 ./dir_2
# or
cp -r ./dir_1/ ./dir_2/
# Results in: ./dir_2/dir_1/_files_
Copiez le contenu (_files_) uniquement de dir_1 dans le répertoire dir_2 :
cp -r ./dir_1/. ./dir_2
# or
cp -r ./dir_1/. ./dir_2/
# Results in: ./dir_2/_files_*
_files_
est un espace réservé pour les fichiers réels situés dans le répertoire.
S'il y a deux dossiers: (avec permission d'écriture)
drwxr-xr-x 4 vimal vimal 4096 Sep 9 12:17 .
drwxr-xr-x 3 root root 4096 Aug 18 14:35 ..
drwxrwxrwx 6 vimal vimal 4096 Sep 9 12:15 DATA
drwxrwxrwx 7 vimal vimal 4096 Sep 9 12:15 PORTAL
Si vous êtes dans le dossier appelé PORTAL où vous voulez copier tout le contenu d’un autre dossier, dites DATA au même niveau, alors vous ferez
vimal@vimal-D3H:/var/www/html/PORTAL$ cp -a ../DATA/. .
Vous devez noter 2 points. Le dernier point dit copier ici dans le présent dossier
et
un suivant / DATA /. indique que tout le contenu du dossier DATA doit être copié, et non le dossier DATA lui-même.
Si vous supprimez ce "." à partir de / DATA /
alors tout le dossier DATA sera copié dans PORTAL (à partir de l'endroit où vous vous en sortez).