Что означает ./?

7

Что означает ./ ?

Например: означает ли следующая команда: перемещать файлы из папки Gapache2 в sites-available :

root@ip-10-112-55-203:/etc/mds-1.2-beta4/sana/config/etc/Gapache2# mv ./ /etc/apache2/sites-available

Если это не так, как это нужно изменить?

Я попытался получить что-то из Google Search. Но ./ игнорируется поисковыми системами.

    
задан ZenOut 03.02.2013 в 07:42
источник

2 ответа

10

В Unix / linux . означает текущий каталог в вашем случае /etc/mds-1.2-beta4/sana/config/etc/Gapache2 . Есть также множество ярлыков, например:

  • .. : родительский каталог ( /etc/mds-1.2-beta4/sana/config/etc/ )
  • ~ : домашняя папка

Итак, чтобы переместить все папки и файлы из /etc/mds-1.2-beta4/sana/config/etc/Gapache2 в /etc/apache2/sites-available , команда будет выглядеть как

mv ./* /etc/apache2/sites-available/

ОБНОВЛЕНИЕ: Эта ссылка является хорошим ресурсом для основных команд UNIX

    
ответ дан aneeshep 03.02.2013 в 07:50
источник
3

О .

В 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

Это означает, что при использовании операций полезно добавить / , если вы ссылаетесь на его содержимое или хотите скопировать / переместить в , разыменовывая ссылку, скорее чем замена самой ссылки.

См. также: Обратные косые черты символических ссылок на каталоги

Вернемся к примеру

В примере вашего вопроса вы действительно хотите только перемещать содержимое содержимого каталога в другое. Итак, как указал aeeshep , вы должны использовать mv ./* destdir/ . Это совпадает с mv * destdir/ , так как ваша оболочка (Bash) по умолчанию расширяет * из текущего каталога.

Итак, я бы запускал его так (в исходном каталоге):

mv * /etc/apache2/sites-available/
    
ответ дан gertvdijk 03.02.2013 в 11:20
источник

Ознакомьтесь с другими вопросами по меткам