실행 파일 및 저장 위치에 대한 초보자 가이드

3195 단어 osxbashclibeginners
이것을 인정하는 것이 더 창피해야 할 수도 있지만 CLI를 설치할 때 항상 일종의 신에게 기도하고 일반적으로 작동합니다. 하지만 최근에 새 컴퓨터를 사용하기 때문에 많은 것을 설치해야 했고, Sublime 3의 OS X용 CLI 설치 지침을 따르면서 다음과 같이 읽었습니다.

The first task is to make a symlink to subl. Assuming you've placed Sublime Text in the Applications folder, and that you have a ~/bin directory in your path, you can run:

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/bin/subl



이제 나는 완전히 이해하지 못하는 것을 복사하여 붙여 넣는 죄가 없다고 말하고 싶습니다. 그러나 때로는 이 두뇌에 너무 많은 공간이 있습니다. Sublime 3에 패키지로 제공되는 subl 파일에서 ~/bin 로 심볼릭 링크를 만들고 있는 것처럼 보입니다. 그래서 나는 mkdir bin 그들의 명령을 복사/붙여넣기하고 명령을 찾을 수 없습니다.

그리고 나서 나는 아마도 여기에서 무슨 일이 일어나고 있는지 잘 모를 것입니다. 또한 나는 때때로 이것을 /usr/local/bin에 넣지 않습니까?

그래서 나는 약간의 조사를 했고 man hier 를 실행하여 파일 시스템 계층 매뉴얼 페이지를 살펴보았고, 안녕, 우리는 혼란스러운 중복 디렉토리 이름을 가지고 있습니다:

최신 OS X 파일 시스템:
  • / 파일 시스템의 루트 디렉토리
  • /bin 단일 사용자 및 다중 사용자 환경 모두에 기본적인 사용자 유틸리티
  • /dev 장치 파일
  • /etc 시스템 구성 파일
  • /mach_kernel 커널 실행 가능(부팅 시 메모리에 로드된 운영 체제)
  • /sbin 단일 사용자 및 다중 사용자 환경 모두에 기본적인 시스템 프로그램 및 관리 유틸리티
  • /tmp 임시 파일
  • /usr 시스템 전체의 읽기 전용 파일. 설치된 모든 소프트웨어는 여기로 이동합니다.
  • /bin OS에서 제공하는 공통 유틸리티, 프로그래밍 도구 및 응용 프로그램입니다.
  • /lib OS에서 제공하는 아카이브 라이브러리.
  • /local 시스템 전체의 읽기 전용 파일이지만 사용자, 즉 귀하가 제공한 파일만.
  • /bin 실행 파일
  • /lib 도서관

  • /var

  • 따라서 OS에서 제공하는 실행 파일과 라이브러리는 /bin , /sbin , /usr/bin , /usr/lib 에 있을 것입니다. 시스템 전체에 설치하고 싶은 것 외에 모든 사용자가 사용할 수 있어야 하는 것은 /usr/local 에 들어가야 하고 실행 파일(symlink를 시도한 숭고한 CLI 같은)은 /usr/local/bin 에 들어가야 합니다.

    따라서 원본 명령을 편집하여 Sublime CLI를 다음과 같이 설치할 수 있습니다.

    sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
    

    그러나 원본 Sublime 명령을 자세히 살펴보면 ~/bin 의 약어인 /Users/<username>/bin 를 가리키고 있습니다. 현재 사용자만 사용할 수 있어야 하는 실행 파일을 여기에 저장하는 것이 일반적인 규칙이며 sudo를 사용하지 않고 필요하지 않을 때 루트에 항목을 설치하지 않는 것이 좋습니다. 그러나 그것을 사용하려면 다음을 포함하도록 my ~/bin를 편집하여 $HOME/bin (또는 .bash_profile )를 내 경로 변수(실행 파일이 저장된 디렉토리 목록)에 추가해야 합니다.

    export PATH="$HOME/bin:$PATH"
    

    이제 원래 Sublime 명령을 실행하면 의도한 대로 작동합니다. 그리고 짜잔! 이제 나는 내 마음의 내용까지 할 수 있고 subl/usr 디렉토리에서 무슨 일이 일어나고 있는지 더 잘 이해할 수 있습니다.

    참고 사항: /bin/lib 모두에 //usr가 있는 이유에 대한 일부 기록을 보려면 this post by Rob Landley from 2010 을 확인하는 것이 좋습니다. 스포일러 경고, 제한된 디스크 공간에서 작업하는 것으로 인한 보류이며 더 이상 이유가 아닙니다! 이 분할의 지속적인 존재에 대한 설명은 회고에 반복적으로 만들어졌습니다! 그것이 개발자로서 자신에 대해 기분이 나아지지 않는다면 어떻게 될지 모르겠습니다.

    좋은 웹페이지 즐겨찾기