it-swarm.com.de

Wie verschiebe ich alle Dateien über die Befehlszeile von einem Ordner in einen anderen?

Ich möchte wissen, wie ich alle Dateien von einem Ordner in einen anderen Ordner mit einer Befehlszeile verschieben kann.

Angenommen, ich befinde mich in meinem Downloads-Ordner und es gibt 100 Dateien, die ich in meinen Videos-Ordner verschieben möchte, ohne alle Dateinamen eingeben zu müssen.

238
Michael

Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:

mv  -v ~/Downloads/* ~/Videos/

Alle Dateien und Ordner werden vom Ordner "Downloads" in den Ordner "Videos" verschoben.


So verschieben Sie alle Dateien, aber keine Ordner:

Wenn Sie alle Dateien (aber keine Ordner) aus dem Ordner "Downloads" in den Ordner "Videos" verschieben möchten, verwenden Sie diesen Befehl

find ~/Downloads/ -type f -print0 | xargs -0 mv -t ~/Videos

So verschieben Sie nur Dateien aus den Download-Ordnern, nicht jedoch aus Unterordnern:

Wenn Sie alle Dateien aus dem Download-Ordner verschieben möchten, jedoch keine Dateien in Ordnern im Download-Ordner, verwenden Sie diesen Befehl:

find ~/Downloads/ -maxdepth 1 -type f -print0 | xargs -0 mv -t ~/Videos

hier gibt die Option -maxdepth an, wie tief gesucht werden soll. 1 bedeutet nur das im Befehl find angegebene Verzeichnis. Sie können auch versuchen, mit 2, 3 zu testen.

Siehe die Ubuntu find manpage für eine detaillierte Erklärung

318
Anwar
mv ~/Downloads/* ~/Videos

Es werden alle Dateien einschließlich der Unterordner in das Verzeichnis verschoben, in das Sie mv möchten. Wenn Sie cp (kopieren) oder rm (entfernen) möchten, benötigen Sie die Option -r (rekursiv), um Unterordner einzuschließen.

28
user223289

Für den einfachen Fall:

mv ~/Downloads/* ~/Videos

Wenn Sie auch (versteckte) Punktdateien verschieben möchten, setzen Sie die Option dotglob Shell.

shopt -s dotglob
mv ~/Downloads/* ~/Videos

Dadurch bleibt die Shell-Option festgelegt.

Führen Sie bei einmaliger Verwendung von dotglob die Befehle in einer Subshell aus:

(shopt -s dotglob; mv ~/Downloads/* ~/Videos)
11

Es ist möglich, rsync zu verwenden, zum Beispiel:

rsync -vau --remove-source-files src/ dst/

wo:

-v, --verbose: Erhöht die Ausführlichkeit.

-a, --archive: Archivierungsmodus; entspricht -rlptgoD (no -H, -A, -X).

-u, --update: Überspringen Sie neuere Dateien auf dem Receiver.

--remove-source-files Dies weist rsync an, die Dateien von der sendenden Seite zu entfernen (dh Nicht-Verzeichnisse), die Teil der Übertragung sind und auf der empfangenden Seite erfolgreich dupliziert wurden.

Wenn Sie über Root-Berechtigungen verfügen, setzen Sie das Präfix Sudo, um potenzielle Berechtigungsprobleme zu überschreiben.

10
kenorb

Verwenden

mv -v ~/rootfolder/branch/* ~/rootfolder

Ich hoffe das hilft. Weil ich die gleichen Schmerzen hatte und viel Zeit damit verschwendete, meinen Fehler zu beheben.

4
Udit Chugh

So verschieben Sie ein Verzeichnis mit oder ohne Inhalt in seinen neuen Namen, so wie Sie den Befehl mv zum Umbenennen einer Datei verwenden würden:

mv -T dir1 dir2

wo:

  • -T behandelt das Ziel als normale Datei
  • dir1 ist der ursprüngliche Name des Verzeichnisses
  • dir2 ist der neue Name des Verzeichnisses

NB: dir2 muss nicht existieren.

Ich hoffe, dies spart jemandem viel Zeit, als Anfänger, bevor ich ein Verzeichnis mit dem neuen Namen erstellen und dann den Inhalt des Verzeichnisses in das zuvor erstellte Verzeichnis verschieben würde.

Verwendung für Unterverzeichnisse

Dieser Befehl ist nützlich, wenn viele Dateien in einem Unterordner des Zielverzeichnisses gespeichert wurden, d. H. Downloads/mp4. Wenn Sie in diesem Beispiel mv -T Downloads/mp4 Videos ausführen, wird der Unterordner mp4 entfernt und alle darin enthaltenen Dateien werden in den Ordner "Videos" verschoben.

1
Feyisayo Sonubi
  1. Gehen Sie zur Befehlszeile und rufen Sie mit cd folderNamehere das Verzeichnis auf, in das Sie es verschieben möchten.
  2. Geben Sie pwd ein. Dadurch wird das Verzeichnis gedruckt, in das Sie es auch verschieben möchten.
  3. Wechseln Sie dann in das Verzeichnis, in dem sich alle Dateien mit cd folderNamehere befinden.
  4. Um alle Dateien zu verschieben, geben Sie mv *.* typeAnswerFromStep2here ein.

Dadurch werden alle Dateien von diesem Verzeichnis in das andere verschoben.

1
jrh
mv source_path/* destination_path/

hier müssen Sie nach dem Quellpfad einen Schrägstrich und * einfügen, damit Dateien im Quellpfad anstelle des vollständigen Quellverzeichnisses abgelegt werden.

Beispiel: mv /home/username/test/* /home/username/test2/

Der obige Befehl verschiebt alle Dateien (sofern sie nicht ausgeblendet sind) im Quellverzeichnis in das Zielverzeichnis.

1
vivek Kumar

versuch es

find ~/Desktop -type f -iname  "*.mp4" -exec mv {} ~/Videos \;

- type Mit dem Argument -type können Sie den Typ file.on dieser Anweisung angeben, bei dem es sich um die mittlere Datei.if handelt, wobei -d das Verzeichnis bedeutet.

- iname: Die gebräuchlichste und naheliegendste Methode, nach einer Datei zu suchen, ist die Verwendung des Arguments -name. Wenn Sie sich nicht sicher sind, ob die Groß- und Kleinschreibung beachtet wird, können Sie das Argument -iname verwenden

mv {} und schließlich das Zielverzeichnis angeben und die Dateien dann mit dem Argument mv {} dorthin verschieben

0
pedram shabani