inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

리눅스 시스템 프로그래밍 - 이론과 실습

하드링크와 소프트링크

하드링크와 소프트링크 설명하시는 그림 예제에서

197

꿀렁꿀렁

작성한 질문수 11

2

그림상으로 봤을때, 소프트링크의 inode 가 빨간색 디스크 파일을 가리켜야 하는게 맞지 않을까요?

파란색 파일을 가리키도록 도안이 그려져 있어서 문의드려봅니다.

linux

답변 1

1

런잇(ProgCoach4U)

제가 그린 대로, 소프트링크의 inode는 별도의 파일로 저장되는 것(파란색)이 맞습니다. 소프트링크는 자신이 가리켜야 할 대상 파일의 경로를 파일 내부에 저장하고 있습니다.

progcoach4u@ubuntu-vm:tmp$ touch origin
progcoach4u@ubuntu-vm:tmp$ ln origin hard
progcoach4u@ubuntu-vm:tmp$ ln -s hard soft
progcoach4u@ubuntu-vm:tmp$ ln -s origin soft2
progcoach4u@ubuntu-vm:tmp$ ls -ali
total 8
395873 drwxr-xr-x  2 progcoach4u progcoach4u 4096  9월 16 16:11 .
394288 drwxr-xr-x 34 progcoach4u progcoach4u 4096  9월 16 16:11 ..
403619 -rw-r--r--  2 progcoach4u progcoach4u    0  9월 16 16:05 hard
403619 -rw-r--r--  2 progcoach4u progcoach4u    0  9월 16 16:05 origin
411449 lrwxrwxrwx  1 progcoach4u progcoach4u    4  9월 16 16:05 soft -> hard
395869 lrwxrwxrwx  1 progcoach4u progcoach4u    6  9월 16 16:11 soft2 -> origin
progcoach4u@ubuntu-vm:tmp$ 

첫번째 컬럼의 inode 값 유심히 보시면 원본과 hardlink 파일은 inode 값이 같고, softlink 파일들의 inode는 각기 다릅니다. 소프트링크의 파일 크기를 보시면 4와 6 입니다. 각각 대상 파일인 "hard"와 "origin"을 파일 내용으로 저장하고 있기 때문입니다.

기술적 의심을 갖는 것이 좀 더 확실한 이해를 돕는 방법인 것 같아요. 좋은 질문 주셨습니다~ :)

inotify 객체에 등록된 watch descriptor 해제 관련 질문

0

37

2

select API 실습 코드 질문

0

41

2

wsl에서 fcntl사용

0

73

2

inotify_event 구조체 질문 [파일 이벤트 - 라이브 프로그래밍]에서...

0

180

2

./stat 파일이름

0

273

2

fopen r, r+모드 차이

0

460

2

강의를 모두 수강하고 스스로 구현하면 좋을 과제나 프로젝트 주제가 있을까요?

0

326

1

pthread 질문

0

419

2

I/O Multiplexing(select) 질문

0

325

1

inotify.c. ret 질문

0

302

1

inotify.c 질의합니다.

1

317

1

child process

0

715

1

read/blocking

0

565

1

flock

0

565

1

system call

0

598

1

pthread_create() 함수 이용했을 때, thread가 두번 호출되는 것 처럼 나타납니다. 왜 그런것인가요?

0

487

1

fork() 함수 사용시 결과 관련 질문

0

371

1

exec 관련 궁금한 사항

0

450

2

파일 디스크립터와 FILE 구조체에 대한 질문

0

552

1

buf 선언에 따른 read() fail 문제

0

251

2

파일 이벤트 - 라이브 프로그래밍 에서 캐스팅 질문

0

254

1

2번 multi thread 방법 질문

0

242

1

segmentation fault 발생 관련 문의

1

842

1

라이브 코딩 실습 코드

0

235

1