Über .
Unter UNIX / Linux .
bedeutet dies das aktuelle Verzeichnis. Sie sehen es auch in den folgenden ls
Befehlen:
ls -al
total 40348
drwx------ 20 root root 4096 Feb 2 23:05 . <-- there!
drwxr-xr-x 24 root root 4096 Jan 31 20:07 ..
-rw-r--r-- 1 root root 322 Dec 16 17:35 20-revert
Schrägstriche ./
und die symbolischen Links
Wenn Sie das /
an das /
Verzeichnis anhängen, hat dies dieselbe Bedeutung wie das Anhängen von a an einen anderen Verzeichnisnamen. Es wird nur sichergestellt, dass Sie nicht an einer Datei arbeiten. Im Allgemeinen ist dies kein Unterschied in cp
und mv
Befehle, aber Sie werden einen Unterschied sehen, wenn Sie symbolische Links verwenden. Angenommen, diese Struktur:
.
├── a
├── dir1
│ ├── b
│ └── c
├── dir2
│ └── d
└── symlink -> dir2
Dann zeigt eine regelmäßige Auflistung den Link selbst
ls -l symlink
lrwxrwxrwx 1 gert gert 4 Feb 3 12:15 symlink -> dir2
Wenn /
Sie jedoch die Liste anhängen, wird sie in die Liste aufgenommen und der Inhalt angezeigt.
ls -l symlink/
total 0
-rw-rw-r-- 1 gert gert 0 Feb 3 12:15 d
Dies bedeutet , dass , wenn Operationen verwendet wird , ist es eine gute Sache , die anhängen , /
wenn Sie die Inhalte davon beziehen oder Sie wollen kopieren / verschieben in sie durch den Link dereferencing, anstatt ersetzt den Link selbst.
Siehe auch: Nachgestellte Schrägstriche bei symbolischen Links zu Verzeichnissen
Zurück zum Beispiel
In dem Beispiel in Ihrer Frage möchten Sie wirklich nur den Inhalt des Verzeichnisses in das andere verschieben. Also, wie aneeshep betonte , sollten Sie verwenden mv ./* destdir/
. Dies entspricht der mv * destdir/
Shell, die Ihre Shell (Bash) *
standardmäßig aus dem aktuellen Verzeichnis erweitert .
Also würde ich es so ausführen (im Quellverzeichnis):
mv * /etc/apache2/sites-available/