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


27
> 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.

답변:


45

버그가 아닙니다. 유스 케이스는 파일을 동일한 기본 이름이지만 다른 디렉토리에 링크하려는 경우입니다.

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

동일한 디렉토리에있는 파일 이름 으로이 작업을 수행하면 많은 일을하지 않는 자체 링크가 생성됩니다!

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


15
그것을 넣는 또 다른 방법 ln -s /path/to/file은 짧습니다 ln -s /path/to/file .. 처럼 ls짧습니다 ls ..
Stéphane Chazelas

3
@ StéphaneChazelas 예, 두 번의 키 입력을 모두 저장하십시오! :-)
Celada

4
동작은 POSIX에 의해 지정되지 않았지만 (GNU, busybox, FreeBSD, Solaris, Ultrix 이상) 상당히 일반적인 것으로 보이며 Unix 첫 번째 버전에서는 이미 -s는 지원되지는 않았습니다. 70 년대 초).
Stéphane Chazelas

9

물론 알아내는 가장 쉬운 방법은 시도해 보는 것입니다. 두 번째 인수가 제공되지 않으면 ln현재 디렉토리에 원래 이름과 동일한 이름으로 링크가 작성됩니다.

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

이것은 또한 설명되어 있습니다 man ln:

두 번째 양식에서 현재 디렉토리에 TARGET에 대한 링크를 작성하십시오.

"제 2 형태"는 다음을 의미합니다 :

ln [OPTION] ... TARGET (2 차 양식)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.