본문 바로가기

Linux

Linux 파일시스템(윈도우와 차이점)

728x90

단일 파일 시스템

리눅스는 윈도우와 달리 단일 파일 시스템이다.

  • 리눅스에서는 모든 디렉토리의 최상위 부모 디렉토리는 root다.
  • 윈도우에서는 폴더가 존재하는 파티션에 따라 최상위 부모 디렉토리가 C:\가 될 수도 있고 D:\가 될 수도 있다.

 

* root 디렉토리는 단순히 슬래쉬(/)로 표현된다.

 


경로 구분자

리눅스에서는 경로 구분자로 슬래쉬(/)가 사용된다. 

윈도우에서는 경로 구분자로 백슬래쉬(\)가 사용된다.


디렉터리

사용자 디렉터리

리눅스에서는 사용자 경로가 /home/username 에 존재한다.

윈도우에서는 사용자 경로가 C:\Users\username에 존재한다.

 

디렉터리

Linux에서 디렉터리는 폴더가 아니라 '파일'로 간주한다.


파일의 종류

리눅스에서 파일의 종류는 크게 4가지가 있다.

1. 정규 파일(regular file) : 일반 텍스트 파일

2. 실행 파일(executable) : 실행 가능한 프로그램

3. 디렉터리(directory) : 폴더를 의미

4. 특수 파일(special file) : 하드웨어를 추상화한 파일

 

리눅스는 확장자가 존재하지 않는다. 다만, 사용자의 편의를 위해 파일명을 확장자가 있는 것처럼 지을 뿐이다.

예를 들어, .txt는 리눅스에서는 단순히 파일명의 일부일 뿐이다. 반대로, 윈도우에서는 확장자로 해석된다.

 


파일 권한

파일의 소유자만 읽기, 쓰기, 실행 모두 가능하고 나머지 사용자들은 읽기 권한만 주는 경우

권한 코드 = 744(rwxr--r--)

 

 

파일 권한 변경 방법

chmod 명령어를 이용하여 파일의 접근권한을 바꿀 수 있다.

chmod 744 filename

권한코드 744로 설정

# 유저 쓰기 권한 부여
chmod u+w filename
# Other 읽기 권한 제거
chmod o-r filename
# 같은 그룹 사용자 읽기쓰기 권한 부여
chmod g+rw filename
# 유저 쓰기 권한 부여
chmod u+w, go-w filename
# 유저 읽기, 쓰기, 실행 권한 설정
chmod u=rwx filename
# 모든 유저 읽기, 쓰기, 실행 권한 설정
chmod a=rwx filename​

 


디렉터리에서의 파일 권한

vi 폴더이름 시 뜨는 창:

 

vim 편집기에서 디렉터리 내부에 있는 파일 목록을 볼 수 있다.

즉, Linux는 디렉터리도 일종의 파일로 취급하는데 저 목록을 지우거나 추가해버리면 그에 맞춰서 디렉터리 내부 파일이 삭제/생성된다.

  • 읽기 : 디렉터리 안의 파일 목록을 보기(ls)
  • 쓰기 : 파일의 생성과 삭제(cp, mv, rm)
  • 실행 : 디렉터리 접근(cd)

 


파일 권한 Masking

Masking을 통해 파일이 최초 생성될 때 기본 권한을 제어할 수 있다.

<< umask
>> 0022

umask 명령어를 단독으로 실행하면 현재의 마스크를 볼 수 있다.

 

마스크되기 전 권한 = 111 111 111

마스크                   = 000 010 010

파일 생성 후 권한   = 111 101 101  (디렉터리)

                            = 110 100 100  (정규 파일) 

* 정규 파일의 경우 보안 문제로 운영체제에서 자체적으로 실행권한을 삭제해버린다.