유닉스/리눅스의 파일 시스템
리눅스에서는 어떻게 파일들을 관리하는지 한번 알아보자.
윈도우와 달라서 재미있는 부분들이 많다.
시작하기에 앞서..
먼저, 파일이란?
리눅스 파일 시스템의 특징 - 계층적 파일 시스템
(이런 느낌)
리눅스의 파일 유형
- 일반 파일 (regular file) - 우리가 흔히 사용하는 것들을 이 일반 파일로 분류할 수 있다.
- 디렉토리 파일
- 특수 파일 - 입출력 장치 정보를 보관함. 장치 파일(device file)이라고도 함.
리눅스 파일 이름
< > ( ) { } [ ] * ? " ' - $ ^ |
그래서 다른 언어들과 마찬가지로, 알파벳(대소문자 구별 가능)과 숫자, 밑줄문자나 마침표를 사용하는 것이 일반적이다.
마침표를 사용할 경우는 대게 확장자를 표시할 때 인데, 확장자란 파일의 종류를 구별해주는 용도로 사용된다.
리눅스는 파일 종류에 따라서 특정 확장자를 요구하지 않을 수 있다. (오!) 특정 확장자는 대게 응용 프로그램이 요구하는 것이다.
리눅스 경로 이름
만약에 이런 파일 시스템 계층이 있다고 가정해보자.
그러면 우리는 File 1, 2, 3에 대하여 아래와 절대경로를 사용해 아래와 같이 작성할 수 있다.
<<절대 경로 이름>> File 1 : /Home/User1/Dir1/File1 File 2 : /Home/User1/file2 File 3 : /Home/file3 |
참 쉽죵?
상대 경로 이름은 작업 디렉토리에 상대적인 위치로 파일 이름을 표기한다.
여기서 작업 디렉토리(working directory)란, 현제 수행중인 프로그램(프로세스)가 현재 위치한 디렉토리를 말한다.
개발을 하다보면 여기저기 왔다갔다 해야 할 경우가 생긴다. 내가 현재 있는 곳이 작업 디렉토리다.
작업 디렉토리의 파일은 파일 이름만 사용하여 접근이 가능하다. 현재 디렉토리라고도 한다.
홈 디렉토리는 특정 사용자에게 부여된 디렉토리다. 위의 사진으로 보면 User1 같은거?
이 디렉토리 아래로 계층적으로 현재 사용자나 특정 사용자가 홈 디렉토리에 상대적 위치로 표기가 가능하다.
. |
(현재) 작업 디렉토리 |
.. |
부모 디렉토리 |
~ |
현재 사용자의 home 디렉토리 |
~User1 |
사용자 User1의 홈 디렉토리로 이동한다. |
위의 절대경로를 설명하는데 썼던 예시를 다시 한번 상대경로를 이용해 이름을 붙이면 아래와 같다.
<< 상대 경로 이름 >> (단, 현재 작업 디렉토리를 User1으로 가정하자.) File 1 : ~/Dir1/File1 또는 ./Dir1/File1 File 2 : ~/file2 또는 ./Dir1/File1 File 3 : ../file3 |
리눅스의 표준 입출력 (Standard input/output)
- 표준 입력(stdin) : keyboard
- 표준 출력(stdout) : 화면
- 표준 에러 출력(stderr) : 화면
'Computer Engineering > 유닉스 시스템 (Unix System)' 카테고리의 다른 글
리눅스 기본 명령어 (0) | 2019.01.05 |
---|---|
리눅스 소개와 리눅스 시작하기 (0) | 2019.01.04 |