| HOME / 정보공유 / AIX 명령어 모음

ln
ln ln 명령 목적 파일을 링크합니다. 구문
파일이 파일에 링크되는 방법
ln [ -f ] [ -s ] SourceFile [ TargetFile ]
파일이 디렉토리에 링크되는 방법
ln [ -f ] [ -s ] SourceFile ... TargetDirectory
설명
ln 명령은 SourceFile 매개변수에 지정된 파일을 TargetFile 매개변수로 지정된 파일이나 TargetDirectory 매개변수로 지정된 다른 디렉토리의 같은 파일 이름으로 링크합니다. 디폴트로, ln 명령은 하드 링크를 작성합니다. ln 명령을 사용하여 심볼 링크를 작성하려면, -s 플래그를 지정하십시오.
심볼 링크는 파일로의 간접적인 포인터입니다. 디렉토리 항목에는 링크된 파일의 이름이 들어 있습니다. 심볼 링크는 파일시스템을 분산하고 디렉토리를 참조할 수 있습니다.
한 파일을 하나의 새 이름에 링크하고 있다면, 하나의 파일만을 나열할 수 있습니다. 디렉토리에 링크하고 있다면, 둘 이상의 파일을 나열할 수 있습니다.
TargetFile 매개변수는 선택적입니다. 목표 파일을 지정하지 않으면, ln 명령은 새 파일을 현재 디렉토리에 작성합니다. 새 파일은 SourceFile 매개변수에 지정된 파일의 이름을 상속합니다. 예제 5를 참조하십시오.
주:
-s 플래그를 사용하지 않고 파일시스템간에 파일을 링크할 수 없습니다.
TargetDirectory가 이미 디렉토리로의 심볼 링크인 경우, ln 명령이 기존의 대상을 하나의 파일로 처리합니다. 이것은 ln -fs somepath/lname symdir과 같은 명령이 기존의 symdir의 심볼 링크를 따르지 않는 대신, somepath/lname에서 symdir로 새로운 심볼 링크를 작성한다는 것을 의미합니다.
플래그
-f ln 명령이 기존의 대상 경로를 대체하도록 합니다. 목적지 경로가 이미 존재하고 -f 플래그가 지정되지 않으면, ln 명령은 새로운 링크를 작성하지 않고 표준 오류에 진단 메세지를 기록하고 남아있는 SourceFiles를 계속해서 링크합니다.
-s ln 명령이 심볼 링크를 작성하도록 합니다. 심볼 링크에는 링크될 파일의 이름이 있습니다. 링크에서 열기 조작이 수행될 때 참조된 파일이 사용됩니다. 심볼 링크에서의 stat 호출은 링크 상대(linked-to) 파일을 리턴합니다. lstat 호출을 수행하여 해당 링크에 대한 정보를 확보해야 합니다. readlink 호출을 사용하여 심볼 링크의 내용을 읽을 수도 있습니다. 심볼 링크는 파일시스템에서 분산되며 디렉토리를 참조할 수도 있습니다.
주: -s 플래그에 대한 SourceFile 매개변수를 지정할 때 절대 경로 이름을 사용해야 합니다. 절대 경로 이름이 지정되지 않은 경우, SourceFile 및 TargetFile 매개변수가 서로 다른 디렉토리에 위치하면 예기치 않은 결과가 발생할 수도 있습니다. 심볼 링크를 작성하기 전에 소스 파일이 존재할 필요는 없습니다.
종료 상태
이 명령은 다음과 같은 종료 값을 리턴합니다.
0 지정된 모든 파일이 성공적으로 링크되었습니다.
>0 오류가 발생했습니다.
예제
파일에 다른 링크(별명)를 작성하려면, 다음을 입력하십시오.
ln -f chap1 intro
chap1을 새로운 이름 intro로 링크합니다. intro가 아직 존재하지 않으면, 파일 이름이 작성됩니다. intro가 존재하면, 파일은 chap1에 대한 링크로 대체됩니다. 그러면 chap1 및 intro 파일 이름 모두가 같은 파일을 참조하게 됩니다. 하나의 파일을 변경하면 다른 파일에도 그 변경사항이 나타납니다. rm 명령으로 한 파일 이름을 삭제할 경우 해당 파일은 다른 이름으로 남아 있으므로 완전하게 삭제되지 않습니다.
파일을 다른 디렉토리 내의 동일한 이름에 링크하려면, 다음을 입력하십시오.
ln index manual
index을 새로운 이름 manual/index로 링크합니다.
주: 예제 1의 intro는 파일의 이름이고 예제 2의 manual은 기존의 디렉토리입니다.
몇 개의 파일을 다른 디렉토리의 이름에 링크하려면, 다음을 입력하십시오.
ln chap2 jim/chap3 /home/manual
chap2를 새로운 이름 /home/manual/chap2로 링크하고 jim/chap3을 /home/manual/chap3으로 링크합니다.
패턴-대응 문자와 함께 ln 명령을 사용하려면 다음을 입력하십시오.
ln manual/* .
manual 디렉토리 내의 모든 파일이 현재 디렉토리 .에 링크되며, 현재 디렉토리의 파일에는 manual 디렉토리 내의 파일과 동일한 이름이 생깁니다.
주: 별표와 마침표 사이에 공백을 입력해야 합니다.
심볼 링크를 작성하려면, 다음을 입력하십시오.
ln -s /tmp/toc toc
심볼 링크 toc를 현재 디렉토리에 작성합니다. toc 파일은 /tmp/toc 파일을 지시합니다. /tmp/toc 파일이 존재하는 경우, cat toc 명령은 내용을 나열합니다.
TargetFile 매개변수를 지정하지 않고 동일한 결과를 내려면, 다음을 입력하십시오.
ln -s /tmp/toc
파일
/usr/bin/ln ln 명령이 들어 있습니다.
관련 정보
cp 명령, mv 명령, rm 명령.
link 서브루틴, readlink 서브루틴, stat 서브루틴, symlink 서브루틴.