Про .
У 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/