Erweiterte Verwendung des Befehls mv unter Linux

mv ist auch ein sehr häufig verwendeter Befehl unter Linux, aber welche erweiterten Verwendungen kennen Sie neben einigen grundlegenden Verwendungen?

1. Grundlegende Verwendung

  1. Verschieben Sie eine / mehrere Dateien.
  2. Verschieben Sie ein / mehrere Verzeichnisse.
  3. Benennen Sie die Datei / das Verzeichnis um.

Dies sind sehr grundlegende Verwendungszwecke, sodass Sie nicht auf Details eingehen müssen. Hier sind einige fortgeschrittenere Verwendungen.

2. Druckvorgangsinformationen

Wenn wir nur eine oder zwei oder einige Dateien / Verzeichnisse verschieben, können wir vorerst zum Zielspeicherort gehen, um zu überprüfen, ob die Dateien erfolgreich verschoben wurden. Aber was ist, wenn es Hunderte von Dateien gibt? Wie können wir feststellen, ob unsere Operation erfolgreich war, ohne den Zielort zu überprüfen? Wir können -vOptionen hinzufügen .

[alvin@VM_0_16_centos mv_test]$ mv -v *.txt /home/alvin/test/mv_test/des/
‘file1.txt’ -> ‘/home/alvin/test/mv_test/des/file1.txt’
‘file2.txt’ -> ‘/home/alvin/test/mv_test/des/file2.txt’
‘file3.txt’ -> ‘/home/alvin/test/mv_test/des/file3.txt’
‘file4.txt’ -> ‘/home/alvin/test/mv_test/des/file4.txt’
‘file5.txt’ -> ‘/home/alvin/test/mv_test/des/file5.txt’

Diese Methode ist natürlich auch auf mobile Verzeichnisse anwendbar.

3. Verwenden Sie den interaktiven Modus

Wenn wir Dateien / Verzeichnisse verschieben, werden standardmäßig keine Eingabeaufforderungen angezeigt. Wenn sich am Zielspeicherort eine Datei / ein Verzeichnis mit demselben Namen befindet, ersetzt der Befehl mv die Originaldatei direkt, ohne dass Sie dazu aufgefordert werden. Und solche Operationen können manchmal katastrophale Folgen haben.

In diesem Fall können wir eine -iOption hinzufügen, wenn die Zieldatei mit demselben Namen dazu aufgefordert wird. Wenn Sie die Zieldatei sicher überschreiben möchten, geben Sie einfach y ein.

[alvin@VM_0_16_centos mv_test]$ mv -i file1.txt /home/alvin/test/mv_test/des/
mv: overwrite ‘/home/alvin/test/mv_test/des/file1.txt’? y

4. Überschreiben Sie keine gleichnamigen Dateien

Wenn die Zieldateien denselben Namen haben, möchten wir nicht, dass sie abgedeckt werden. Sie können -nOptionen hinzufügen .

[alvin@VM_0_16_centos mv_test]$ ll *.txt des/*.txt
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:26 file2.txt
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:35 file3.txt
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:26 des/file1.txt
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:27 des/file2.txt
[alvin@VM_0_16_centos mv_test]$ mv -nv *.txt /home/alvin/test/mv_test/des/
‘file3.txt’ -> ‘/home/alvin/test/mv_test/des/file3.txt’    #目标位置没有file3.txt文件,所以成功移动
[alvin@VM_0_16_centos mv_test]$ ls
des  file2.txt

5. Verwenden Sie die Update-Optionen

Wenn sich am Zielspeicherort eine Datei / ein Verzeichnis mit demselben Namen befindet, soll die Quelldatei nur überschrieben werden, wenn der Zeitstempel der Zieldatei neuer als der der Zieldatei ist. Andernfalls wird sie nicht ausgeführt. In diesem Fall können wir die -uOption verwenden.

[alvin@VM_0_16_centos mv_test]$ ll *.txt des/*.txt
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:26 file1.txt    #源文件比目标文件时间戳更新
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:26 file2.txt    #源文件比目标文件时间戳更旧
-rw-rw-r-- 1 alvin alvin 0 Feb  8 16:53 des/file1.txt
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:27 des/file2.txt
[alvin@VM_0_16_centos mv_test]$ mv -uv *.txt /home/alvin/test/mv_test/des/
‘file1.txt’ -> ‘/home/alvin/test/mv_test/des/file1.txt’    #只有时间戳更新的文件被替换
[alvin@VM_0_16_centos mv_test]$ ls
des  file2.txt

6. Erstellen Sie vor dem Überschreiben ein Backup

Am Zielspeicherort befindet sich bereits eine Datei mit demselben Namen. Wenn Sie sie direkt überschreiben, fühlt sie sich etwas unzuverlässig an. Was ist, wenn Ihre Entscheidung falsch ist? Ist es möglich, die Zieldatei vor dem Überschreiben zu sichern? Die Antwort lautet Ja, fügen Sie eine -bOption hinzu.

[alvin@VM_0_16_centos mv_test]$ mv -bv *.txt /home/alvin/test/mv_test/des/
‘file1.txt’ -> ‘/home/alvin/test/mv_test/des/file1.txt’ (backup: ‘/home/alvin/test/mv_test/des/file1.txt~’)
‘file2.txt’ -> ‘/home/alvin/test/mv_test/des/file2.txt’ (backup: ‘/home/alvin/test/mv_test/des/file2.txt~’)
[alvin@VM_0_16_centos mv_test]$ ll des/
total 0
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:41 file1.txt
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:26 file1.txt~
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:26 file2.txt
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:27 file2.txt~
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:35 file3.txt

Es ist ersichtlich, dass die Zieldatei vor dem Überschreiben als Datei mit einer Tilde ~ gesichert wird. Gleichzeitig werden sorgfältige Leser auch feststellen, dass sich der Zeitstempel der überschriebenen Datei von dem der Sicherungsdatei unterscheidet.

Die oben genannten sind einige der fortgeschritteneren Verwendungszwecke des Befehls mv. Wenn Sie ihn flexibel verwenden, wird Ihre Arbeitseffizienz auf ein höheres Niveau gesteigert, und Sie werden vor Kollegen energischer.

Schließlich fragten mich kürzlich viele Freunde nach einer Linux-Lern-Roadmap. Aufgrund meiner Erfahrung verbrachte ich einen Monat damit, in meiner Freizeit lange wach zu bleiben, und stellte ein E-Book zusammen. Ob Sie in einem Interview sind oder sich selbst verbessern, ich glaube, es wird Ihnen helfen! Das Verzeichnis lautet wie folgt:

Gib es allen kostenlos, bitte dich, mir einen Daumen hoch zu geben!

Ebook | Linux-Entwicklungs-Lern-Roadmap

Ich hoffe auch, dass einige Freunde sich mir anschließen können, um dieses E-Book noch perfekter zu machen!

Dazugewinnen? Ich hoffe, dass die alten Eisen eine Drei-Treffer-Kombination haben, damit mehr Leute diesen Artikel lesen können

Literatur-Empfehlungen:

Ich denke du magst

Origin blog.csdn.net/yychuyu/article/details/108089217
Empfohlen
Rangfolge