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?
command-line
cp
pandisvezia
la source
la source
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 (viassh
) et ne chiffre que le canal de communication, pas les fichiers du système de fichiers de destination.Une alternative est rsync
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.
la source
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 utiliserieznew_folder1
contiendrait alors tous les fichiers et dossiers defolder1
.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.la source
~/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
est une commande Linux pour copier des fichiers et des répertoires. La syntaxe est la suivante:Dans cet exemple, copiez le
/home/vivek/letters
dossier et tous ses fichiers dans le/usb/backup
répertoire: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. ExempleCopiez un dossier appelé / tmp / conf dans / tmp / backup:
la source
Exemple simple.
Copiez le répertoire dir_1 et son contenu (_files_) dans le répertoire dir_2 :
Copiez le contenu (_files_) uniquement de dir_1 dans le répertoire dir_2 :
_files_
est un espace réservé pour les fichiers réels situés dans le répertoire.la source
S'il y a deux dossiers: (avec permission d'écriture)
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).
la source