![Linux 파일 시스템/조직은 Windows와 어떻게 다릅니까?](https://linux55.com/image/16480/Linux%20%ED%8C%8C%EC%9D%BC%20%EC%8B%9C%EC%8A%A4%ED%85%9C%2F%EC%A1%B0%EC%A7%81%EC%9D%80%20Windows%EC%99%80%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EB%8B%A4%EB%A6%85%EB%8B%88%EA%B9%8C%3F.png)
제가 Linux를 마스터하는 데 방해가 되었던 이유 중 하나는 Linux와 Windows의 파일 시스템 간의 큰 차이였습니다. 지난 3~4년까지는 Windows 시스템만 사용했고, Linux에 익숙해지기 시작한 것은 지난 2~3개월이 되어서였습니다. 이 시점에서 나를 정말 괴롭히는 것 중 하나는 Windows의 다양한 폴더를 뒤지기 시작하면 내가 원하는 거의 모든 것을 찾을 수 있다는 느낌이 든다는 것입니다. 나는 사물이 언제 어디에 배치되는지에 익숙해졌습니다. 내 Linux에는 이 기능이 없습니다. /opt 폴더에 대부분의 타사 프로그램이 설치되는 것과 같은 몇 가지 사항을 배우고 있지만 이해가 제한적입니다. 파일 시스템을 진정으로 이해하고 다양한 파일, 프로그램 등을 찾을 수 있으려면 알아야 할 중요한 사항은 무엇입니까?
답변1
보세요파일 시스템 계층 표준(FHS)는 조직의 표준입니다.디렉토리 구조. 나는 대부분의 (모두?) Linux 기반 시스템이 어느 정도 이를 따르고 있다고 강력히 의심합니다.
답변2
일부 *nix 배포판(OpenBSD 및 Ubuntu에서 테스트됨)에서는 파일 시스템 계층 구조에 대한 매뉴얼 페이지가 유용할 수 있습니다.
$ man hier
물론 이는 플랫폼과 매뉴얼 페이지의 최신 상태에 따라 달라집니다. 맨페이지(Ubuntu)에서도 앞서 언급한 파일 시스템 계층 구조 표준을 참조합니다.
나는 솔라리스에서 비슷한 매뉴얼 항목을 찾지 못했습니다.
일반적으로 다양한 Linux 배포판은 원하는 위치에 자유롭게 배치할 수 있으므로 매우 빠르게 혼란스러울 수 있습니다. 시스템에 설치된 대부분의 실행 파일(기본 시스템의 일부로 또는 패키지 관리자를 통해)은 기본 경로(보통 /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin)에 위치하게 됩니다. ), 그러나 일부 배포판에서는 /opt, /usr/share/bin 등을 사용합니다. Windows의 "Program Files" 폴더와 유사합니다. "Windows" 폴더는 /usr/lib /usr/include /usr/share 등과 유사할 수 있습니다. 내 문서 폴더는 Linux의 홈 디렉터리(/home/user)와 다소 유사하며 대부분의 사용자별 프로그램(예: Firefox, Thunderbird 등) 구성이 여기에 있으므로 새 시스템으로 마이그레이션하는 것이 상당히 쉽습니다.
이러한 유사점의 문제점은 완전히 정확하지 않다는 것입니다. Windows와 Linux는 이 점에서 다릅니다.
앞으로 나아가는 가장 좋은 방법은 Windows를 처음 사용하기 시작했을 때와 마찬가지로 계속해서 시스템을 탐색하고, 시스템을 깨뜨리고, 고치고, 질문하는 것입니다.
답변3
Windows에서는 프로그램을 설치하면 Program Files의 모든 항목이 포함된 폴더가 생성됩니다. 바이너리, 라이브러리, 리소스 파일 등이 있습니다. Linux에서는 일반적으로 바이너리가 /usr/bin
, 라이브러리가 /usr/lib
, 리소스가 에 들어갑니다 /usr/share
. 특히 아이콘 파일처럼 .fonts에 들어갑니다 . /usr/share/icons
에서 찾을 수 있습니다 /usr/share/fonts
. 에는 개발 헤더 파일을 넣고 /usr/include
, 마지막으로 구성 파일을 에 넣습니다 /etc
.
이 레이아웃에는 몇 가지 멋진 장점이 있습니다. /usr/lib
라이브러리를 . Windows에서는 각 프로그램이 자체 라이브러리 세트를 프로그램 파일에 설치하고 다른 응용 프로그램이 정확히 동일한 라이브러리를 설치할 수 있으므로 이제 두 개의 동일한 .dll 파일 복사본이 있는 것을 보는 것이 일반적입니다. 또한 파일 시스템 레이아웃에 일관성을 추가합니다. Windows에서는 프로그램의 Program Files에 폴더가 있다는 것을 알고 있지만 해당 폴더에 어떻게 배치될지는 보장할 수 없습니다. 실행 파일이 bin/
폴더에 있을 수도 있고 아닐 수도 있습니다. 폴더가 있을 수도 conf/
있고 없을 수도 있습니다.