본문 바로가기
TIL (Today I Learned)/컴퓨터 시스템(CS)

[CS] File, 파일이 무엇인가? #1

by 둥굴프 2022. 12. 13.
이 포스팅은 한국기술교육대학교 김덕수 교수님의 시스템 프로그래밍 (CSE 232)를 참고하여 작성되었습니다.

네트워크 학습을 하면서, 네트워크도 결국 하나의 파일 입출력으로 봐야 함을 학습했다.

그렇다면 해당 파일 입출력에 대한 system call을 다루기 위한 학습이 필요하다.

해당 포스팅은 이런 이유로 시작되었다.

 

#1 파일 개요

파일? 보조 기억 장치에 저장된 연관된 정보들의 집합

File operations : Create, Write, Read, Reposition, Delete, Etc...

OS는 file operation들에 대한 system call을 제공해야 한다.

 

파일의 종류 :

(1) 일반 파일 Regular file: Text or binary data file

(2) Directory : Unix/Linux에서는 폴더도 하나의 파일

(3) 특수 파일 Special file : 파일 형태로 표현된 커널 내 객체(자원), 데이터 전송 · 장치 접근 시 사용하는 파일(프린터)

 

Everything is a file!

 

#2 기본적인 커맨드

 

1. ls(list)

- 현재 폴더 내 파일 목록 출력

(1) -l : 상세 파일 정보 출력 옵션

(2) -a : 모든 파일(숨겨진 파일 포함) 목록 출력 옵션

 

2. touch

- 빈 파일 생성 or 파일의 time stamp 변경

 

3. rm(remove)

- 파일 삭제

(1) -r : 폴더 삭제 옵션

 

4. cat(concatenate)

- 파일 내용 출력

 

5. cp(copy)

- 파일 복사

(1) -r : 폴더 복사 옵션

 

6. mv(move)

- 파일 이동 or 이름 변경 "같은 폴더에 있는 파일 이름을 다른 이름으로 옮긴다."

 

#3 File access permission

 

유닉스/리눅스 시스템은 다중 사용자 시스템이다.

즉, 누가 사용하는지와 사용자들의 권한이 제한되어야 한다.

 

소유자(Owner), 그룹(Group), 기타(others) 사용자에 따라서 다른 권한을 가진다.

읽기(r), 쓰기(w), 실행(x) 권한을 가진다.

 

출처 : https://linuxcommand.org/lc3_lts0090.php

 

7. chmode(change mode)

- 파일 권한 변경

(1) {chmode} {8진수*3} {filename} > 각각의 권한(3bit)을 8진수로 표현할 수 있다.

(2) {chmode} {사용자 + 권한 종류} {filename} > 특정 사용자에게 특정 권한을 부여한다.

 

 

 

 

 

 

긴 글 읽어주셔서 감사드립니다.

22.12.13

댓글