GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie verschiebt man den Inhalt eines Ordners in den aktuellen Ordner?

Ich habe diese Ordnerstruktur:

foo
`----> bar

Wie kann ich den Inhalt von bar extrahieren in foo ?

Ich habe versucht mv -f bar/* . innerhalb von foo .

-f, –force | Vor dem Überschreiben nicht fragen

aber ich erhalte „bar/ajax konnte nicht verschoben werden nach foo/ajax weil das Verzeichnis nicht leer ist“

Wie kann ich das lösen?

Akzeptierte Antwort:

mv überschreibt Dateien, aber es weigert sich, Verzeichnisse zu überschreiben . Es gibt keinen einzigen Befehl, der Verzeichnisse zusammenführt und die Quellverzeichnisse entfernt (was Sie wahrscheinlich mit mv wollen ). Sogar rsync --remove-source-files wird leere Verzeichnisse hinterlassen.

Sie können eine Kombination von Befehlen verwenden:

cp -a dev/. .
rm -r dev

die alles in dev kopiert in das aktuelle Verzeichnis und entfernt dann dev Verzeichnis.

Oder:

rsync -a --remove-source-files dev/ .
find dev -depth -type d -exec rmdir {} ;

welches rsync verwendet um alle Dateien zu verschieben, und löscht dann die leeren Verzeichnisse, die zurückgelassen wurden.


Linux
  1. So öffnen und schließen Sie Verzeichnisse im Linux-Terminal

  2. Wie man Dateien tariert (komprimiert), bestimmte Dateien oder Verzeichnisse ausschließt

  3. Wie verschiebt man alle Verzeichnisse effizient in ein einziges Verzeichnis im selben Ordner?

  4. So schützen Sie Verzeichnisse in cPanel mit einem Kennwort

  5. Wie verschiebe ich Dateien und Verzeichnisse in den übergeordneten Ordner in Linux?

So verschieben Sie eine Datei unter Linux

So verschieben Sie Verzeichnisse unter Linux

So verschieben Sie Dateien und Verzeichnisse in Linux (mv-Befehl)

So benennen Sie Verzeichnisse in Linux um

Wie verschiebt man eine Joomla-Website in einen anderen Ordner?

So verschieben Sie Dateien mit dem Dateimanager in einen anderen Ordner