프로그램 경로 / 별칭을 변경하는 방법?


1

Linux에서 작동하는 방법을 잘 모르겠지만 프로그램 이름을 다음과 같이 입력 할 수 있습니다. ls, man등을 모든 디렉토리에 저장하고 프로그램을 실행합니다.

이전 버전의 ImageMagick을 제거하고 새 버전을 빌드했습니다. convert 명령 (ImageMagick 실행) 다음 오류가 발생합니다.

/usr/bin/convert: No such file or directory

그래서 나는 달렸다.

find / -name convert

어느 것이 이것을 보여 줬는가?

/usr/local/bin/convert

그래서 ImageMagick이 실제 실행 파일을 이번에는 다른 디렉토리에 저장하는 몇 가지 이유가 있지만 프로그램을 실행하려고하면 이전 디렉토리를 찾습니다.

어떻게 업데이트 할 수 있습니까? convert 경로 / 별칭 / 바로 가기 (용어 실패) 새 경로로?


새 경로와 이전 경로 사이에 심볼릭 링크를 만들 수 있습니다. 이것은 약간의 해킹처럼 느껴지지만, 움직임을 시도하는 것보다 일을 망칠 가능성이 적습니다. 또는 ImageMagick의 빌드 옵션을 살펴보고 빌드 할 때 변경할 수있는 경로가 있는지 확인할 수도 있습니다
Crippledsmurf

놓다 /usr/local/bin 너의 길에?
DavidPostill

@DavidPostill 당신은 $PATH 변하기 쉬운? 그렇다면 이미 거기에 있습니다. /usr/local/jdk/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin
Nate

1
다음의 결과는 무엇입니까? ls -al /usr/local/bin/convert? 무엇의 출력은 무엇입니까? alias?
DavidPostill

@DavidPostill 해당 명령의 출력은 다음과 같습니다. -rwxr-xr-x 1 root root 24743 Nov 28 21:57 /usr/local/bin/convert*. 별칭의 출력은 꽤 길지만, convert 그 안에.
Nate

답변:


1

당신은 당신의 /usr/local/bin/ 디렉토리가 당신의 디렉토리에있다. $PATH:

echo $PATH

이것은 Bash가 실행 파일을 검색하고 콜론으로 구분 된 모든 디렉토리를 반환해야합니다 ( " : " ). 결과는 다음과 유사해야합니다.

/usr/local/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/texbin

Bash 쉘은 다음을 사용합니다. '해시 테이블' 실행 파일의 전체 경로 이름을 기억합니다. 자세한 내용은 man bash 및 검색 '쉘 빌딩 명령' .

프로그램을 새로 설치 한 후에이 해시 테이블이 자동으로 업데이트되지 않을 수도 있습니다. 현재 터미널에서이 업데이트를 적용하려면 다음 명령을 사용하십시오.

hash -r

지금     어느 개종자

돌아 가야한다.

/usr/local/bin/convert

나는 그것이 그랬다고 생각한다. 고맙습니다!
Nate
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.