티스토리 뷰

잉고래의 코딩

리눅스 ln 명령어 이해

잉고래 2013. 4. 27. 07:00

리눅스 ln 명령어 이해

ln 명령어는 지정한 타깃파일의 링크를 만드는 명령어이다.링크는 심볼릭 링크와 하드 링크 두가지 종류로 나뉘는데심볼릭 링크는 영어 symbolic이 의미하듯 상징적인 링크이다.윈도우의 바로가기 처럼 심볼릭 링크를 수정해도 원본 파일에는영향을 미치지 않는다. 대신 하드링크를 걸면 두 개는 동일한파일이라 생각하면 된다. 링크 파일을 수정하면 원본 파일 또한수정된다.좀 더 자세히 알아보도록 하자.

사용법

ln [옵션]... [-T] 타깃 링크_이름 (1번째 모양)

또는: ln [옵션]... 타깃 (2번째 모양)

또는: ln [옵션]... 타깃... 디렉터리 (3번째 모양)

또는: ln [옵션]... -t 디렉터리 타깃... (4번째 모양)

1 - 주어진 링크_이름으로 타깃으로의 링크를 만든다.
2 - 현재 디렉토리에 타깃으로의 링크를 만든다.
3 - 주어진 디렉토리에 타깃으로의 링크를 만든다.
4 - 주어진 디렉토리로 타깃 디렉토리로의 링크를 만든다.

예제

ln -s test.py /usr/bin

실제로 /usr/bin 디렉토리에서 ls -al 명령으로 파일들의 목록을 보면다음과 같이 링크가 걸린 파일들을 볼 수 있다.

lrwxrwxrwx 1 root root 24 3월 28 14:42 telnet -> /etc/alternatives/telnet*

사용법: ln [옵션]... [-T] 타깃 링크_이름 (1번째 모양)

또는: ln [옵션]... 타깃 (2번째 모양)

또는: ln [옵션]... 타깃... 디렉터리 (3번째 모양)

또는: ln [옵션]... -t 디렉터리 타깃... (4번째 모양)

In the 1st form, create a link to TARGET with the name LINK_NAME.

In the 2nd form, create a link to TARGET in the current directory.

In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.

Create hard links by default, symbolic links with --symbolic.

When creating hard links, each TARGET must exist. Symbolic links

can hold arbitrary text; if later resolved, a relative link is

interpreted in relation to its parent directory.

긴 옵션에서 꼭 필요한 인수는 짧은 옵션에도 꼭 필요합니다.

--backup[=CONTROL] make a backup of each existing destination file

-b like --backup but does not accept an argument

-d, -F, --directory allow the superuser to attempt to hard link

directories (note: will probably fail due to

system restrictions, even for the superuser)

-f, --force remove existing destination files

-i, --interactive prompt whether to remove destinations

-L, --logical make hard links to symbolic link references

-n, --no-dereference treat destination that is a symlink to a

directory as if it were a normal file

-P, --physical make hard links directly to symbolic links

-s, --symbolic make symbolic links instead of hard links

-S, --suffix=SUFFIX override the usual backup suffix

-t, --target-directory=DIRECTORY specify the DIRECTORY in which to create

the links

-T, --no-target-directory treat LINK_NAME as a normal file

-v, --verbose print name of each linked file

--help 이 도움말을 표시하고 끝냅니다

--version 버전 정보를 출력하고 끝냅니다

The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.

The version control method may be selected via the --backup option or through

the VERSION_CONTROL environment variable. Here are the values:

Using -s ignores -L and -P. Otherwise, the last option specified controls

behavior when the source is a symbolic link, defaulting to -P.

none, off 백업을 절대로 만들지 않음 (--backup이 주어질지라도)

numbered, t 번호 붙인 백업을 만듬

existing, nil 번호 붙인 백업이 있으면 번호를 매기고, 그렇지 않으면 간략하게

simple, never 항상 간략하게 백업

Report ln bugs to bug-coreutils@gnu.org

GNU coreutils 홈 페이지: <http://www.gnu.org/software/coreutils/>

GNU 소프트웨어 사용에 관련된 전반적인 도움을 얻기: <http://www.gnu.org/gethelp/>

Report ln translation bugs to <http://translationproject.org/team/>

For complete documentation, run: info coreutils 'ln invocation'