티스토리 뷰
출처 : http://opennote46.tistory.com/120
POSIX 호환 운영 체제에서 심볼릭 링크는 symlink
시스템 호출을 사용하여 만든다. ln이라는 셸 명령은 보통 하드 링크를 만들어내는 link
라는 시스템 호출을 사용한다. ln -s
플래그가 지정되면 symlink()
시스템 호출이 대신 사용되면서 심볼릭 링크를 만들어낸다. 심링크는 U.C. 버클리의 4.2BSD 유닉스에 도입되었다.
다음의 명령은 명령 줄 인터페이스 (셸)에서 심볼릭 링크를 만들어낸다:
ln -s [대상 경로] [링크 경로]
대상 경로는 심볼릭 링크가 가리키는 상대 경로나 절대 경로이다. 일반적으로 대상은 존재하지만 심볼릭 링크는 존재하지 않는 대상을 가리키는데 사용할 수도 있다. 링크 경로는 심볼릭 링크의 경로이다.
심볼릭 링크를 만들면 이 링크는 대상에 대한 별명(alias)으로 취급되는 것이 보통이다. cp, rm 따위의 시스템 관리 명령들은 심볼릭 링크에 사용할 수 있다. 읽고 쓰는 명령을 사용하면 대상 파일의 내용에 접근하게 된다. 그러나 파일을 지우는 rm 명령은 대상 파일이 아닌 링크 그 자신을 제거한다.
긴 디렉터리 보기 옵션 (-l)과 함께 POSIX의 디렉터리를 나열하는 프로그램 ls을 사용하면 심볼릭 링크가 이름 뒤의 화살표를 통해 가리키고 있음을 볼 수 있다. (아래의 예제 참고) 디렉터리를 가리키는 심볼릭 링크의 디렉터리 나열을 요청하면 링크 그 자체만 표시된다. 링크된 디레터리를 나열하려면 경로 뒤에 / 구분 문자를 추가하여야 한다.
$ mkdir -p /tmp/one/two $ echo "test_a" >/tmp/one/two/a $ echo "test_b" >/tmp/one/two/b $ cd /tmp/one/two $ ls -l -rw-r--r-- 1 user group 7 Jan 01 10:01 a -rw-r--r-- 1 user group 7 Jan 01 10:01 b $ cd /tmp $ ln -s /tmp/one/two three $ ls -l /tmp/three lrwxrwxrwx 1 user group 12 Jul 22 10:02 /tmp/three -> /tmp/one/two $ ls -l /tmp/three/ -rw-r--r-- 1 user group 7 Jan 01 10:01 a -rw-r--r-- 1 user group 7 Jan 01 10:01 b $ cd three $ ls -l -rw-r--r-- 1 user group 7 Jan 01 10:01 a -rw-r--r-- 1 user group 7 Jan 01 10:01 b $ cat a test_a $ cat /tmp/one/two/a test_a $ echo "test_c" >/tmp/one/two/a $ cat /tmp/one/two/a test_c $ cat /tmp/three/a test_c
'Linux' 카테고리의 다른 글
리눅스 삭제된 파일 복구 (0) | 2015.06.02 |
---|---|
Linux I/O 스케줄러의 종류 와 운영환경에 따른 최적화 방법 (1) | 2015.05.28 |
gcc 업데이트 (0) | 2015.05.20 |
Kickstart file analysis (0) | 2015.03.31 |
리눅스 기본 port number (0) | 2015.03.26 |