파일 시스템 계층 표준 설명



문제를 제거하기 위해 도구를 사용해보십시오

Filesystem Hierarchy Standard (FHS)는 Linux의 디렉토리 구조가 작동하는 방식을 정의하며 많은 초급 기사가 이미 작성되었습니다. 그렇긴하지만 여전히 초보자를 가장 혼란스럽게하는 요소 중 하나이기 때문에 이에 대한 질문은 여전히 ​​항상 제기됩니다. Linux 설치의 최상위 수준을 살펴보면이 특정 표준에 정의 된 많은 디렉토리를 볼 수 있습니다.



우리는 다시 한 번 시간을 들여 usr 등을 정의하고 경험 많은 프로그래머조차도 혼란스럽게하는 다른 모든 것들을 정의했습니다. 즉, 여기에 정의되어 있지 않은 추가 디렉토리 또는 폴더가 표시 될 수 있습니다. 파일 구조의 루트에서 / lost + found를 본 적이 있습니까? 이 파일은 FHS에 의해 특별히 정의되지는 않았지만 일관성 검사 중에 손실 된 파일을 보관할 장소가 있는지 확인하기 위해 ext4 및 기타 파일 시스템에서 생성됩니다. Android 휴대 전화의 구조를 탐색 할 기회가 있었다면 LOST.DIR이라는 이름도 보셨을 것입니다.



FHS 폴더 철자



/는 전체 디렉토리 구조에서 가장 높은 지점을 나타냅니다. Linux는 디렉토리 구조를 지정하기 위해 Unix가 사용하는 것과 동일한 시스템을 사용하기 때문에 단일 드라이브가 아니라 모든 것의 최상위입니다. 단일 사용자 Ubuntu 또는 Fedora 시스템을 사용하는 경우 여기에 마운트 할 큰 디스크 파티션이 있습니다. 해당 디스크 파티션에는이 상위 레벨에있는 디렉토리 또는 폴더가 있지만 원하는 경우 다른 / home, / bin 또는 기타 파티션을 갖도록 Linux를 구성하여 마운트 지점을 1로 설정할 수 있음을 기억하는 것이 중요합니다. 이 디렉토리의.

/ bin에는 가장 기본적인 Linux 인터페이스를 실행하는 데 필요한 대부분의 필수 프로그램이 포함되어 있습니다. 여기서 cat, ls, mv, touch 및 nano를 찾을 수 있습니다. 이름은 바이너리를 나타냅니다.

/ boot에는 커널 및 initrd 파일과 같이 시스템을 부팅하는 데 필요한 파일이 포함되어 있습니다.



/ dev에는 Linux가 시스템의 다른 부분을 참조하는 데 사용하는 모든 장치 파일이 있습니다. mkfs 명령 뒤에 / dev / sdb1과 같은 것을 입력하여 플래시 드라이브를 포맷 한 적이 있다면 여기에있는 파일로 작업 한 것입니다. 모두 실제 파일이지만 일반적인 의미의 파일은 아닙니다. Microsoft 환경에서 온 사람들이 이해할 수 있습니다. 이를 통해 파일 이름을 참조하여 드라이브 및 기타 장치로 작업 할 수 있습니다.

/ etc는 시스템 전체 구성 파일을 제공합니다. 많은 사람들이 etc가 무엇을 의미하는지 묻습니다. 당신이 제외하고는 라틴어로는 등등을 의미합니다. 원래는 다른 곳에 맞지 않는 모든 것을 보관했지만 최신 Linux FHS는 프로그래머에게 구성 파일 만 여기에 넣고 절대로 프로그램에 넣지 않도록 지시합니다.

/ home에는 홈 디렉토리와 다른 사용자의 홈 디렉토리가 포함됩니다. 루트 / home 디렉토리 대신 이동해야하는 자신의 홈 디렉토리에 대한 약어로 ~ /를 사용할 수 있습니다. 예를 들어, manny라는 사용자 인 경우 ~ / Documents를 입력하면 / home / user / manny / Documents를 나타내며 그대로 번역됩니다. 루트 사용자는 Ubuntu를 사용하고 완전히 해시 된 경우에도 / home / root 대신 / root에 홈 디렉토리를 숨 깁니다.

