В UNIX / Linux . означает текущий каталог. Вы также увидите его в списке команд ls:
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
При добавлении к нему / это то же значение, что и добавление / к любому другому имени каталога. Он просто убедится, что вы не работаете с файлом. Как правило, это не будет отличием в командах cp и mv, но вы увидите разницу, когда используете символические ссылки. Предположим, что эта структура:
.
├── a
├── dir1
│ ├── b
│ └── c
├── dir2
│ └── d
└── symlink -> dir2
Затем в регулярном листинге будет отображаться сама ссылка
ls -l symlink
lrwxrwxrwx 1 gert gert 4 Feb 3 12:15 symlink -> dir2
, но добавление / приведет к тому, что список перейдет в нее и покажет содержимое .
ls -l symlink/
total 0
-rw-rw-r-- 1 gert gert 0 Feb 3 12:15 d
Это означает, что при использовании операций полезно добавить /, если вы ссылаетесь на его содержимое или хотите скопировать / переместить в него путем разыменования ссылки,
См. также: Обратные косые черты символических ссылок на каталоги
В примере в вашем вопросе вы действительно хотите только переместить в каталога в другой. Итак, Принудительные слэши на символических ссылках на каталоги , вы должны использовать mv ./* destdir/. Это совпадает с mv * destdir/, так как ваша оболочка (Bash) по умолчанию расширяет * из текущего каталога.
Итак, я бы запускал ее так (в исходном каталоге):
mv * /etc/apache2/sites-available/