입력(유닉스)
ln (Unix)![]() 사용 예 ln 효용. | |
원저작자 | AT&T 벨 연구소 |
---|---|
개발자 | 다양한 오픈 소스 및 상용 개발자 |
초기 릴리즈 | 1971년 11월 3일, | 전(
운영 체제 | Unix, Unix 계열, IBM i |
플랫폼 | 크로스 플랫폼 |
유형 | 명령어 |
면허증. | 코어 유틸리티: GPLv3+ |
이 명령어는 기존 파일 또는 [1]디렉토리에 대한 하드링크 또는 심볼릭링크(symlink)를 작성하기 위해 사용되는 표준 Unix 명령어 유틸리티입니다.하드 링크를 사용하면 하드 링크는 데이터가 디스크에 저장되어 있는 특정 파일의 inode를 가리키기 때문에 여러 파일 이름을 동일한 파일에 연관지을 수 있습니다.반면 심볼릭 링크는 다른 파일을 [2]이름으로 참조하는 특수 파일입니다.
그ln
디폴트로는 명령어는 하드링크를 만듭니다.명령줄 파라미터로 호출하면 ln -s
는 심볼릭링크를 [3]만듭니다.대부분의 운영 체제에서는 디렉터리에 대한 하드 링크가 생성되지 않습니다. 이러한 기능은 파일 시스템의 구조를 방해하고 다른 [4]유틸리티의 작동을 방해할 수 있기 때문입니다.그ln
그러나 존재하지 않는 [2]파일에 대한 심볼릭링크를 작성하기 위해 명령어를 사용할 수 있습니다.
역사
ln은 X/Open Portability [5]Guidelines 제2호에 기재되어 있습니다.의 버전ln
GNUcoreutils에 번들된 는 마이크 파커와 데이비드 맥켄지에 [6]의해 작성되었습니다.이 명령어는 일반적인 GNU Unix 유사 [7]유틸리티의 nativeWin32ports UnxUtils 컬렉션의 일부로 Microsoft Windows용 별도의 패키지로 사용할 수 있습니다.그ln 명령어는 IBM i 운영 [8]체제에도 이식되었습니다.
링크
링크를 사용하면 여러 파일명을 하드링크와 같은 파일로 참조하거나 소프트링크와 같이 파일명에 대한 포인터로서 기능할 수 있습니다.하드 링크와 소프트 링크는 모두,ln
명령어를 입력합니다.구체적으로는
- 하드 링크(단순히 링크라고도 함)는 파일 이름을 inode에 연관짓는 객체이며, 따라서 파일 내용 [1]자체를 지원합니다.디스크상의 파일은 디렉토리 계층에 분산되어 있는 복수의 링크를 가질 수 있습니다.이러한 링크는 모두 같은 inode에 [9]관련지어지기 때문에 모든 링크가 동등합니다.따라서 링크를 생성해도 파일 내용이 복사되지 않고 다른 이름이 동일한 내용과 관련지어질 뿐입니다.하드 링크가 생성될 때마다 inode 구조의 일부인 링크카운터가 증가합니다.파일은 참조 카운트가 [1][10]0이 될 때까지 삭제되지 않습니다.단, 하드링크는 같은 파일시스템에만 작성할 수 있습니다.이것은 [11]단점이 될 수 있습니다.
- 심볼릭 링크는 경로 이름 확인 중에 발견된 경우 심볼릭 링크가 포함된 위치로 경로 이름 확인을 수정하는 특수 파일입니다.따라서 심볼릭 링크의 내용은 수신처 경로 문자열이며, 이 문자열은 다음 명령을 사용하여 확인할 수도 있습니다.
readlink
커맨드 라인 유틸리티.[12]심볼 링크는 기존 파일의 위치를 참조하지 않는 임의의 문자열을 포함할 수 있습니다.이러한 심볼릭 링크는 심볼릭링크에 포함된 위치에 파일이 생성될 때까지 실패합니다.반면 기존 파일을 다른 위치로 이동하거나 이름을 [9]바꾸면 기존 파일에 대한 심볼 링크가 실패합니다.
사양
그ln
싱글 유닉스 사양에 준거한 시스템의 유틸리티는, 싱글 유닉스 [13]사양의 일부를 구성하는 Shell and Utilities(XCU) 문서에 기재되어 있습니다.거의 동일한 문서는 [5]POSIX의 일부입니다.
이 사양에서는, 다음의 2개의 방법으로,ln
효용.구체적으로는
- "single file" 호출에서는
ln
유틸리티는 오퍼랜드에 의해 지정된 소스 파일의 새로운 하드링크(디렉토리 엔트리)를 오퍼랜드에 의해 지정된 수신처 경로에 만듭니다.다만,-s
옵션을 지정하면 심볼릭링크가 생성됩니다. ln [ - fs ][ - L - P ]source _ file target _ file
- "복수 파일" 호출에서는
ln
유틸리티가 새로운 하드링크(디렉토리 엔트리)를 작성하거나-s
옵션은 오퍼랜드에 의해 지정된 각 파일에 대해 오퍼랜드에 의해 명명된 기존 디렉토리의 수신처 경로에 심볼릭링크를 지정합니다. ln [ - fs ][ - L - P ]source _ file _ 1 source _ file _ 2 ... target _ dir
- "single file" 호출에서는
이 사양에서는 지원해야 하는 명령줄 옵션도 지정합니다.
-f
링크를 허용하려면 기존 수신인 경로 이름을 강제로 제거합니다.-L
심볼릭 링크인 파일에 이름을 붙이는 오퍼랜드별로 심볼릭링크에 의해 참조되는 파일에 대한 하드링크를 만듭니다.-P
심볼릭 링크인 파일에 이름을 붙이는 오퍼랜드별로 심볼릭링크 자체에 대한 (하드)링크를 만듭니다.-s
하드 링크 대신 심볼릭 링크를 만듭니다.-s 옵션을 지정하면 -L 및 -P 옵션은 자동으로 무시됩니다.- 둘 이상의 상호 배타적 옵션이 있는 경우
-L
그리고.-P
is specified last 옵션을 지정하면 유틸리티 동작이 결정됩니다. - 이 경우,
-s
옵션이 지정되어 있지 않으며,-L
아무것도 아니다-P
옵션이 지정되고 구현은 다음 중 어느 것을 정의한다.-L
그리고.-P
옵션은 기본값으로 사용됩니다.
타겟 파일도 타겟디렉토리도 지정되어 있지 않은 경우, 현재의 작업 디렉토리에 링크가 작성됩니다.
「 」를 참조해 주세요.
레퍼런스
- ^ a b c Kernighan, Brian W.; Pike, Rob (1984). The Unix programming environment. Englewood Cliffs, N.J.: Prentice-Hall. p. 59. ISBN 013937681X.
- ^ a b "GNU Coreutils: ln invocation". gnu.org. Free Software Foundation, Inc. Retrieved 7 August 2015.
- ^ "ln - The Open Group Base Specifications Issue 7". pubs.opengroup.org. The IEEE and The Open Group. Retrieved 7 August 2015.
- ^ "Why are hard links not allowed to directories in UNIX/Linux?". unix.stackexchange.com. Retrieved 7 August 2015.
- ^ a b 단일 UNIX 사양, The Open Group 버전 4 – 셸 및 유틸리티 레퍼런스,
- ^ Linux 일반 명령어 매뉴얼 –
- ^ "Native Win32 ports of some GNU utilities". unxutils.sourceforge.net.
- ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). IBM. Retrieved 2020-09-05.
- ^ a b Loosemore, Sandra; Stallman, Richard M.; McGrath, Roland; Oram, Andrew; Drepper, Ulrich. The GNU C Library Reference Manual (PDF). Free Software Foundation, Inc. p. 392. Retrieved 7 August 2015.
- ^ "Speaking UNIX: It is all about the inode". ibm.com. IBM developerWorks. Retrieved 7 August 2015.
- ^ Bovet, Daniel P.; Cesati, Marco (2005). Understanding the Linux Kernel (3rd ed.). Boston, MA: Safari Tech Books Online. p. 14. ISBN 0596005652.
- ^ "readlink(1) - Linux man page". linux.die.net. Retrieved 7 August 2015.
- ^ "The Single UNIX Specification, Version 4 - Overview". unix.org. unix.org. Retrieved 7 August 2015.
외부 링크