/ lib는 프로그램이 Linux 커널에서 실행하는 데 필요한 다양한 라이브러리를 보유합니다. amd64 기반 배포에서 실행중인 경우 64 비트 라이브러리 용 / lib64 디렉토리가있을 수도 있습니다.

/ media는 주어진 시간에 연결 한 모든 자동 마운트 드라이브를 보유합니다. 메모리 카드, 플래시 드라이브 또는 비디오 디스크를 컴퓨터에 연결하면 자동으로 열리면 / media 디렉토리에 마운트됩니다.

/ mnt는 자동 마운트가 Linux에서 대중화되기 전에 모든 이동식 미디어를 보관하는 데 사용되었습니다. 이제 명령 프롬프트에서 sudo 명령을 사용하여 마운트하는 모든 항목에 사용됩니다. mount -o loop iso 명령을 사용하는 경우 디스크 이미지 또는 ISO 파일을 마운트하는 데 사용할 수 있습니다.

/ opt에는 일반 저장소 외부에서 설치했을 수있는 선택적 패키지가 포함됩니다. Google 다운로드에서 해당 브라우저를 설치 한 경우 Google 크롬과 같은 것이있을 수 있습니다. 설치 방법에 따라 Skype가있을 수도 있습니다.

/ proc은 커널이 시스템에 연결된 모든 장비를 보는 방식을 나타내는 파일을위한 장소를 제공하는 가상 파일 시스템의 마운트 지점이기 때문에 초보자에게는 혼란스러운 것입니다. 설명하는 것보다 직접 체험하는 것이 좋습니다. 실행 해보세요 고양이 / proc / cpuinfo | 더 명령 프롬프트에서 CPU가 커널에 어떻게 보이는지 확인하십시오. CPU 속도 (MHz)가 프로세서의 실제 속도와 반드시 일치하는 것은 아닙니다. 우리는 800MHz에서 실행되는 구형 1.6GHz 단일 코어 프로세서가있는 작은 32 비트 넷북에서 실행했습니다. 이러한 불일치는 / proc 파일을 매우 유용하게 만드는 종류입니다. 이것이 보여주는 것은 Lubuntu 배포판이 리소스가 너무 가볍기 때문에 CPU가 기본 하드웨어의 모든 기능을 사용해야 할 때까지 CPU가 더 느린 모드로 실행된다는 것입니다. 그렇기 때문에 LXDE 데스크탑 환경은 오래된 컴퓨터를 재 구축하는 사람들에게 인기가 있습니다.

/ run은 현재 실행중인 Linux 인스턴스에 관한 정보를 설명하는 파일과 디렉토리를 보유합니다. 재부팅하면 이러한 파일이 다시 빌드되어 새 인스턴스를 나타냅니다.

/ sbin은 매우 중요한 시스템 프로그램을 가지고 있습니다. Linux는 문제가 발생했을 때 항상 파티션을 확인할 수 있도록하기 위해 fsck가 여기에 있다는 것을 알 수 있습니다.

/ srv는 서버 및 버전 제어 시스템에 대한 사이트 별 데이터를 보유하며 설치시 완전히 비어 있음을 알 수 있습니다.

/ sys는 드라이버를 설명하고 FHS의 다른 부분이 참조하는 장치를 정의하는 파일을 보유합니다.

/ tmp는 프로그램을 실행하여 만든 임시 파일로 가득 차 있습니다. 재부팅하면 종종 지워 지므로 여기에있는 파일은 소모품으로 간주됩니다. C : Windows 내부의 Temp 폴더를 기억한다면 / tmp가 Linux에서 비슷한 용도로 사용된다는 것을 알 수 있습니다.

/ usr은 필수적인 것으로 간주되지 않는 바이너리 프로그램에 적합한 일종의 포괄 디렉토리가되었으며 수많은 읽기 전용 사용자 데이터 및 구성 파일을 보유하고 있습니다. 많은 초보자는 usr 디렉토리가 항상 사용하는 프로그램에 대해 너무 많은 구성 파일을 보유하는 것처럼 보이기 때문에 약간 이상하다고 생각합니다.

/ var는 항상 변경되는 로그 및 기타 변수 파일을위한 장소입니다.

4 분 읽기