Ln (유닉스)

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

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

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일에 확인함. 

외부 링크


Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!