파일 링크
- 파일 링크는 기존에 있는 파일에 새로운 파일명을 붙이는 것.
- 복잡한 디렉터리 계층 구조를 포함 파일명이 복잡할 경우
짧은 줄인 다름 이름을 붙여서 간단하게 사용할 때 유용.
- 하드 링크와 심벌릭 링크가 있음.
-> 하드 링크 : 기존 파일에 새로운 파일명을 추가로 생성하는 것.
-> 심벌릭 링크 : 원본 파일을 가리키는 새로운 파일을 만듬(Windows의 바로가기 기능과 같다고 보면 됨)
리눅스 파일의 구성
- 리눅스에서 파일은 '파일명 + inode + 데이터 블록' 으로 구성.
-> 파일명 : 사용자가 파일에 접근할 때 사용하는 파일의 이름
-> inode : 파일에 관한 정보를 가지고 있는 특별한 구조체로서,
외부적으로는 번호로 표시,
내부적으로는 파일의 종류 및 크기, 소유자, 파일 변경 시간, 파일명 등 상세정보와 데이터 블록의 주소가 저장.
※ 'ls -l' 명령으로 출력되는 정보가 사실 inode에 저장되어 있는 파일 상세 정보임.
-> 파일의 inode 번호는 'ls -i'명령으로 확인 가능(파일 명 앞에 출력된 숫자가 inode번호)
-> 파일 이름은 다르지만 inode번호가 같다면 같은 파일
- 경로 설정시 '절대 경로' 로 설정 해야함.... |
하드 링크 만들기
ln |
- 기능 : 파일의 링크를 생성 - 형식 : ln [옵션] 원본파일명 링크파일명 - 옵션 : -s => 심벌릭 링크를 생성함. - 사용 예 : ln test lntest, ln -s lntest ex) user@ubuntu:~/ch2$ ls -l -rw-r--r-- 1 user user 223 1월12일 10:00 test user@ubuntu:~/ch2$ ln test test_ln user@ubuntu:~/ch2$ ls -l -rw-r--r-- 2 user user 223 1월 12일 10:00 test -rw-r--r-- 2 user user 223 1월 12일 10:00 test_ln user@ubuntu:~/ch2$ - inode와 연결된 파일명이 하나일 때는 1이지만 새로운 하드링크가 생성되었으므로 2로 바뀜. - ls -i로 파일의 inode값을 비교해보면 같은 것을 확인 ex) user@ubunut:~/ch2$ ls -i 1055628 test 1055628 test_ln user@ubunut:~/ch2$ |
- 하드 링크는 같은 파일에 이름만 다르게 붙이는 것. - 복사는 완전히 독립적인 파일을 만드는 것. - 하드 링크로 만들 파일을 수정하게 되면 원본 파일의 내용도 수정되어있음. - inode 번호가 다르다면 서로 다른 파일 - 원본 파일이나 하드 링크로 새로 만든 파일을 삭제하면 하드 링크의 개수가 줄어듬. - 삭제되고 남은 파일명으로 계속 사용 가능. - 'rm'명령은 정확하게 말하면 하드 링크 값을 하나씩 줄이는 것. - 이 값이 0이 되어서야 해당 inode와 데이터 블록의 데이터를 삭제하는 것. |
심벌릭 링크 : -s 옵션
ln -s |
- 심벌릭 링크는 Windows의 바로가기처럼 파일을 가리키는 파일 - 심벌릭 링크의 inode 를 보면 원본 파일과 다름. - 'ls -l' 명령으로 확인해보면 파일 종류가 'l(소문자 L)'로 표시. - 파일명도 '->'를 사용하여 원본파일이 무엇인지 알려줌. - 파일의 크기가 5로 나오는 경우(크기가 5라는 것은 원본 파일 경로의 길이임.) - 원본 파일의 경로는 'ln -s' 명령으로 심벌릭 링크를 생성할 때 지정한 경로가 저장됨. - 하지만 심벌릭 링크의 내용을 출력하면, 원본 파일의 경로가 출력되는 것이 아닌 원본파일의 내용이 출력. - 심벌릭 링크를 열고 수정하면 원본 파일이 수정됨. 특징 - 파일 종류가 l(소문자 L)로 표시 - 하드 링크의 개수가 하나. 즉, 원본 파일에 이름을 추가한 것이 아님. - 파일 이름 뒤에 원본 파일의 이름이 표시(-> test) - inode 번호가 원본 파일과 다름. 즉, 원본 파일과 심벌릭 링크 파일은 별개의 파일 |
심벌릭 링크가 하드 링크에 비해 탁원한 점
- 하드 링크는 디렉터리에 생성할 수 없고 다른 파일 시스템에 생성할 수 없음.
- 심벌릭 링크는 디렉터리에도 지정할 수 있고, 파일 시스템이 달라도 생성할 수 있다는 것.
- 심벌릭 링크는 원본 파일이 삭제되면 심벌릭 링크로 연결할 수 없다는 점 주의.
'OS > Linux - Ubuntu' 카테고리의 다른 글
[Linux - 리눅스 / Ubuntu - 우분투] 디렉터리와 파일 요약 (0) | 2015.01.13 |
---|---|
[Linux - 리눅스 / Ubuntu - 우분투] 파일 유용한 명령어(touch, grep, find, whereis, which) (0) | 2015.01.13 |
[Linux - 리눅스] 파일 명령 사용법 등 파일 다루기 - cat, more, less, tail, cp, mv, rm (0) | 2015.01.03 |
[Linux - 리눅스] 디렉터리 사용 명령 및 구조 - pwd, cd, ls, mkdir, rmdir (0) | 2015.01.03 |
[Linux - 리눅스] 리눅스 파일, 디렉터리 종류 및 특징 (0) | 2015.01.02 |