리눅스 파일 스스템은 유니스 계열의 파일 시스템에서 사용하는 inode라는 자료구조를 사용하는데 모든 디렉터리와 파일은 이 inode를 한 개씩 가지고 있다. inode에는 파일의 허가권, 소유권, 파일의 데이터가 저장되는 실제 위치 등의 중ㅇ요한 정보가 저장된다.
그러므로 inode는 파일의 내용이 저장되는 메모리 번지를 가르키는 주소이며 우리가 리눅스 시스템에서 보는 파일은 이 inode에 연결되어 관리되는 형태라고 생각하면 된다.
리눅스에서도 윈도우의 바로 가기와 비슷한 개념이 있는데 이를 리눅스 링크라고 한다. 리눅스의 링크에는 하드링크(Hard Link)와 소프트링크(Soft Link) 두가지로 나누어지며 소프트 ㄹ이크는 심볼릭링크 (Symbolic Link)라고도 한다.
$ cp file01.txt link.txt
$ ln link.txt link_hard.txt
파일의 하드 링크를 생성하고 다음과 같이 파일 상세 정보를 확인하면 원본 파일과 하
드 링크한 파일의 Inode 값이 같을 것을 확인할 수 있다.
파일을 복사하면 물리적으로 2개의 파일이 되지만 하드 링크를 하면 원본 파일과 동일
한 파일 데이터를 가리키는 링크 파일을 하나 만든 것 뿐이며 물리적으로 하나의 파일
데이터를 가리키게 된다.

$ rm link.txt
$ cat link_hard.txt
cp file01.txt slink.txt
ln -s slink.txt slink_soft.txt

심볼릭 링크는 새로운 inode를 생성해 원본 파일을 가리키게ㅔ 되므로 원본 파일인 slink.txt 파일을 삭제하게 되면 심볼릭 링크는 사용할 수 없다.

$ mkdir link_test
$ cp ./touch* ./link_test
$ ln -s link_test slink

$ rm slink_soft.txt
리눅스 운영체제는 사용자와 리소스에 대한 권한을 관리하며 사용자를 사용자와 그 사
용자가 속한 사용자 그룹으로 나눠 권한을 관리한다.
리눅스에서 파일 및 디렉터리를 생성하면 소유자 권한을 가지며 사용자에 따라서 접근
할 수 있는 권한이 달라진다. 또한 파일 및 디렉터리는 소유자, 소유자 그룹, 전체 사용
자에 대해서 읽고, 쓰고, 실행할 수 있는 권한을 관리한다.
리눅스에서 사용자 계정은 root(관리자)와 일반 사용자로 구분하며 아래와 같은 사용자
계정이 있다.
▪ 루트 계정 :
-일반 사용자 계정 생성과 권한을 부여하고 비밀번호를 바꿀 수 있음
-모든 권한을 가진 슈퍼 관리자 계정
▪ 시스템 계정 :
-리눅스 설치시 시스템 관리를 위해서 기본적으로 생성되는 계정
-시스템 계정은 여러 가지가 있으며 일반적으로 로그인 할 수 없음
▪ 사용자 계정 :
-리눅스를 사용하는 일반 사용자를 위한 계정
-본인이 생성한 파일의 소유자 권한을 가지며 root 권한을 가진 파일은
실행하거나 볼 수가 없고 root로부터 권한을 부여 받아야 함
$ id
uid=1000(ubuntu) gid=1000(ubuntu)
groups=1000(ubuntu),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(
video),46(plugdev),119(netdev),120(lxd),999(docker)
$ users
root ubuntu ubuntu
$ who
ubuntu pts/0 2023-10-19 01:17 (115.92.164.155)
ubuntu pts/1 2023-10-19 01:17 (115.92.164.155)
root pts/2 2023-10-19 07:42 (13.209.1.61)
$ whoami
$ logname
ubuntu