Computer >> 컴퓨터 >  >> 시스템 >> Linux

리눅스 디렉터리 구조 완벽 가이드: 기본 탐색 명령어와 핵심 폴더 이해하기

리눅스의 디렉터리 시스템은 윈도우와 상당히 다르기 때문에 처음 접하는 사용자에게는 혼란스러울 수 있습니다. 리눅스 디렉터리 구조를 나무(tree)에 비유하면 이해하기 쉽습니다. 나무의 뿌리에서 가지가 뻗어 나가듯, 리눅스에서는 루트(root)라는 최상위 지점으로부터 모든 디렉터리가 분기됩니다.

리눅스에서 디렉터리 구분자는 슬래시(/)입니다. 예를 들어, 최상위 디렉터리인 루트의 경로는 흔히 '슬래시(/)'라고 부릅니다.

리눅스 디렉터리 구조란?

리눅스를 어느 정도 사용해 본 분이라면 root, lib, boot 같은 용어를 들어본 적이 있을 것입니다. 이것들이 바로 리눅스 배포판의 대표적인 디렉터리들입니다.

리눅스 시스템은 FHS(Filesystem Hierarchy Standard, 파일시스템 계층 표준)를 따릅니다. FHS는 모든 리눅스 배포판의 콘텐츠와 디렉터리 구조를 정의하는 표준 규격입니다.

기본 탐색 방법

앞서 언급했듯이, 리눅스 디렉터리 구조란 리눅스가 설치된 하드 드라이브의 폴더 체계를 의미합니다.

먼저 터미널에서 ls(list storage) 명령어를 입력하고 Enter 키를 눌러 보세요. 현재 작업 중인 디렉터리 안의 폴더 목록이 화면에 표시됩니다.

단, 배포판마다 홈 디렉터리에 포함된 폴더 구성은 조금씩 다를 수 있다는 점을 기억하세요.

ls 명령어는 파일 시스템의 시작점인 단일 슬래시(/)와 함께 사용할 수 있습니다. 다음과 같이 입력해 보세요.

ls /

그러면 리눅스 파일 시스템의 전체 디렉터리 구조, 즉 하드 드라이브의 기본 폴더 구성을 한눈에 확인할 수 있습니다.

각 폴더에는 고유한 용도가 있습니다. 홈(home) 디렉터리는 사용자들이 위치하는 공간이므로, 자신의 홈 디렉터리 내용을 보려면 아래 명령어를 사용합니다.

ls /home

화면을 깨끗이 지우려면 clear 명령어를 입력하거나 Ctrl + L 단축키를 사용하면 됩니다. 참고로 Ctrl + L은 일부 배포판에서 동작하지 않을 수 있지만, clear 명령어는 어디서든 작동합니다.

다시 ls 명령어로 돌아가 보겠습니다. ls는 반드시 알고 이해해야 할 가장 중요한 명령어입니다. 현재 위치한 디렉터리의 항목들을 나열해 줍니다.

또한 ls에 옵션을 추가할 수도 있습니다. 예를 들어 ls -l /은 단순히 ls /를 실행했을 때와는 다른 결과를 출력합니다. 직접 확인해 보세요.

ls -l /

화면에 훨씬 더 많은 정보가 표시되며, 모든 항목이 각각 한 줄씩 출력되는 것을 볼 수 있습니다. 여기서 -l 옵션은 '긴 목록(long listing)' 형식으로 출력하라는 의미입니다.

즉, 더 자세한 정보를 보여주고 각 항목을 별도의 줄에 표시하여 가독성을 높여 줍니다. 일부 배포판에서는 긴 목록 명령어의 별칭(alias)으로 ll을 제공하기도 합니다.

반드시 알아야 할 주요 폴더들

리눅스 시스템에는 수많은 폴더가 있지만, 그중에서도 특히 중요한 폴더들을 소개합니다.

홈 디렉터리 (/home)

홈 디렉터리는 기본적으로 모든 사용자에게 개인 작업 공간을 제공하는 곳입니다. 각 사용자는 /home 디렉터리 안에 자신만의 폴더를 갖게 됩니다.

홈 디렉터리의 모든 폴더 목록을 확인하려면 다음 명령어를 사용하세요.

ls -l /home

이미 홈 디렉터리에 있는 상태라면 경로 없이 그냥 ls만 입력해도 내부 목록을 확인할 수 있습니다.

리눅스 디렉터리 구조에서 모든 경로는 슬래시(/)로 시작하고 구분됩니다.换句话说, 경로 없이 ls를 입력하면 현재 디렉터리의 내용이 표시됩니다.

작업 디렉터리를 변경하여 파일 시스템의 최상위(root)로 이동하려면 다음 명령어를 사용합니다.

cd /

루트 디렉터리 안의 폴더들을 보려면 다음을 입력하세요.

ls

이제 홈 디렉터리가 아닌 루트 디렉터리에 있으므로, 루트에 있는 모든 폴더 목록이 나타납니다.

루트 디렉터리의 긴 목록 형식을 보려면 다음을 입력합니다.

ls -l

루트 디렉터리 (/root)

시스템의 모든 디렉터리와 파일은 / 기호로 표현되는 루트(root) 파일 시스템 안에 존재합니다. 모든 파일과 디렉터리는 루트에서 시작되며, 어떤 파일이나 디렉터리의 경로는 다음과 같은 형태로 표시됩니다.

