거의 모든 최신 주류 Linux 및 Unix에는 /bin
심볼릭 링크가 있는데 왜 /usr/bin
기본적으로 PATH
포함이 /usr/bin
뒤에 오는 걸까요 /bin
? 물건을 제거하여 청소 하면 PATH
파손될 수 있나요 /bin
? 호환성상의 이유로 기본적으로 존재한다고 생각하는데, 무엇인지는 알 수 없습니다.
답변1
당신이 언급했듯이. /bin 폴더는 대부분의 시스템에서 전체 시스템 사용자 실행 파일이 있는 곳입니다. 하지만 시간이 지날수록,/쓰레기통,/sbin유사하게 다음으로 이전했습니다./usr하위 폴더. 대부분의 시스템은 이제 링크를 생성합니다. /빈 -> /usr/bin 이는 누군가가 이전 쉘 버전, 사용자 스크립트 또는 프로그램에서 단순 하드코딩된 경로를 실행하고 있는 경우를 대비한 것입니다. 이 모든 것들은 10년 이상 업데이트되지 않은 경우에도 작동할 것으로 예상됩니다. :)
$PATH에서 이를 제거해야 하는지에 대한 질문: 일반 사용자 계정(fe 루트 아님)을 사용하고 있고 다음과 같은 경우틀림없이필요한 프로그램은 실행하지 않습니다./쓰레기통- 할 수 있어요. 당신이 가지고 있는 주요 질문은, 당신이 그것을 유지한다면 정말로 당신을 귀찮게 할 것인가입니다.
답변2
고대에는 언제큰디스크는 여러 MiB이고 Unix 시스템에는 자체 실행 파일/라이브러리 /bin
등이 있습니다 /lib
. 사용자는 기계를 시작할 필요가 없으므로 사용자가 사용할 수 있도록 디스크에 배치되는 추가 기능(아마도 저렴하고 느리지만 더 큰 시설)을 요청합니다 /usr
. 이후 디스크는 GiB 범위에 도달했고 머신은 개인용(대학/학과 컴퓨터가 아닌 내 컴퓨터)이 되었으며 단 하나의 디스크로 시작되었습니다. 이 디스크는 작은 디스크 /
와 더 큰 디스크 로 세분화(분할)되었습니다 /usr
. (또는 그 안에 있는 데이터) /
이 살아남아(또는 해당 내용이 포함된 작은 "복구" 디스크) 시스템을 복구하는 데 사용될 가능성이 더 높습니다. 오늘날 "필수" 바이너리와 "있으면 좋은" 바이너리를 구별하는 것은 거의 의미가 없습니다(이제 대부분의 Linux 배포판의 전체 설치를 펜 드라이브에 저장할 수 있습니다). 오늘날 파일 시스템 레이아웃을 설계했다면 /usr
전혀 없을 수도 있습니다.