Linux 디렉토리 구조 설명
Linux 디렉터리 구조는 서버와 개인용 컴퓨터에서 널리 사용되는 이 강력한 운영 체제가 어떻게 작동하는지 이해하는 데 필수적입니다.
Linux에서는 모든 것이 슬래시로 표시되는 루트 디렉터리로 시작됩니다. (/), 이는 다른 모든 디렉터리 분기의 시작점 역할을 합니다.
이 계층 구조 내에서 다음과 같은 필수 디렉터리를 찾을 수 있습니다. /큰 상자에는 기본 시스템 실행 파일이 포함되어 있고 /etc에는 중요한 구성 파일이 저장되어 있습니다.
디렉토리 /집 개인 파일과 설정이 저장되어 있으므로 사용자에게 특히 중요합니다.
또 다른 주요 디렉토리는 /var, 시스템 로그 및 인쇄 대기열과 같은 가변 파일을 저장합니다.
이러한 디렉터리가 구성되는 방식을 이해하면 시스템 탐색 및 관리가 더 쉬워질 뿐만 아니라 Linux 서버 관리 시 보안 및 효율성에도 중요합니다.
이러한 계층적, 논리적 구조는 시스템 운영을 최적화할 뿐만 아니라 Linux를 아르헨티나 및 전 세계의 개발자와 시스템 관리자 사이에서 인기 있는 선택으로 만드는 기능인 손쉬운 확장성과 사용자 정의를 허용합니다.
Windows 사용자라면 Linux 파일 시스템 구조가 특히 이상해 보일 수 있습니다.
C:\ 드라이브와 드라이브 문자는 사라지고 / 및 암호처럼 들리는 디렉토리로 대체되었으며 대부분 이름이 세 글자로 되어 있습니다.
파일 시스템 계층 표준 (FHS) Linux 및 기타 운영 체제의 파일 시스템 구조를 정의합니다. 유닉스. 그러나 Linux 파일 시스템에는 표준에 아직 정의되지 않은 일부 디렉터리도 포함되어 있습니다.
/ – 루트 디렉터리
Linux 시스템의 모든 항목은 루트 디렉터리로 알려진 / 디렉터리에 있습니다. / 디렉토리가 Windows의 C:\ 디렉토리와 비슷하다고 생각할 수도 있지만, Linux에는 드라이브 문자가 없기 때문에 이는 사실이 아닙니다. Windows에서는 다른 파티션이 D:\에 있지만 Linux에서는 이 다른 파티션이 /의 다른 폴더에 나타납니다.
/bin – 필수 사용자 바이너리
/bin 디렉토리에는 시스템이 단일 사용자 모드로 마운트될 때 존재해야 하는 필수 사용자 바이너리(프로그램)가 포함되어 있습니다. Snap으로 설치되지 않은 Firefox와 같은 애플리케이션은 /usr/bin에 저장되고, bash 셸과 같은 중요한 시스템 프로그램 및 유틸리티는 /bin에 저장됩니다. /usr 디렉토리는 다른 파티션에 저장될 수 있습니다. 이러한 파일을 /bin 디렉토리에 배치하면 다른 파일 시스템이 마운트되지 않은 경우에도 시스템이 이러한 중요한 유틸리티를 갖게 됩니다. /sbin 디렉토리도 비슷합니다. 시스템 관리에 필수적인 바이너리가 포함되어 있습니다.
/boot – 정적 부팅 파일
/boot 디렉토리에는 시스템을 부팅하는 데 필요한 파일이 포함되어 있습니다. 예를 들어 GRUB 부트로더 파일과 해당 Linux 커널이 여기에 저장됩니다. 그러나 부트로더 구성 파일은 여기에 없습니다. 다른 구성 파일과 함께 /etc에 있습니다.
/cdrom – CD-ROM의 기록 마운트 지점
/cdrom 디렉토리는 FHS 표준의 일부가 아니지만 Ubuntu 및 기타 운영 체제에서는 여전히 찾을 수 있습니다. 이는 시스템에 삽입된 CD-ROM의 임시 위치입니다. 그러나 임시 미디어의 표준 위치는 /media 디렉터리 내에 있습니다.
/dev – 장치 파일
Linux는 장치를 파일로 노출하며 /dev 디렉토리에는 장치를 나타내는 일련의 특수 파일이 포함되어 있습니다. 이는 우리가 알고 있는 실제 파일은 아니지만 파일로 나타납니다. 예를 들어, /dev/sda는 시스템의 첫 번째 SATA 드라이브를 나타냅니다. 파티션을 나누고 싶다면 파티션 편집기를 시작하고 /dev/sda를 편집하라고 지시할 수 있습니다.
이 디렉터리에는 실제로 하드웨어에 해당하지 않는 가상 장치인 의사 장치도 포함되어 있습니다. 예를 들어 /dev/random은 난수를 생성합니다. /dev/null은 출력을 생성하지 않고 모든 항목을 자동으로 삭제하는 특수 장치입니다. 명령의 출력을 /dev/null로 파이프하면 해당 출력이 삭제됩니다.
/etc – 구성 파일
/etc 디렉토리에는 일반적으로 텍스트 편집기에서 수동으로 편집할 수 있는 구성 파일이 포함되어 있습니다. /etc/ 디렉토리에는 시스템 전체 구성 파일이 포함되어 있습니다. 사용자별 구성 파일은 각 사용자의 홈 디렉터리에 있습니다.
/home – 홈 폴더
/home 디렉토리에는 각 사용자의 홈 폴더가 포함되어 있습니다. 예를 들어 사용자 이름이 bob인 경우 /home/bob에 홈 폴더가 있습니다. 이 홈 폴더에는 사용자의 데이터 파일과 사용자별 구성 파일이 포함되어 있습니다. 각 사용자는 자신의 홈 폴더에 대한 쓰기 권한만 가지며 시스템의 다른 파일을 수정하려면 높은 권한(루트가 됨)을 얻어야 합니다.
/lib – 필수 공유 라이브러리
/lib 디렉토리에는 /bin 및 /sbin 폴더에 필수 바이너리가 필요한 라이브러리가 포함되어 있습니다. /usr/bin 폴더의 바이너리가 필요한 라이브러리는 /usr/lib에 있습니다. 64비트 시스템에서는 동일한 /lib64 폴더도 볼 수 있습니다.
/lost+found – 복구된 파일
모든 Linux 파일 시스템에는 Lost+found 디렉토리가 있습니다. 파일 시스템에 오류가 발생하면 다음 부팅 시 파일 시스템 검사가 수행됩니다. 발견된 손상된 파일은 Lost+found 디렉토리에 저장되므로 최대한 많은 데이터를 복구할 수 있습니다.
/media 디렉토리에는 컴퓨터에 삽입된 이동식 미디어 장치가 마운트되는 하위 디렉토리가 포함되어 있습니다. 예를 들어, Linux 시스템에 CD를 넣으면 /media 디렉토리 내에 디렉토리가 자동으로 생성됩니다. 이 디렉토리 내에서 CD의 내용에 액세스할 수 있습니다.
/mnt – 임시 마운트 지점
역사적으로 /mnt 디렉토리는 시스템 관리자가 임시 파일 시스템을 사용하는 동안 마운트한 곳입니다. 예를 들어, 일부 파일 복구 작업을 수행하기 위해 Windows 파티션을 마운트하는 경우 해당 파티션을 /mnt/windows에 마운트할 수 있습니다. 그러나 시스템의 어느 위치에나 다른 파일 시스템을 마운트할 수 있습니다.
/opt – 선택적 패키지
/opt 디렉토리에는 선택적 소프트웨어 패키지에 대한 하위 디렉토리가 포함되어 있습니다. 표준 파일 시스템 계층 구조를 따르지 않는 독점 소프트웨어에서 일반적으로 사용됩니다. 예를 들어, 독점 프로그램을 설치할 때 해당 파일을 /opt/application에 덤프할 수 있습니다.
/proc – 프로세스 및 커널 파일
/proc 디렉토리는 표준 파일을 포함하지 않는다는 점에서 /dev 디렉토리와 유사합니다. 시스템 및 프로세스 정보를 나타내는 특수 파일이 포함되어 있습니다.
/root – 루트 홈 디렉터리
/root 디렉토리는 루트 사용자의 홈 디렉토리입니다. /home/root에 위치하는 대신 /root에 위치합니다. 이는 시스템 루트 디렉터리인 /와는 다릅니다.
/run – 애플리케이션 상태 파일
/run 디렉토리는 애플리케이션에 소켓 및 프로세스 ID와 같이 필요한 임시 파일을 저장할 수 있는 표준 위치를 제공합니다. 이러한 파일은 삭제될 수 있으므로 /tmp에 저장할 수 없습니다.
/sbin – 시스템 관리 바이너리
/sbin 디렉토리는 /bin 디렉토리와 유사합니다. 여기에는 일반적으로 시스템 관리를 위해 루트 사용자가 실행하도록 고안된 필수 바이너리가 포함되어 있습니다.
/snap – 스냅 패킷용 저장소
FHS의 일부는 아니지만 요즘 흔히 볼 수 있는 또 다른 디렉토리는 /snap입니다. 설치된 Snap 패키지 및 Snap과 관련된 기타 파일이 포함되어 있습니다. Ubuntu는 이제 기본적으로 Snap을 사용하지만, 그렇지 않은 다른 배포판을 사용하는 경우 이 디렉터리가 표시되지 않습니다.
/srv – 서비스 데이터
/srv 디렉토리에는 "시스템 제공 서비스 데이터"가 포함되어 있습니다. Apache HTTP 서버를 사용하여 웹 사이트를 제공하는 경우 웹 사이트 파일을 /srv 디렉터리 내의 디렉터리에 저장할 것입니다.
/tmp – 임시 파일
응용 프로그램은 /tmp 디렉터리에 임시 파일을 저장합니다. 이러한 파일은 일반적으로 시스템이 재부팅될 때마다 삭제되며 systemd-tmpfiles와 같은 유틸리티를 사용하여 언제든지 삭제할 수 있습니다.
/usr – 사용자 바이너리 및 읽기 전용 데이터
/usr 디렉토리에는 시스템에서 사용하는 응용 프로그램 및 파일과 달리 사용자가 사용하는 응용 프로그램 및 파일이 포함되어 있습니다. 예를 들어, 필수적이지 않은 응용 프로그램은 /bin 디렉토리 대신 /usr/bin 디렉토리에 위치하고, 필수적이지 않은 시스템 관리 바이너리는 /sbin 디렉토리 대신 /usr/sbin 디렉토리에 있습니다. 각각의 라이브러리는 /usr/lib 디렉토리에 있습니다. /usr 디렉토리에는 다른 디렉토리도 포함되어 있습니다. 예를 들어, 그래픽과 같은 아키텍처 독립적인 파일은 /usr/share에 있습니다.
/usr/local 디렉토리는 기본적으로 로컬로 컴파일된 응용 프로그램이 설치되는 곳입니다. 이렇게 하면 나머지 시스템이 엉망이 되는 것을 방지할 수 있습니다.
/var – 가변 데이터 파일
/var 디렉토리는 /usr 디렉토리에 대해 쓰기 가능한 디렉토리로, 일반 작업에서는 읽기 전용이어야 합니다. 일반 작업 중에 일반적으로 /usr에 기록되는 로그 파일 및 기타 모든 항목은 /var 디렉토리에 기록됩니다. 예를 들어 /var/log에서 로그 파일을 찾을 수 있습니다.
Linux 파일 시스템 계층 구조에 대한 자세한 기술 정보는 다음을 참조하세요. 파일 시스템 계층 표준 문서.