ln 명령어는 기존 파일에 대한 하드 링크심볼릭 링크를 생성하기 위해 사용되는 표준 유닉스 명령 유틸리티이다.[1] 하드 링크를 사용하면 여러 개의 파일 이름을 동일한 파일에 연결할 수 있으며, 하드 링크는 지정된 파일의 아이노드를 가리키게 되며 데이터는 디스크에 저장된다. 한편, 심볼릭 링크는 이름을 통해 다른 파일들을 가리키는 특수한 파일들이다.[2]

ln
개발자AT&T 벨 연구소
발표일1971년 11월 3일(52년 전)(1971-11-03)
운영 체제유닉스, 유닉스 계열
종류명령어

ln 명령어는 기본적으로 하드 링크를 생성하며 명령 줄 변수 ln '-s'로 호출할 때 심볼릭 링크를 생성한다.[3] 대부분의 운영 체제디렉터리에 대한 하드 링크 생성을 금지하는데, 이러한 기능은 파일 시스템의 구조를 파괴하여 다른 유틸리티의 동작에 간섭을 줄 수 있기 때문이다.[4] 그러나 ln 명령어는 기존에 존재하지 않는 파일에 대한 심볼릭 링크를 생성하기 위해 사용할 수 있다.[2]

사양 편집

단일 유닉스 규격을 준수하는 시스템 상의 ln 유틸리티는 SUS의 일부를 형성하는 셸과 유틸리티(XCU) 문서에 명시되어 있다.[5][6]

이 사양은 ln 유틸리티를 호출하는 2가지 방법을 기술한다.[7] 더 구체적으로 말해,

하나의 파일을 호출할 때 ln 유틸리티는 target_file 연산자에 의해 지정된 목적 경로에서 source_file 연산자에 의해 지정된 소스 파일에 대한 새로운 하드 링크(디렉터리 엔트리)를 생성한다. 그러나 -s 옵션이 지정되면 심볼릭 링크를 생성한다.
ln [-fs] [-L|-P] source_file target_file
여러 개의 파일을 호출할 때 ln 유틸리티는 새로운 하드 링크를 만들지만(Directory entry) -s 옵션을 지정하면 심볼릭 링크를 생성한다. 이는 target_dir 연산자에 의해 명명된 기존의 디렉터리의 목적 경로에서 source_file 연산자에 의해 지정된 각 파일을 대상으로 한다.
ln [-fs] [-L|-P] source_file_1 source_file_2 ... target_dir

같이 보기 편집

각주 편집

  1. Kernighan, Brian W.; Pike, Rob (1984). 《The Unix programming environment.》. Englewood Cliffs, N.J.: Prentice-Hall. 59쪽. ISBN 013937681X. 
  2. “GNU Coreutils: ln invocation”. 《gnu.org》. Free Software Foundation, Inc. 2015년 8월 7일에 확인함. 
  3. “ln - The Open Group Base Specifications Issue 7”. 《pubs.opengroup.org》. The IEEE and The Open Group. 2015년 8월 7일에 확인함. 
  4. “Why are hard links not allowed to directories in UNIX/Linux?”. 《unix.stackexchange.com》. 2015년 8월 7일에 확인함. 
  5. “The Single UNIX Specification, Version 4 - Overview”. 《unix.org》. unix.org. 2018년 1월 15일에 원본 문서에서 보존된 문서. 2015년 8월 7일에 확인함. 
  6. “Shell & Utilities: Detailed Toc”. 《pubs.opengroup.org》. The IEEE and The Open Group. 2015년 8월 7일에 확인함. 
  7. “ln”. 《pubs.opengroup.org》. The IEEE and The Open Group. 2015년 8월 7일에 확인함. 

외부 링크 편집