Bae's Digital Dialogues

리눅스[Linux] 파일과 디렉터리 본문

Linux

리눅스[Linux] 파일과 디렉터리

배디훈 2024. 5. 27. 03:30

리눅스에서는 모든 것을 파일로 다루기 때문에 파일 조작 방법을 익히는 것이 중요하다. 

리눅스에서 파일을 다루는 방법을 살펴보자

 

디렉터리란

파일의 개수가 많아지면 종류별로 분류하는 것이 좋다. 여러 개의 파일을 담아서 정리할 수 있는 것이 디렉터리이다. 윈도나 맥의 폴더 개념과 동일하다.

 

리눅스의 디렉터리 구조

맨 위에 있는 / 디렉터리를 루트 디렉터리라 한다. 모든 파일과 디렉터리의 부모를 찾아 올라가면 루트 디렉터리에 도달하게 된다.

 

루트 디렉터리 아래에 디렉터리와 파일이 있는 계층 구조를 트리 혹은 디렉터리 트리라고 한다. 루트를 뿌리라고 생각하고 그 아래에 파일이나 디렉터리를 잎이라고 생각하면 나무와 흡사하다는 것을 알 수 있다.

 

PATH

'루트 디렉터리 아래의 usr 디렉터리 아래의 bin 디렉터리 아래에 있는 perl이라는 파일'이라고 표기하는 건 비효율적이다. 그래서 리눅스에서는 다음과 같이 디렉터리 사이에 /(슬래시)를 넣어 /usr/bin/perl과 같이 표기한다. 그리고 이를 해당 파일에 대한 경로(PATH)라고 한다.

 

경로에서 디렉터리를 구분하기 위해 사용하는 문자로 리눅스에서는 /를 사용하고, 윈도에서는 보통\를 많이 사용한다.

 

윈도와의 차이

윈도도 리눅스와 비슷한 디렉터리 트리 구조를 가진다. 하지만 윈도에서는 물리 디스크가 2개 있다면 디렉터리 트리도 2개이다. 하지만 리눅ㄹ스에서는 언제나 시스템 전체에 단 하나의 트리만 가지게 된다.

 

리눅스에서는 디스크가 여러 개 있을 때 루트 디렉터리의 어딘가에 해당 디스크의 디렉터리가 연결된다. 이렇게 디스크와 디렉터리를 연결하는 것을 마운트라 한다.

 

각 디렉터리의 역할

/bin

일반 사용자 및 관리자가 사용하는 명령어의 실행 파일이 배치되어 있는 디렉터리이다. /bin은 특히 시스템과 관련된 중요도가 높은 명령어를 포함하고 있다.

 

/dev

디바이스 파일이 배치되어 있는 디렉터리이다. 디바이스 파일이란 디스크나 키보드 등 하드웨어를 다루기 위한 특수 파일이다.

 

/etc

리눅스에서 돌아가는 다양한 애플리케이션의 설정 파일이 /etc 아래에 배치된다. 애플리케이션뿐만 아니라 리눅스 자체의 설정 파일도 이곳에 있다. 따라서 리눅스를 운영하고 관리할 때 무척 중요한 디렉터리이다.

 

/home

사용자별로 할당되는 홈 디렉터리가 배치되는 디렉터리이다. 홈 디렉터리란 사용자별로 할당되는 개인용 디렉터리를 말한다. 사용자 이름이 디렉터리 이름으로 사용된다. 예를 들어 사용자 이름이 ldk라면 사용자의 홈 디렉터리는 /home/ldk가 된다. 사용자는 홈 디렉터리 안에서 자유롭게 파일이나 디렉터리를 작성해 작업할 수 있다.

 

/sbin

/bin과 비슷하게 실행 파일을 포함하는 디렉터리이다. 그런데 이 디렉터리에는 관리자용 명령어가 포함되어 있다. 예를 들어 시스테을 종료시키는 shutdown 명령어가 이 안에 있다.

 

/tmp

임시 파일이 들어 있는 디렉터리이다. 애플리케이션 실행 중 임시로 작업 결과를 파일로 보존할 때 보통 이 디렉터리에 저장한다. 정기적으로 이 디렉터리 안의 파일을 삭제하도록 설정된 배포한도 있으므로 중요한 파일을 /tmp에 보관하면 안 된다.

 

/usr

설치한 애플리케이션의 실행 파일, 문서, 라이브러리 등이 이 디렉터리에 포함된다. /usr아래에는 bin, sbin, etc 등이 있어 루트 디렉터리와 구조가 비슷하다.

 

/var

변화하는(variable) 데이터를 저장하기 위한 디렉터리이다. 애플리케이션 실행 중에 만들어진 데이터나 로그, 메일 등이 이곳에 저장된다. /var에는 많은 파일이 기록되므로 용량이 부족해질 수도 있으니 시스템을 관리할 때 주의해야 한다.