Відповіді:
Це не помилка. Випадок використання призначений для того, коли ви хочете зв'язати файл з тим самим базовим іменем, але в іншому каталозі:
cd /tmp
ln -s /etc/passwd
ls -l passwd
lrwxrwxrwx 1 xxx xxx 11 Jul 29 09:10 passwd -> /etc/passwd
Це правда, що коли ви робите це з іменем файлу, що знаходиться в одному каталозі, він створює посилання на себе, що не приносить багато користі!
Це працює незалежно від того, використовуєте ви посилання або жорсткі посилання.
Найпростіший спосіб дізнатися це, звичайно, - спробувати і побачити. Якщо не вказано другий аргумент, ln
буде створено посилання в поточному каталозі з тим самим іменем, що й оригінал:
$ ln -s /etc
$ ls -l
lrwxrwxrwx 1 terdon terdon 4 Jul 29 16:09 etc -> /etc
Це також пояснюється в man ln
:
У 2-му класі створіть посилання на TARGET у поточному каталозі.
"2-я форма" стосується:
ln [ВАРІАНТ] ... ЦІЛЬ (2 клас)
ln -s /path/to/file
це скороченняln -s /path/to/file .
. Якls
короткий дляls .
.