Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Terraform
- 리눅스
- s3 sync
- S3 private통신
- ix is lock
- 푸시게이트웨이
- ec2
- 다이렉트 커넥트
- Route53 Endpoint
- SessionManager 터널링
- VGW
- BastianHost
- S3 Interface Endpoint
- DNS Resolver
- DXGW
- bWAPP arm
- x lock s lock
- CrossSiteScript
- bWAPP install
- 마운트
- push-gateway
- 도커
- AWS Resolver
- sessionManager
- S3 PrivateLink
- S3 Gateway Endpoint
- s3
- node pod 분리
- bWAPP M1
- Route53 Resolver
Archives
- Today
- Total
이것이 점프 투 공작소
리눅스의 파일시스템에 대해 알아보자 본문
파일의 종류
리눅스에서는 파일의 종류를 크게 4가지로 구분한다.
파일종류 | 설명 | ||
정규파일 | 대부분의 파일 (텍스트,이미지,실행) 실행,이미지 파일의 경우 바이너리 형태로 저장되어 바이너리 파일이라고 함 |
||
디렉토리 | 파일이나 서브 디렉토리의 이름과 위치정보를 가진 파일 (리눅스에선 파일로 취급) | ||
심볼릭 링크 ('소프트링크') | 원본 파일에 대한 링크파일 EX) 윈도우에 바로가기 | ||
장치파일 | 프린터,CD-ROM,하드디스크, 키보드 등 각종 장치를 파일로 취급한다 - 블록 디바이스 : 블록 단위로 읽고 쓰는 디바이스 (하드디스크 등) - 문자 디바이스 : 문자 단위로 읽고 쓰는 디바이스 (시리얼포트, 터미널 등) - 파이프 디바이스 : 프로세스 통신간 사용하는 파일 (mkfifo명령을 통해 생성) - 소켓 디바이스 : 호스트 안에서 프로세스간 통신의 목적으로 사용하는 디바이스(Unix domain socket) |
어떻게 리눅스는 디바이스를 파일처럼 다룰 수 있을까??
리눅스에서는 커널에서 디바이스관련 코드가 분리된 '디바이스 드라이버'가 존재하여, 커널이 디바이스 파일을 통해 사용자 프로세스에 디바이스 I/O인터페이스를 제공한다.
프로그램이 데이터 기록 -> 해당 디바이스 파일 오픈 -> 디바이스드라이버가 실제 디스크에 기록
간단히 이정도의 과정이라고 생각하면 된다.
ls명령의 결과에서 필드의 의미
ls -l 명령으로 파일 시스템을 확인해보면 여러 필드명이 나온다.
필드명 | 설명 | ||
- | 가장 첫번째 문자. - : 정규파일, d : 디렉토리, l : 심볼릭 링크 특수 파일인 블록,문자,파이프,소켓의 경우 b/c/p/s로 나타난다. |
||
rw-r--r-- | 파일의 접근권한 (r 읽기 w 쓰기 x 실행) 첫번째 rwx는 소유자, 두번째 rwx는 그룹구성원, 마지막 rwx는 모두의 접근 권한을 의미한다. |
||
1 | 하드 링크의 수 | ||
계정명 | 파일 소유자 계정 | ||
그룹명 | 파일 소유 그룹의 계정 | ||
4096 | 바이트 단위 크기 | ||
date | 파일 수정 날짜 시간 | ||
extfile.cnf | 파일명 |
심볼릭 링크와 링크의 차이
리눅스는 inode를 통해 파일을 찾습니다.
쉽게 생각하면 인덱싱을 위한 파일의 ID값이라고 생각하시면 됩니다.
하드링크 : ln Target LinkName
하드링크를 통해 파일을 링크하면 동일한 inode값을 가지게 됩니다.
소프트링크 : ln -s TARGET LinkName
소프트링크를 통해 파일을 링크하면 다른 inode값을 가지게 됩니다.
원본 파일이 삭제되면 해당파일을 사용할 수 없게됩니다.
'리눅스' 카테고리의 다른 글
리눅스 프로세스의 상태에 대하여 알아보자 (0) | 2022.10.10 |
---|---|
리눅스의 프로세스 개요 (0) | 2022.10.07 |
리눅스의 저장장치와 표준 디렉토리에 대해 알아보자 (0) | 2022.10.02 |
Swap Memory란? EC2 Swap memory설정법 (0) | 2022.09.29 |
The command could not be located because '/usr/bin:/bin' is not included in the PATH environment variable. 에러 그리고 리눅스 환경변수란? (0) | 2022.09.24 |