ln -s가 단일 인수를 허용하는 이유

ln -s가 단일 인수를 허용하는 이유
> cd /tmp
> ln -s foo
> ls -alhF /tmp
lrwxrwxrwx 1 user user    3 Jul 29 14:00 foo -> foo

이것은 버그입니까 ln, 아니면 파일 자체를 심볼릭 링크하는 사용 사례가 있습니까?

이것은 coreutils 8.21-1ubuntu5.1.

답변1

이것은 실수가 아닙니다. 이 사용 사례는 파일을 동일한 기본 이름이지만 다른 디렉터리에 연결하려는 경우에 사용됩니다.

cd /tmp
ln -s /etc/passwd
ls -l passwd
lrwxrwxrwx 1 xxx xxx 11 Jul 29 09:10 passwd -> /etc/passwd

실제로, 동일한 디렉토리에 있는 파일 이름으로 이 작업을 수행하면 자체에 대한 링크가 생성되지만 이는 별로 도움이 되지 않습니다!

이는 심볼릭 링크를 사용하든 하드 링크를 사용하든 상관없이 작동합니다.

답변2

물론, 가장 쉬운 방법은 직접 사용해 보는 것입니다. 두 번째 인수가 제공되지 않으면 ln원래 디렉터리와 동일한 이름을 가진 링크가 현재 디렉터리에 생성됩니다.

$ ln -s /etc
$ ls -l
lrwxrwxrwx 1 terdon terdon         4 Jul 29 16:09 etc -> /etc

이에 대한 설명은 다음과 같습니다 man ln.

두 번째 형식에서는 TARGET에 대한 링크가 현재 디렉터리에 생성됩니다.

"두 번째 형태"는 다음을 의미합니다.

ln [옵션]...target (두 번째 형식)

관련 정보