Как создать символическую ссылку на папку с другим именем?

В Ubuntu ошибки сегментации записываются в /var/log/kern.log . Я проверил это, создав программу, которая выполняет segfaults:

void main() {
    int *a=0;
    *a=0;
}

После того, как segfaснилась, в /var/log/kern.log была эта строка:

a.out[534]: segfault at 0 ip 08048432 sp bfaec8c0 error 6 in a.out[8048000+1000]
4
12.04.2019, 20:12
3 ответа

Сначала удалите каталог ~/.pm2/logs, поскольку вашей целью является существующий каталог, внутри которого создается ссылка.

2
27.01.2020, 20:46

Как говорят другие ответы, там уже есть каталог.

Чтобы избежать этого и вместо этого получить сообщение об ошибке -, используйте опцию -T. К сожалению, я не думаю, что это Posix (, это GNU ).

Из руководства Gnu ln(то же самое для cp и mv ).

   ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
   ln [OPTION]... TARGET                  (2nd form)
   ln [OPTION]... TARGET... DIRECTORY     (3rd form)
   ln [OPTION]... -t DIRECTORY TARGET...  (4th form)

Обратите внимание, что форма 1 без -Tнеоднозначна, а форма 3 (имеет два аргумента ).

В Posix вы можете заставить эту не--двусмысленность поместить /в конце имени каталога в форме 3, но я не думаю, что есть что-то, что вы можете сделать наоборот. Вот почему Gnu добавил опцию -T.

6
27.01.2020, 20:46

У вас уже есть каталог по адресу ~/.pm2/logs. Поскольку этот каталог существует, в него помещается символическая ссылка.

Если вы хотите, чтобы ~/.pm2/logsбыла символической ссылкой, а не каталогом, вам придется сначала удалить или переименовать этот существующий каталог.

15
27.01.2020, 20:46

Теги

Похожие вопросы