/root/home/user/videos

루트 계정은 단일 사용자를 위한 것이며, 리눅스 시스템에서 가장 강력한 권한을 가진 관리자 계정입니다.

공유 라이브러리 디렉터리 (/lib)

/lib 디렉터리에는 코드(라이브러리)가 담긴 파일들이 위치합니다. 이 파일들은 하드 드라이브에 데이터를 기록하거나, 데스크톱에 창을 그리거나, 주변 장치를 제어하는 등의 기능을 수행하는 코드 조각들을 담고 있습니다.

미디어 디렉터리 (/media)

/media 디렉터리에서는 마운트된 외장 하드 드라이브, USB 메모리, DVD 또는 블루레이 디스크의 데이터 파일을 확인할 수 있습니다.

부트 디렉터리 (/boot)

시스템이 시작될 때 필요한 파일과 폴더들은 /boot 디렉터리에 있습니다. 이 디렉터리의 용도 역시 FHS에서 표준화되어 있습니다.

부팅에 필요한 설정이 모두 이곳에 저장되므로, 절대로 이 디렉터리를 삭제해서는 안 됩니다.

그 외에 알아두면 좋은 표준 디렉터리들은 다음과 같습니다.

  • /dev: 외장 USB나 웹캠 등 모든 장치(device) 파일이 위치하는 곳입니다.
  • /var: variable(변수)의 약자로, 사용자 추적, 시스템 로깅, 캐시 등 프로그램이 실행 중에 생성하고 관리하는 파일들이 저장됩니다.
  • /home: 사용자들의 개인 디렉터리가 위치합니다.
  • /proc: CPU 정보, 리눅스 커널 정보 등 시스템 정보를 담고 있는 가상 파일 시스템입니다.
  • /bin: 필수 실행 프로그램(사용자 바이너리)들이 위치합니다.
  • /etc: 시스템 설정 파일들이 포함된 폴더입니다.

각 디렉터리의 정확한 용도와 활용 방법이 궁금하다면 위키백과(Wikipedia)의 FHS 요약 문서를 참고하는 것도 좋은 방법입니다.

현재 작업 디렉터리 확인하기

지금 어떤 디렉터리에서 작업 중인지 모르겠다면 pwd(print working directory) 명령어를 사용하세요.

결과는 다음과 같은 형태로 표시됩니다.

/home/username

이후 ls를 실행하면, 앞서 설명한 대로 현재 위치한 폴더의 내용이 기본값으로 표시됩니다.

파일 색상의 의미는?

예를 들어 /etc 폴더에서 다음 명령어를 실행해 보겠습니다.

ls -l /etc

그러면 다양한 정보와 함께 여러 가지 색상의 출력 결과를 볼 수 있습니다.

일반적인 색상 규칙은 다음과 같습니다.

  • 파란색: 폴더(디렉터리)
  • 흰색: 일반 파일
  • 녹색: 실행 프로그램 또는 바이너리

색상은 배포판에 따라 다를 수 있습니다. 대부분의 배포판이 기본 색상 설정을 제공하지만, 모든 배포판이 그런 것은 아닙니다.

권한 문자열(Permission String)이란?

모든 파일의 목록 왼쪽에는 문자열이 붙어 있는데, 이것을 권한 문자열(permission string)이라고 부릅니다.

문자열의 첫 번째 문자를 살펴보세요. d는 디렉터리(directory)를 의미합니다. 따라서 사용 중인 리눅스 배포판이 색상을 구분하지 않더라도, d로 시작하는 항목은 디렉터리임을 알 수 있습니다.

일반 파일과 프로그램은 하이픈(-)으로 시작합니다.

l은 다른 파일을 가리키는 링크(link)를 의미합니다.

핵심 탐색 명령어 요약

ls 명령어는 현재 작업 디렉터리의 내용을 보여줍니다. 현재 디렉터리가 어디인지 모르겠다면 pwd 명령어를 사용하세요.

파일 시스템의 시작점은 단일 슬래시(/)로 표시됩니다. cd 명령어로 디렉터리 간에 이동할 수 있으며, 이동한 후에는 ls로 해당 디렉터리의 내용을 확인합니다. 홈 디렉터리로 돌아가려면 /home/username 경로를 입력하면 됩니다.

정리하면 다음과 같습니다.

  • cd: 파일 시스템을 탐색하고 디렉터리를 이동하는 명령어
  • ls: 현재 작업 디렉터리의 내용을 표시하는 명령어
  • ls -l: 자세한 정보를 포함한 긴 목록 형식으로 표시
  • pwd: 현재 작업 디렉터리의 경로를 출력

각종 리눅스 배포판 사이에는 사소한 차이가 있지만, 파일 시스템 구조는 매우 유사합니다. 리눅스 디렉터리 구조를 익히는 가장 좋은 방법은 위에서 소개한 방법들을 직접 따라 해보면서 구조에 익숙해지는 것입니다.

단, /boot 디렉터리는 절대 건드리지 마세요. 터미널을 통해 시스템을 탐색하는 연습을 하되, 무언가를 망가뜨리지 않으려면 cd, ls, pwd 명령어만 사용하는 것이 안전합니다. 이렇게 연습하다 보면 문서, 애플리케이션, 기타 필요한 리소스가 어디에 있는지 곧 직관적으로 파악할 수 있게 될 것입니다.