명령 파일이있는 6 개의 디렉토리가 있습니다. 이들은 /bin
, /sbin
, /usr/bin
, /usr/sbin
, /usr/local/bin
와 /usr/local/sbin
.
이것들의 차이점은 무엇입니까? 직접 스크립트를 작성하는 경우 어디에 추가해야합니까?
관련 :
명령 파일이있는 6 개의 디렉토리가 있습니다. 이들은 /bin
, /sbin
, /usr/bin
, /usr/sbin
, /usr/local/bin
와 /usr/local/sbin
.
이것들의 차이점은 무엇입니까? 직접 스크립트를 작성하는 경우 어디에 추가해야합니까?
관련 :
답변:
이에 대해서는 Linux 용 파일 시스템 계층 표준 (FHS)을 참조하십시오 .
/bin
: /usr
파티션을 마운트 하기 전에 사용할 수있는 바이너리의 경우 . 초기 부팅 단계에서 사용되는 간단한 바이너리 또는 단일 사용자 모드 부팅에서 사용할 수있는 바이너리에 사용됩니다. 같은 바이너리 생각 cat
, ls
등
/sbin
: 동일하지만 수퍼 유저 (루트) 권한이있는 바이너리에 필요합니다 .
/usr/bin
: 첫 번째와 동일하지만 일반적인 시스템 전체 바이너리 입니다.
/usr/sbin
: 위와 동일하지만 수퍼 유저 (루트) 권한이있는 바이너리에 필요합니다.
직접 스크립트를 작성하는 경우 어디에 추가해야합니까?
위의 어느 것도 아닙니다. /usr/local/bin
또는 /usr/local/sbin
시스템 전체에서 사용 가능한 스크립트를 사용해야합니다 . local
경로는 시스템 패키지 (이것이 관리하지 의미합니다 오류 데비안 / 우분투 패키지).
를 들어 사용자 범위의 스크립트 사용 ~/bin
(홈 디렉토리에 개인 bin 폴더를).
FHS는 다음과 /usr/local
같이 말합니다 .
이 호스트 와 관련된 로컬 데이터의 3 차 계층 . 일반적으로 추가 하위 디렉토리 (예 :,
bin/
)lib/
가share/
있습니다.
/bin
하면 문제가 발생합니까? 귀하의 답변에 따라 스크립트를 옮겼지만 여전히 궁금합니다.
Severity:Serious Certainty:Certain
ls -la
아무것도 보여주지 않는다
나는 1 년 전 비슷한 질문을했다 : 내 bash 스크립트를 배치하는 가장 좋은 디렉토리?
man hier
(계층 구조)는 모든 디렉토리를 나열합니다. 이진 파일만을 얻으려면 다음을 사용하십시오.
$ man hier | grep -E 'bin$|sbin$|^.{7}(/bin)|^.{7}(/sbin)' -A2
/bin This directory contains executable programs which are needed in single user
mode and to bring the system up or repair it.
--
/sbin Like /bin, this directory holds commands needed to boot the system, but
which are usually not executed by normal users.
--
/usr/X11R6/bin
Binaries which belong to the X-Window system; often, there is a symbolic
link from the more traditional /usr/bin/X11 to here.
--
/usr/bin
This is the primary directory for executable programs. Most programs exe‐
cuted by normal users which are not needed for booting or for repairing the
--
/usr/local/bin
Binaries for programs local to the site.
--
/usr/local/sbin
Locally installed programs for system administration.
--
/usr/sbin
This directory contains program binaries for system administration which
are not essential for the boot process, for mounting /usr, or for system
모든 사용자가 스크립트에 액세스 할 수 있도록에 넣을 수 있습니다 /usr/local/bin
. sudo
여기에서 파일을 추가 / 변경 하려면 액세스 권한 이 필요 합니다. 참조 : 사용자 정의 Linux 스크립트를 배치하기위한 표준 장소가 있습니까?
자신의 사용자 ID 스크립트의 경우에 넣으십시오 /home/YOUR_NAME/bin
. 경로를 자동으로 설정하려면 먼저이 디렉토리를 작성하고 터미널을 다시 시작해야합니다 ~/.profile
. 참조 : $ PATH에 / home / username / bin을 추가하는 방법?
Ask Ubuntu 에서 더 복잡한 bash 스크립트를 가져 와서 설치 스크립트로 설정하는 것을 고려하고 있습니다 github
. 몇 가지 예는 다음과 같습니다.
내가 생각하는 스크립트가 설치되어 있어야 /usr/bin
는 $ PATH에있는,하지만 난 아직 적절한 위치에 확실하지 않다.
man hier
gertvdijk의 답변이 해결하지 못한 부분이라고 생각합니다 . 즉, 웹에서 읽을 필요없이 명령 줄에서 디렉토리 계층 구조를 얻을 수 있습니다 (예 : 여기).
man hier
정보 적으로 불충분 한 IMO 발췌)을 언급했습니다 . 그러나 이것은 내 개인적인 의견 일 수 있습니다.
/usr/X11R6/bin
되어 /usr/local/bin
있으며에 포함되어 man heir
있습니다.
/usr/local/bin
패키지 관리자가 아니기 때문에 어떻습니까?