현재 디렉토리에 관계없이 주어진 프로그램을 실행하려면 어떻게해야합니까? /bin
폴더 에서 프로그램에 대한 심볼릭 링크를 만들어야 합니까?
~/bin/
폴더 를 만들고 경로에 THAT를 추가하고 해당 폴더에 어디에서나 실행하려는 모든 항목에 대한 심볼릭 링크를 만드는 것이 좋습니다.
현재 디렉토리에 관계없이 주어진 프로그램을 실행하려면 어떻게해야합니까? /bin
폴더 에서 프로그램에 대한 심볼릭 링크를 만들어야 합니까?
~/bin/
폴더 를 만들고 경로에 THAT를 추가하고 해당 폴더에 어디에서나 실행하려는 모든 항목에 대한 심볼릭 링크를 만드는 것이 좋습니다.
답변:
export PATH=$PATH:</path/to/file>
명령 행에 입력 하면 세션 길이 동안 만 지속됩니다.
변경하려면 export PATH=$PATH:</path/to/file>
~ / .bashrc 파일에 영구적으로 추가 하십시오 (끝 부분에 괜찮습니다).
짧은 대답은 디렉토리를 불문하고 프로그램을 실행하려면 검색 경로에 프로그램 디렉토리가 있어야한다는 것입니다. 프로그램을 해당 경로에 이미있는 폴더에 넣거나 경로에 새 폴더를 추가하면 문제가 해결 될 수 있습니다. 가장 좋은 대답은 다음에 달려 있습니다.
이 프로그램은 소스에서 직접 컴파일 한 다운로드 프로그램입니까?
이미 설치 메커니즘이있을 것입니다. 프로그램을 컴파일 한 폴더에서 root로 'make install'을 실행하십시오.
이 프로그램은 컴퓨터에서 표준 프로그램의 일부로 사용 가능하게하려는 다운로드 프로그램입니까?
이런 종류의 응용 프로그램을 표준 폴더에 넣는 것이 좋습니다. 이러한 프로그램에 / usr / local / bin과 같은 디렉토리를 사용하는 것이 일반적입니다. 이를 위해서는 루트 액세스 권한이 필요합니다.
이 프로그램은 귀하가 직접 작성했거나 컴퓨터에 특별한 권한이없는 프로그램입니다.
홈 디렉토리에 'bin'이라는 폴더를 작성하고 거기에 프로그램을 배치하십시오. 이 폴더의 전체 경로를 추가하기 위해 로그인 스크립트를 편집해야 할 수도 있습니다 (예 : / usr / home / jeremy / bin)
현재 디렉토리를 검색 경로에 추가 할 수는 있지만 모든 새 프로그램에서이 작업을 계속 수행해야하며 장기적으로 더 많은 작업이 필요합니다.
/bin
디렉토리에 파일에 대한 링크를 배치하는 것은 여러 가지 이유로 최선의 방법이 아닙니다.
/bin
디렉토리는 시스템을 실행에 필요한 프로그램 (같은 것들에 예약 할 예정이다 chmod
, mkdir
등).실제로 실행 파일을 /usr/bin/
또는에 배치 (설치) 할 수 있습니다 /usr/local/bin/
. 물론 그 시점에서 프로그램을 수동으로 설치했습니다. 배포판이 나머지 프로그램의 방식을 추적하지는 않습니다. 필요할 때 수동으로 업그레이드하고 원하는 경우 수동으로 제거해야합니다. 또한 패키지가 의존하는 패키지를 알아야합니다 (이미 프로그램을 사용하고있는 것처럼 들리지만 일반적으로 처리됩니다 ...).
다른 사용자가 사용할 것으로 예상되는 프로그램을 설정하지 않는 한, 그것은 내가 일반적으로하는 것이 아닙니다. 홈 디렉토리에 나를 위해 bin 디렉토리를 만들고 ~/bin/
내 PATH
환경 변수 에 추가 하기 위해 쉘 프로파일을 편집 합니다. 다른 시스템과 분리되어 있기 때문에 설치 한 프로그램을 쉽게 추적 할 수 있습니다.
foo
쉘이 현재있는 디렉토리에서 명령을 실행 하려면 기본적으로 두 가지 옵션이 있습니다.
./foo
쉘 프롬프트에서 입력 하십시오.
추가 .
(디렉토리를 .
받는 "현재 디렉토리"에 대한 이름입니다) PATH
환경 변수; 이 작업을 수행하는 방법은 사용중인 쉘에 따라 다릅니다.
2.는 다중 사용자 시스템의 보안 위험 요소입니다. cd
디렉토리에 /tmp
있고 악의적 인 사용자가 ls
거기에 이름이 지정된 맬웨어 바이너리를 생성했다고 가정 해보십시오.
덤비는 것은 PATH
실수로 악성 프로그램을 실행까지를 엽니 다. 표준은 "로컬"항목을 설치 하는 것입니다 (유닉스 사용을 체계화하는 FHS/usr/local
참조 : 약간 날짜가 있지만 이론적 근거를 제공함). 일반적으로 모든 사용자에게 적용됩니다./usr/local/bin
PATH
내 "로컬로 설치된"프로그램은에 $HOME/bin
의해 표준 무용으로 설정 ./configure --prefix=$HOME ...
되어 있으며, 몇 가지 (bash) 별칭과 결합하여 시스템 하나에 자체 빌드 된 git을 선택합니다 (충돌하지 않는 프로그램 PATH
은 맨 끝에 있습니다).