답변:
리눅스 문서 프로젝트 가 리눅스 파일 시스템 계층의 설명을 들은 서로 다른 폴더와 (부분적으로 역사)의 의미를 설명합니다.
xenoterracide 이미 지적 /bin
및 /opt
Windows에서 "프로그램 파일"에 비교 될 수 표준 디렉토리입니다.
/bin
권한이없는 사용자뿐만 아니라 시스템 관리자에게도 유용한 몇 가지 유용한 명령이 포함되어 있습니다. 그것은 일반적으로 같은 껍질 포함bash
,csh
.... 등 일반적 같은 명령을 사용cp
,mv
,rm
,cat
,를ls
.
( TLDP에서 인용 )
/opt
기본 설치에 포함되지 않은 모든 소프트웨어 및 애드온 패키지 용으로 예약되어 있습니다. 예를 들어 StarSuite, Kylix, Netscape Communicator 및 WordPerfect 패키지는 일반적으로 여기에 있습니다.
( TLDP에서 인용 )
직접적으로 동등한 것은 없습니다. 디렉토리 구조는 매우 다릅니다. Windows에서는 (예 :)와 관련된 모든 파일이 포함 된 설치된 각 패키지 / 소프트웨어에 대한 단일 디렉토리가 있습니다 C:\Program Files\MyProgram
. Linux에서 각 소프트웨어는 파일 유형 및 기타 규칙에 따라 많은 디렉토리에 "분산"됩니다.
예를 들어, xscreensaver
프로그램 과 관련된 다른 파일 이 설치된 위치를 검사 할 수 있습니다 .
/etc/pam.d/xscreensaver
/etc/xscreensaver
/etc/xscreensaver/README
/usr/bin/xscreensaver
/usr/bin/xscreensaver-command
/usr/bin/xscreensaver-demo
/usr/bin/xscreensaver-gl-helper
/usr/share/X11/app-defaults/XScreenSaver
/usr/share/applications/xscreensaver-properties.desktop
/usr/share/doc/packages/xscreensaver
/usr/share/doc/packages/xscreensaver/README
/usr/share/locale/ca/LC_MESSAGES/xscreensaver.mo
/usr/share/locale/da/LC_MESSAGES/xscreensaver.mo
/usr/share/locale/de/LC_MESSAGES/xscreensaver.mo
[ ... ]
/usr/share/locale/zh_TW/LC_MESSAGES/xscreensaver.mo
/usr/share/man/man1/xscreensaver-command.1.gz
/usr/share/man/man1/xscreensaver-demo.1.gz
/usr/share/man/man1/xscreensaver.1.gz
/usr/share/man/man6/xscreensaver-gl-helper.6x.gz
/usr/share/pixmaps/xscreensaver.xpm
/usr/share/xscreensaver
/usr/share/xscreensaver/glade
/usr/share/xscreensaver/glade/screensaver-cmndln.png
/usr/share/xscreensaver/glade/screensaver-colorselector.png
[ ... ]
에 설치하는 곳에 설치 요청 보통 때, 걱정하지 마세요, 정답은 다음 중 하나입니다 : /
, /opt
, /usr
,/usr/local
보시다시피, 거의 모든 (1) 파일은 실행 파일 , 매뉴얼 페이지 , 문서 등의 간단한 규칙에 따라 xscreensaver
설치됩니다 ./usr
/usr/bin
/usr/share/man
/usr/share/doc/packages/PROGRAMNAME
설치 프로그램이 설치를 요구하는 경우 prefix
, 일반적으로 는 지금하고자하는 기본 프로그램을 설치하는 아래 경로를. 내 xscreensaver
예에서는입니다 /usr
.
간단한 규칙으로 : /
시스템을 부팅하는 데 필요한 프로그램 만 포함하고 ( C:\windows\system32
) /usr/local
해당 고유 컴퓨터에만 필요한 프로그램을 포함해야합니다. /opt
(2) 표준 디렉토리 구조가 아닌 모든 선택적 프로그램과 /usr
모든 표준 소프트웨어 .
어쨌든 이러한 모든 규칙을 자세히 정의 하는 표준 이 있습니다. Filesystem Hierarchy Standard
(1) 시스템 전체 구성 파일이 /etc
(2) 리눅스에서는 상당히 쓸모없는
/opt
/usr/local
꽤 오랫동안 타사 소프트웨어를 선호합니다 .
/usr/share
은 다른 아키텍처 (문서, 스크립트, 이미지)간에 공유되기 때문에 "공유"라고하며, /usr/lib*
아키텍처에 의존하는 파일 (실행 파일이 아닌 /usr/bin
)에 대한 것입니다.
Ususually, /bin
, /usr/bin
, /usr/local/bin
, 또는 /opt/bin
. 내가 생각 /usr/bin
하고 /opt/bin
보통은 시스템 관리자가 설치되지 않은 시스템의 중요한 바이너리이기 때문에 윈도우와는 달리이 두 가지 패키지 관리자와 함께 설치된 프로그램을 포함하지만, 프로그램 파일에 가장 가까운 수 있습니다. 어디는 /usr/local/bin
비 배포판 패키지 소프트웨어입니다. /bin
와 같은 시스템 중요 바이너리를위한 것 /bin/sh
입니다.
/bin
, /usr/bin
, /usr/local/bin
또는 /opt/bin
. 표준 위치가 하나 없습니까? 내가 묻는 이유는 몇 개의 VM에 소프트웨어를 설치하고 있으며 기본 위치는 파티션이 가장 큰 파티션입니다. 파티션 공간을 소프트웨어가 일반적으로 이동하는 디렉토리로 변경하고 소프트웨어가 모든 VM에 다르게 배치되지 않도록하고 싶습니다.
/opt
예를 들어 일반적으로 독점 소프트웨어에 사용됩니다.
/usr/
별도의 파티션입니다.
/bin
와 /usr/bin
차별이 더 이상 사용되지 않는다고 주장합니다 . 역사적으로, 시스템에 중요한 물건에있을 것입니다 /bin
, /lib
... 동안, (직접 루트) /usr
(와 /usr/bin
, /usr/lib
...) 기본 시스템 기능에 필요없는, (아마도 네트워크를 통해) 나중에 설치 될 것이다.
/opt
종료해서는 안됩니다. 어떤 사람들은 과거에 다른 모든 응용 프로그램과 다른 위치에 일부 응용 프로그램을 갖는 것이 좋은 생각이라고 생각했습니다. /bin
루트 파티션에 있습니다. 일부 시스템에서는 루트 파티션의 공간이 제한되어 있으며 비 필수 바이너리 (예 : 모든 사용자 응용 프로그램)가로 이동했습니다 /usr/bin
.
echo $PATH
터미널을 입력 하여 쉘이 명령을 찾기 위해 찾는 경로를보십시오. 인쇄 된 순서대로 파일을 검사합니다.
모든 솔루션을 찾을 수는 없으며 대부분 시스템 명령 (예 : 시스템에서 사용하는 명령)을 보유 /bin
하고 sbin
있기 때문입니다.
/usr/bin
"Program Files"
유닉스 세계 라고 할 수 있습니다 . 에 대해서는 /opt
거의 패키지 설치를 위해 해당 위치를 사용하도록 선택, 같은 사용하여 패키지에 적용 /etc/
또는 /var
위치로