> cd /tmp
> ln -s foo
> ls -alhF /tmp
lrwxrwxrwx 1 user user 3 Jul 29 14:00 foo -> foo
Czy jest to błąd ln
lub czy istnieje przypadek użycia do dowiązania pliku do siebie?
To jest z coreutils 8.21-1ubuntu5.1
.
To nie jest błąd. Przypadek użycia dotyczy przypadku, gdy chcesz połączyć plik z tą samą nazwą basename, ale w innym katalogu:
cd /tmp
ln -s /etc/passwd
ls -l passwd
lrwxrwxrwx 1 xxx xxx 11 Jul 29 09:10 passwd -> /etc/passwd
Prawdą jest, że kiedy robisz to z nazwą pliku, która znajduje się w tym samym katalogu, tworzy link do siebie, co nie robi wiele dobrego!
Działa to niezależnie od tego, czy używasz dowiązań symbolicznych, czy dowiązań twardych.
ln -s /path/to/file
jest skrótemln -s /path/to/file .
. Skrótls
jest jakls .
.Najłatwiejszym sposobem na znalezienie tego jest oczywiście wypróbowanie go i zobaczenie. Jeśli nie podano drugiego argumentu,
ln
utworzy link w bieżącym katalogu o takiej samej nazwie jak oryginał:Wyjaśnia to również
man ln
:„Drugi formularz” odnosi się do:
źródło