/ bin과 / usr / bin의 차이점 UNIX가 처음 작성 /bin되어

나는이 웹 사이트에서 이것을 읽었고 이해가되지 않습니다.

http://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/basic/node32.html

UNIX가 처음 작성 /bin되어
/usr/bin물리적으로 두 개의 다른 디스크에 있을 때 : /bin더 작은 (더 비싼) 디스크와 /usr/bin더 큰 느린 디스크에 있습니다. 이제는 다음에 /bin대한 심볼릭 링크
/usr/bin입니다. 기본적으로 동일한 디렉토리입니다.

그러나 폴더의 ls경우 /bin폴더보다 내용이 적습니다 /usr/bin(적어도 내 실행중인 시스템에서).

누군가 차이점을 설명해 주시겠습니까?



답변

뭐? no /bin//usr/binFHS 호환 시스템에서 심볼릭 링크가 아닙니다 . 예를 들어, 이것을 무시하는 인기있는 Unices /bin와 Linux /sbin가 여전히 있습니다 /usr/bin. Arch Linux에서 심볼릭 링크가 되어 /bin있습니다. CD).

/bin

시스템 관리자와 사용자 모두가 사용할 수 있지만 다른 파일 시스템이 마운트되지 않은 경우 (예 : 단일 사용자 모드) 필요한 명령이 포함되어 있습니다. 스크립트에서 간접적으로 사용하는 명령을 포함 할 수도 있습니다.

/usr/bin/

이것은 시스템에서 실행 가능한 명령의 기본 디렉토리입니다.

기본적으로 /bin응급 복구, 부팅 및 단일 사용자 모드를 위해 시스템에 필요한 실행 파일이 포함되어 있습니다. /usr/bin필요하지 않은 바이너리가 들어 있습니다.

별도의 디스크 / 파티션에있을 수 있으며 /bin와 동일한 디스크에 있어야합니다 /. /usr/bin다른 디스크에있을 수 있습니다.하지만이 구성은 잠시 동안 고장난 것입니다 (예를 들어 systemd는 부팅시이 구성에 대해 경고합니다).

완전한 정확성을 위해 일부 유니스가 FHS를 무시할 수 있습니다 .FHS는 Linux 표준 일 뿐이므로 SUS, Posix 또는 기타 UNIX 표준에 포함되어 있지만 IMHO이어야합니다. 그러나 LSB 표준 의 일부입니다 .


답변

/sbin -부팅, 저수준 시스템 수리 또는 유지 관리에 필요한 바이너리 (실행 수준 1 또는 S)

/bin -모든 실행 레벨에서 정상 / 표준 시스템 기능에 필요한 바이너리.

/usr/bin -로컬로 로그인 한 사용자가 액세스 할 수있는 응용 프로그램 / 배포 바이너리

/usr/sbin -/ sbin에서 항목을 지원하거나 구성하는 응용 프로그램 / 배포 바이너리

/usr/share/bin -웹을 통해 액세스 할 수있는 응용 프로그램 / 배포 바이너리 또는 스크립트 (예 : Apache 웹 응용 프로그램)

*local*-바이너리는 배포판의 일부가 아닙니다. 로컬로 컴파일되거나 수동으로 설치됩니다. 보통은 /local/bin없지만 항상 a /usr/local/bin/usr/local/share/bin입니다.


답변

이 문제에 대한 일종의 “업데이트”:

최근 일부 Linux 배포판은에 통합 /bin되어 /usr/bin관련 /lib되어 /usr/lib있습니다. 때로는도 (/usr)/sbin/usr/bin(아치 리눅스). 따라서 /usr와 동시에 사용할 수있을 것으로 예상됩니다 /.

두 계층 사이의 구별은 이제 불필요한 복잡성으로 간주됩니다. 이 아이디어는 한 번 /bin부팅 할 때만 사용할 수 있었지만 초기 램 디스크를 사용하면이 기능이 더 이상 사용되지 않습니다.

나는 Fedora Linux (2011)와 Arch Linux (2012)가 이런 식으로 가고 있다는 것을 알고 Solaris는 오랫동안 (> 15 년) 이것을하고 있습니다.


답변

Linux에서 /bin하고 /usr/bin있습니다 그것을 가지고하는 것이 일반적이기 때문에 여전히 분리하는 /usr별도의 파티션에 (미묘한 방법으로이 구성 나누기, 가끔 있지만). In /bin/마운트 된 경우에만 필요한 모든 명령입니다 .

Solaris 및 Arch Linux (및 기타) /bin에서는 심볼릭 링크 /usr/bin입니다. 아치는 또한 그 /sbin/usr/sbin연관되어있다 /usr/bin.

특히 노트, 문장의 /bin“시스템 관리자”명령입니다 및 /usr/bin사용자 명령을위한입니다 사실이 아니다 (당신은 그렇게 생각하지 않는 한 bash그리고 ls당신은 많은 학습이있는 경우에만 관리자,위한 것입니다). 관리자 명령은 /sbin및에 /usr/sbin있습니다.


답변

많은 UNIX 기반 시스템이 있습니다. Linux, AIX, Solaris, BSD 등. 원래 인용문은 모든 특징에 적용되는 히스토리 컨텍스트를 제공합니다. 하나의 특정 시스템을 보면 다른 결과가 나타납니다. 원래 인용문의 마지막 문장은 일부 버전 및 배포판에만 해당됩니다.