Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

codingfarm

ln 본문

Linux/기본명령어

ln

scarecrow1992 2020. 10. 31. 21:46

manpages.ubuntu.com/manpages/focal/en/man1/ln.1posix.html

  • 링크를 생성한다.
  • 옵션
    • -s : 심벌릭 링크 파일을 생성한다.
ln test lntest
ln -s test lntest

 

 

하드링크 만들기 : -l 옵션

  • 리눅스에서는 하드링크 기능으로 파일에 여러개의 이름을 붙일 수 있다.
  • 이때 붙이는 파일명을 하드링크라 한다.

  • ln 명령으로 실행파일 a.out의 하드링크인 a_ln.out을 만들었다.

  • a.out과 a_ln.out의 inode값이 같은것을 볼 수 있다.
  • 3번째 열의 숫자가 1에서 2로 바뀌었음을 확인하라.
  • 결국 a.out과 a_ln.out은 이름만 다르지 같은 파일이다.

 

  • cp 명령어로 완전 독립적으로 복제하는 것과는 달리 심벌릭 링크는 원본 파일이 변경되면 모든 링크들의 내용또한 바뀌게 된다.

  • text1 파일의 내용이 바뀌자 하드링크인 text2 파일의 내용또한 바뀐것을 확인할 수 있다.

  • rm 명령으로 하드링크를 지우자 숫자가 1 줄어든것을 확인 할 수 있다.
  • 원본 파일이나 하드링크로 새로 만든 파일을 삭제하면 하드 링크의 개수가 줄어듬을 확인 할 수 있다.
  • rm 명령은 사실 하드링크값을 줄여나가는 것이며, 이 값이 0이 되면 그때서야 해당 inode와 데이터 블록의 데이터가 삭제된다.

 

 

심벌릭 링크 만들기 : -s

  • 윈도의 바로가기처럼 원본 파일을 가리키는 파일이다.

  • 하드링크와는 달리 inode의 값이 다르다
  • 하드링크의 개수가 증가하지 않는다. 즉 원본파일에 이름을 추가하는 것이 아니다.
  • 파일명 뒤에 원본파일명이 표시된다.
  • 파일의 종류가 l로 표시된다.
  • 파일의 크기가 5로 나온다.
    • 원본 파일(text1) 경로의 길이를 나타내며 심벌릭 링크를 생성할 때 지정한 경로가 저장된다.
  • 하드링크와 마찬가지로 심벌릭 링크 내용을 수정하면 원본 파일도 수정된다.

 

하드 링크 심벌릭 링크
같은 파일 시스템에 있는 파일에만 생성 가능
디렉터리는 하드링크의 생성이 불가능하다.
다른 파일 시스템에 있는 파일도 생성 가능
디렉터리도 생성 가능
원본 파일 삭제시 심벌릭 링크로 연결 불가

  • 원본 파일인 text1이 삭제되어 text2를 읽으려 하면 오류 메시지가 나온다.

 

 

 

 

 

 

 

'Linux > 기본명령어' 카테고리의 다른 글

grep  (0) 2020.10.31
touch  (0) 2020.10.31
rm  (0) 2020.10.31
mv  (0) 2020.10.31
cp  (0) 2020.10.31
Comments