나는이 웹 사이트에서 이것을 읽었고 이해가되지 않습니다.
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/bin
FHS 호환 시스템에서 심볼릭 링크가 아닙니다 . 예를 들어, 이것을 무시하는 인기있는 Unices /bin
와 Linux /sbin
가 여전히 있습니다 /usr/bin
. Arch Linux에서 심볼릭 링크가 되어 /bin
있습니다. CD).
시스템 관리자와 사용자 모두가 사용할 수 있지만 다른 파일 시스템이 마운트되지 않은 경우 (예 : 단일 사용자 모드) 필요한 명령이 포함되어 있습니다. 스크립트에서 간접적으로 사용하는 명령을 포함 할 수도 있습니다.
이것은 시스템에서 실행 가능한 명령의 기본 디렉토리입니다.
기본적으로 /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 등. 원래 인용문은 모든 특징에 적용되는 히스토리 컨텍스트를 제공합니다. 하나의 특정 시스템을 보면 다른 결과가 나타납니다. 원래 인용문의 마지막 문장은 일부 버전 및 배포판에만 해당됩니다.