Considérer:
ls -al ../public-back
drwxrwxr-x 4 apache apache 4096 Apr 19 03:32 templates
ls -al ../public-back/templates
drwxrwxr-x 2 apache apache 4096 Apr 19 03:33 content
drwxrwxr-x 2 apache apache 20480 Apr 20 06:14 images
drwxrwxr-x 2 apache apache 4096 Apr 19 03:35 video
ls -al /public
drwxrwxr-x 4 apache apache 4096 Apr 20 09:49 templates
ls -al /public/templates
drwxrwxr-x 2 apache apache 4096 Apr 20 09:50 content
drwxrwxr-x 2 apache apache 4096 Apr 20 09:50 images
drwxrwxr-x 2 apache apache 4096 Apr 20 09:50 video
Comment déplacer le contenu de /public-back/templates
manière récursive avec des autorisations dans /public/templates
?
linux
command-line
mv
siliciumpi
la source
la source
mv -R ../public-back/templates/* public/templates/
Je voterais quand même pour poser la question.Réponses:
À moins que je ne comprenne mal la question, cela fonctionnerait:
De plus, à moins que vous ne disposiez d'une longue liste de fichiers, ajouter
-i
demandera avant d'écraser quoi que ce soit, ce qui ajoute une certaine sécurité lors de l'utilisation de caractères génériques tels que*
.la source
Directory not empty
message.mv: target '/public/templates' is not a directory
suffit de créer le dossier de destination manuellement:mkdir /public/templates
.La page de manuel de cp indique:
Essayer;
la source
mv
est pour le mouvement , tandis quecp
est pour la copie - une distinction sémantique / étymologique.cp
est beaucoup plus lent quemv
.cp
oblige l'ordinateur à tout copier du disque vers la RAM, puis à l'écrire à nouveau sur le disque, ce qui peut prendre beaucoup de temps en fonction de la taille des fichiers. Cependant,mv
cela se produit toujours instantanément, car seuls les liens doivent être réécrits.Lors du déplacement d’éléments de ma clé USB vers mon système OSMC, j’ai trouvé les informations suivantes très utiles:
Explication sur la façon dont cela fonctionne ci-dessous.
Au fait, n'oubliez pas d'ajouter une barre oblique inverse avant les espaces dans les noms de répertoire source ou de destination (voir ci-dessus).
Effectivement, vous recherchez tous les fichiers et tous les dossiers et vous les déplacez un par un (ou, si un répertoire est trouvé en premier, vous déplacez ce répertoire et son contenu). Cela lance un nouveau processus pour chaque déménagement et est très inefficace. Utilisez-le uniquement lorsque les commandes régulières échouent.
la source
MV ne semble pas faire cela. Mais vous pouvez utiliser ce petit truc, fonctionne comme un charme:
et préserve les autorisations et tous.
Remarque: aucune des solutions ci-dessus n'a fonctionné pour moi, c'est pourquoi cette solution de contournement.
la source
Créez donc des liens physiques dans le répertoire de destination et supprimez le répertoire source. 'mv' ne fonctionnera tout simplement pas dans votre cas, et ne fonctionne en général que lorsque les répertoires source et dest n'ont pas de sous-arbres communs.
Notez que je suppose que le mot "déplacer" dans la question signifie que le répertoire source devrait être parti après l'opération.
la source