본문 바로가기
UNIX 시스템

i - node 8주차 수업 - 2

by 세인트킴 2023. 5. 26.

i - node 

디렉토리는 파일에 대한 i - node 포인터, 즉 i - number를 유지한다. 

drwxr-xr-x 2 202121165 students 4096  4월  5 15:48 public_html
// 접근권한 링크 수 소유자 그룹 파일 크기 접근시각 수정 시각 파일 주소
ls -i
66192406 public_html

link

ln 파일이름 링크이름

Symbolic link

ln -s 구-파일 신-파일, i - number를 서로 공유하지 않는다.(경로가 들어있다.)

lrwxrwxrwx 1 jhkim faculty 4 3월 20 20:07 bin -> /bin
// l = 심볼릭 링크를 의미. /bin = 심볼릭 링크된 경로, i - number은 서로 다르다.

Hard link

i - node를 공유한다.(동일 i - number 사용)

Device 파일

/dev/pts/597는 특정 가상 터미널 장치에 데이터를 출력하는 파일이다. 
/dev/tty는 현재 프로세스의 터미널과 상호작용하는 데 사용되는 특수 파일이다.
터미널 입출력은 디바이스에 대한 입출력이므로 표준 입출력과는 다르다.

mount

하나의 파일 시스템은 여러 개의 장치들로 구성될 수 있다.

/
/bin	/dev	/etc	/home	/tmp
			/mike	/paul	/mary

실습1
echo Hello > file1
ln file1 file2 // file2는 새로 만드는 파일 이름이다.
ls -li
-rw-r--r-- 2 202121165 students    6  5월 26 16:50 file1
-rw-r--r-- 2 202121165 students    6  5월 26 16:50 file2 // 연결 수는 2개, i-number은 66197287로 동일하다.
file2의 내용을 수정하면 cat file1으로 봐도 내용이 같다. 모든 접근권한을 제거하면 file1, file2 둘 다 접근권한이 제거되어 있다.

실습2
echo Hello > file1
ln -s file2 file1 // 만드는 파일명(file2) 연결할 파일(file1)
ls -l
-rw-r--r-- 1 202121165 students    6  5월 28 18:18 file1
lrwxrwxrwx 1 202121165 students    5  5월 28 18:19 file2 -> file1 // file1을 참조한다.
ls -i
66197287 file1  66200079 file2 // i-number도 다르다.
chmod -rwx file1 // 사용자의 모든 권한 제거
cat file2
cat: file2: 허가 거부 // file1을 참조하기 때문에 file2도 허가가 거부된다.

실습3
ln -s /tmp/unix2023/ex1 mx1 // 홈 디렉토리에서 명령을 실행하면 ~가 없어도 명령이 수행된다.
ln -s /tmp/unix2023/ex2 mx2
ln -s /tmp/unix2023/ex3 mx3
./mx1 mx2 mx3 
Hello, this is ex1 // mx1은 ex1을 참조하는데, students그룹에서는 실행가능하다. 
ex2, ex3은 실행 권한이 없어서 실행이 불가능하다.

ln -s /dev/tty mytty 
echo Hello > mytty // Hello가 출력된다. /dev/tty는 터미널 장치여서 echo Hello를 한 것과 동일하다.
* 위의 device파일 설명 부분에 자세한 설명 존재.

'UNIX 시스템' 카테고리의 다른 글

File archive / Compress - 11주차 수업 - 1  (0) 2023.05.30
find - 10주차 수업 - 2  (0) 2023.05.30
cut - 10주차 수업 - 1  (0) 2023.05.29
Filter - 9주차 수업 - 1  (0) 2023.05.28
UID - 8주차 수업 - 1  (0) 2023.05.26