Erwägen:
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
Wie verschiebe ich den Inhalt von /public-back/templates
rekursiv mit Berechtigungen in /public/templates
?
linux
command-line
mv
siliconpi
quelle
quelle
mv -R ../public-back/templates/* public/templates/
Ich würde immer noch dafür stimmen, die Frage zu verschieben.Antworten:
Wenn ich die Frage nicht falsch verstehe, würde dies funktionieren:
-i
Wenn Sie keine große Liste von Dateien haben, werden Sie beim Hinzufügen gefragt, bevor etwas überschrieben wird. Dies erhöht die Sicherheit bei der Verwendung von Platzhaltern wie*
.quelle
Directory not empty
Nachricht.mv: target '/public/templates' is not a directory
nur den Zielordner manuell erstellen:mkdir /public/templates
.Die Manpage für cp lautet:
Versuchen;
quelle
mv
ist für den Zug , währendcp
für die Kopie ist - eine semantische / etymologische Unterscheidung.cp
ist viel langsamer alsmv
.cp
zwingt den Computer, alles von der Festplatte in den Arbeitsspeicher zu kopieren und es dann erneut auf die Festplatte zu schreiben. Dies kann abhängig von der Größe der Dateien einige Zeit in Anspruch nehmen. Diesmv
geschieht jedoch immer sofort, da nur die Links neu geschrieben werden müssen.Beim Verschieben von Objekten von meinem USB-Stick auf mein OSMC-System habe ich Folgendes als sehr nützlich empfunden:
Erklärung, wie es funktioniert, weiter unten.
Übrigens: Vergessen Sie nicht, einen Backslash vor Leerzeichen in den Quell- oder Zielverzeichnisnamen einzufügen (siehe oben).
Tatsächlich suchen Sie alle Dateien und Ordner und verschieben sie nacheinander (oder wenn zuerst ein Verzeichnis gefunden wird, verschieben Sie dieses Verzeichnis und den Inhalt darin). Dies startet für jeden Zug einen neuen Prozess und ist sehr ineffizient. Verwenden Sie diese Option nur, wenn die regulären Befehle fehlschlagen.
quelle
mv scheint das nicht zu tun. Aber Sie können diesen kleinen Trick benutzen, der wie ein Zauber wirkt:
und bewahrt Berechtigungen und alle.
Hinweis: Keine der oben genannten Lösungen hat bei mir funktioniert. Aus diesem Grund wurde diese Problemumgehung durchgeführt.
quelle
Erstellen Sie also feste Links im Zielverzeichnis und entfernen Sie das Quellverzeichnis. 'mv' funktioniert in Ihrem Fall einfach nicht und im Allgemeinen nur, wenn source dir und dest keine gemeinsamen Unterbäume haben.
Beachten Sie, dass ich davon ausgehe, dass das Wort 'move' in der Frage bedeutet, dass das Quellverzeichnis nach der Operation weg sein sollte.
quelle