[linux] inode, 하드링크, 소프트링크 / [명령] ls

markyang92·2021년 6월 12일
0

linux (ubuntu/debian)

목록 보기
12/37
post-thumbnail

inode

  • i-node: 파일의 고유번호
  • 디렉토리 또한 파일로 i-node를 가진다.
  • 파일에 대한 각종 메타 정보를 가지고 있다.
  • 파일은: 1)파일 이름 2)아이 노드 3) 데이터 블록 을 가지고 있다.
  • 아이노드가 참조 0이되면 최종 삭제된다.

하드링크

$ ln [원본] [하드링크 파일 명]
  • cp와 혼동하면 안된다!!
  • 같은 아이노드를 가진 복사본이라 생각하자!!
  • 하나수정하면 하드링크도 수정된다!!
  • 원본이 지워져도 상관 없다!!
  • nums of refered link 가 0이 되면 최종 사라짐

  1. hello_originalfile 파일을 생성


  1. hd link을 만들어보자!
$ ln hello_originalfile hello_hdlnkfile

2-1. hard link된 파일은 같은 inode를 가진, 같은 size를 가진 파일이 된다.


  1. hd link 두 파일(같은 inode를 가진) 을 수정해본다.
    3-1. hd-linked file 수정


    3-2. origin file 확인
    origin file도 수정되었다.

  1. stat 명령을 이용해 자세하게 알아보자.

소프트링크

  • 소프트링크(symbolic link), 바로가기라 생각
  • ★★★★아이노드 다름★★★★★★!!
  • 원본이 바뀌면 soft link파일도 변경됨(바로가기 니까)


  • original file삭제되거나 이동하면 소프트링크는 내용이 깨진다.
    • original 파일이 삭제되면 소프트링크 파일은 깨진다.
    • original 파일이 이동하면 original 파일 위치를 가지고 있던게 깨져서 소프트링크 파일은 깨진다.

ls

  • 조회 명령
ls optiondescription
-h파일의 크기를 human readable하게 보여줌
-i아이노드 조회
-R하위 디렉토리까지 재귀적으로 보여줌

-i: 아이노드 조회


* 사용

profile
pllpokko@alumni.kaist.ac.kr

0개의 댓글