명령 줄 응용 프로그램을 어디에 저장해야합니까?


46

명령 줄 응용 프로그램을 다운로드하면 내 ~/Downloads/디렉토리에 있습니다. 그러나 나는 이것이 명령 줄 응용 프로그램을 찾는 것이 잘못된 곳이라고 생각합니다. Mac OS X 파일 시스템에서 명령 줄 응용 프로그램을 어디에 저장해야합니까?

/Applications/또한 잘못된 느낌으로 데스크톱 응용 프로그램에 적합합니다. 그리고 /bin/OS X에 속하는 응용 프로그램에 더 적합합니다.


나는 / bin 또는 / Applications에 직접 물건을 넣는 것이 일반적으로 좋지 않다는 당신의 감정에 동의합니다. Patrix의 대답은 프로그램과 스크립트의 일반적인 명령 줄 저장에서 본 가장 일반적인 위치입니다.
bmike


2
링크 된 질문 이 여러 제 3 자 선택을 저글링하는 것에 대해 더 많이 보이고 수동으로 다운로드 한 응용 프로그램은 어디에서 더 순수 하기 때문에 이것들은 중복으로 보이지 않습니다 .
bmike

답변:


44

OS X은 유닉스 문화 유산에서 제공되므로 /usr/local/bin특정 사용자가 아닌 로컬에 시스템에 속하는 명령 행 응용 프로그램 및 스크립트를 위해 시스템 파일을 저장하려고합니다 . 다음을 실행하여이 디렉토리를 먼저 작성해야 할 수도 있습니다.

sudo mkdir -p /usr/local/bin

다음을 실행하여 명령 줄 응용 프로그램을 해당 폴더로 이동할 수 있습니다.

sudo mv my-binary /usr/local/bin/

/usr/local/bin터미널에서 표준 검색 경로의 일부 인지 확인하려면 내용을 확인하고 /etc/paths필요한 경우 추가하십시오.

grep -w /usr/local/bin /etc/paths || sudo sh -c 'echo /usr/local/bin >> /etc/paths'

일부 사용자는 사용자 수준 스크립트를위한 두 번째 디렉토리를 만들지 만 이는 개인 취향에 따라 달라질 수 있습니다.

나는 일반적으로 각 사용자 폴더에 bin 디렉토리를 만든 다음 Finder에서 숨 깁니다. 그러나 숨길 지 여부를 스스로 결정할 수 있습니다.

 mkdir ~/bin
 chflags hidden ~/bin

이 경우, 쉘 시작 스크립트 ( ~/.bash_profile표준 쉘인 bash의 경우)를 수정하여 각 사용자의 경로에이 위치를 포함 시키려고합니다.

 export PATH=$PATH:~/bin

또는 실행할 때 각 앱에 대한 경로를 하드 코딩합니다.


3
이것은 절대적으로 가장 좋은 제안이며 내가 물어 본 사람에게 줄 것입니다. 1) /etc/launchd.conf는 경로를 추가해야하는 장소 일 수도 있습니다. 2) homebrew고유 한 쉘 스크립트 를 통해 설치된 Unix 유틸리티에 / usr / local /을 사용하지만 ~ / Dropbox / bin /이 있고 $ PATH에 추가되어 모든 Mac에 모든 사용자 정의 쉘 스크립트가 있습니다. 그러나 나는 대신 / usr / local / bin / 외에도 그렇게합니다.
TJ Luoma 1

/ usr / local / bin은 사용자 스크립트 일반적인 UNIX 지점으로, 시스템의 다른 사용자에게 액세스 권한을 부여합니다. 스크립트를 배치하면 모든 사용자의 $ PATH에 스크립트를 쉽게 넣을 수 있습니다. 그러나 Mac 방식은 대부분의 Mac에 단일 사용자가 있기 때문에 ~/bin디렉토리 를 생성하고 보이지 않게 chflags uchg ~/bin하고 사용자에게 추가하여 ~/.bash_profile$ PATH의 일부로 만드는 것입니다. ~/bin보안 및 마이그레이션을위한 탁월한 위치입니다. 그렇지 않으면, / usr / local / bin에 남겨둔 것들에 대해 기억해야합니다. 그리고 ln -s ~/bin ~/Dropbox/또한 좋습니다.
chillin

7

/opt사용자 정의 Unix 소프트웨어가 규칙에 따라 표시되는 또 다른 위치 인 디렉토리를 작성하십시오 .


5
/opt/완전한 응용 프로그램에 매우 유용한 반면 /usr/local/bin/독립형 명령 행 스크립트에 더 적합합니다. /opt/관련 스크립트 모음이 라이브러리 (예 :)로 작동하는 경우 에 사용하는 것이 종종 바람직합니다 /opt/myscriptslib/bin/.
plasmid87

조언을 주셔서 감사합니다. 개인적으로 / opt / 폴더를 만들어 소프트웨어를 넣은 다음 모든 실행 파일에 대해 / usr / local / bin에 대한 심볼릭 링크를 만들었습니다. 그런 다음 경로 환경 변수에 / opt / myspecific-soft를 추가 할 필요가 없습니다. .
рüффп
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.