리눅스 디렉토리 구조

clay·2023년 1월 4일
0

Linux

목록 보기
2/2
post-thumbnail

Windows나 Linux 그리고 다른 운영체제를 사용할 때 해당하는 시스템의 구조를 알아두면 더욱 효과적으로 사용이 가능하다.

자세하게 설명하기 이전에 CLI와 GUI의 차이점을 알아보려고 한다.

GUI / CLI

개발자들 사이에서 CLI와 GUI 중 무엇이 더 나으지 논쟁이 있습니다. 간단하게 이 둘의 장단점에 대해서 알아보려고 한다.

GUI

GUI(Graphic User Interface) 초기 컴퓨터는 아래에서 설명할 CLI를 반드시 사용해야 했지만 GUI가 들어오면서 많은 사람들이 GUI를 선호하게 되었다.

GUI의 장점은 눈에 확 들어오고 익히기에 편하다는 점이고 단점은 항상 똑같은 디자인이 아니기 때문에 새로운 버전이 나올때마다 새로 익혀야하고 리소스를 많이 사용해서 안정성이 떨어지고 작업 속도가 CLI보다 누릴 수 있다.

CLI

CLI(Command Line Interface) 커맨드라인, 콘솔이라고도 한다.

나도 학원에서 처음으로 CLI를 접했을때는 검은 화면에 흰글씨만 있어서 상당히 머리가 아팠지만 적응만 하면 GUI보다 더 빠른 속도로 작업이 가능하고 가장 중요한점은 CLI는 버전이 바뀌어도 변화가 거의 없다.

명령어도 많고 옵션도 다양하지만 본인이 주로 사용하는 명령어와 옵션을 자주 사용해서 익숙해지면 상당히 편리하다.

Linux Directory

리눅스는 효율적으로 관리하기 위해 계측적으로 구성하는데 이것을 트리구조라고 한다.
각각의 디렉토리를 설명하기 이전에 / . .. 이거 3개만 알아보자.

/
root 뿌리를 의미하고 최상위 디렉토리를 의미한다.
그리고 구분자도 의미한다. Windows에서는 \ Linux에서는 / 를 사용한다.
.
현재 디렉토리 또는 자식 디렉토리를 의미한다.
예를들어 A 디렉토리안에 B 디렉토리가 있다면 최상위인 / 에서부터 보면 B가 가장 아래 있기 때문에 A가 부모 B가 자식이 된다.
..
현재 디렉토리 바로 전 디렉토리 또는 부모 디렉토리를 의미한다.

/bin


이진파일(실행파일)
기본적인 명령어가 저장된 디렉토리이다. 대부분 사람들이 자주 사용하는 mv, cp, rm등과 같은 명령어 들이 이 디렉토리에 존재한다.

/boot

리눅스의 부팅에 필요한 정보를 가진 파일들이 이곳에 있다.

/dev

시스템 장치파일을 저장하고 있는 디렉토리이다.
sda(하드디스크 장치파일), cd-rom등 장치 파일들이 여기에 위치해있다.

이런 명령어도 가능하다.
umount /dev/cdrom <- cdrom을 분리

/etc

설정 파일을 두는 디렉토리이다.

/home

사용자들의 홈 디렉토리가 있는 곳이다.

처음에는 Rocky Linux에 clay라는 계정만 만들어놔서 home에는 clay만 존재하는데 user1 user2를 생성하면 home에 디렉토리가 생성된다.

/lib

커널이 필요로 하는 각종 라이브러리 파일, 커널 모듈파일 등이 존재하는 디렉토리이다.

라이브러리에 대해 자세하게 알아보려면 여기를 참고하자.

/media

DVD, CD-ROM, USB 등의 외부 장치들의 마운트 포인트로 사용하는 디렉토리 이다.

/mnt

/media와 비슷한 기능을 한다고 한다.

차이점은 media는 OS에서 자동으로 마운팅해주는 포인트로 주로 사용되고 mnt는 사용자가 직접 마운트하는 경로로 사용된다.

/opt

추가 응용프로그램 패키지 설치 장소이다.

/proc

현재 메모리에 존재하는 작업들이 파일 형태로 존재하는 곳이다.

프로세스 정보 등 커널 관련 정보가 저장되어 있고 리눅스 마스터 시험에도 자주 나온다.

/sbin

시스템 이진파일(실행파일)
ifconfig, ethtool, half, e2fsck와 같은 시스템 명령어들을 저장하고 있다.

/usr

일반 사용자들이 사용하는 디렉토리 이다.

/var

기타 모든 다용도로 사용될 수 있는 파일들이 저장되어 있고 로그, 데이터베이스 캐싱파일, 웹서버 이미지 파일등이 위치해 있다.

/sys

디바이스를 관리하기 위한 가상 파일 스스템 디렉토리이다.

/run

Run-time variable data를 관리한다. 부팅한 후의 시스템 정보를 관리하는 디렉토리이다.

/tmp

임시 파일을 저장하기 위한 디렉토리

/lost+found

휴지통 같은 디렉토리이다.

/root

관리자계정 root 사용자의 홈 디렉토리이다. / 와 /root는 다르다.


~는 특수문자로 홈 디렉토리를 의미한다.

절대 경로와 상대 경로

Linux에서는 작업이 대부분 터미널에서 이뤄지기 때문에 명령어를 사용할 경우 경로명까지 입력해야 될 때가 많으므로 절대 경로와 상대 경로에 대해 개념을 알아둬야한다.

절대 경로

위에 설명한 것처럼 Linux는 트리구조다.
최상위 디렉토리는 / 이고 절대 경로는 간단하게 최상위 디렉토리부터 내가 원하는 파일까지의 경로를 말한다.

/root에 test라는 디렉토리를 만들고 test안에 a를 만들고 d까지 만들었다.
이따 d라는 디렉토리를 위해 / 디렉토리부터의 경로를 나타낸 것이 절대 경로이다.

상대 경로

현재 자신이 위치한 디렉토리를 기준으로 하는 경로를 상대경로라고 한다.

현재 b라는 디렉토리에 위치하고 있고 d라는 디렉토리를 가기 위해서는 경로를 입력해야하는데 /root/test/a/b/c/d가 아닌 ./(현재 디렉토리를 나타낸다)
./c/d 이렇게 작성한 경로를 상대 경로라 한다.

경로를 작성할때 항상 풀 네임을 타이핑하는게 아니라 tap키를 잘 활용해야한다.

profile
샤코타임 팬

0개의 댓글