우분투가“명령을 찾을 수 없습니다”라고 말하는 데 왜 그렇게 오래 걸립니까?


24

어떤 이유로, 내 설정을 사용하면 실수로 명령을 입력했을 때 "명령을 찾을 수 없음"으로 응답하는 데 Ubuntu가 몇 초가 걸릴 수 있습니다. 왜 그렇게 오래 걸립니까? 기다려야하는 시간을 단축 할 수있는 방법이 있습니까?

내 PATH에 13 개의 디렉토리가 있지만, 그럼에도 불구하고 (대부분은 파일이 몇 개 밖에 없지만) 13 개의 디렉토리에서 명령을 검색하는 데 몇 초가 걸리지 않아야합니까?

답변:


34

쉘은 단순히 보는 것 이상을 수행 $PATH합니다. 명령을 찾지 못하면 bash 함수 command_not_found_handle가 실행되어 python 스크립트를 호출합니다 /usr/lib/command-not-found. 패키지 목록에서 명령이 작동하기 위해 설치되어야하는 프로그램을 검색합니다. 해결 방법을 알고있는 오타의 경우 Ctrl+ C를 누르면 검색 프로세스가 중단됩니다.

오타에 유용한 메시지의 예 :

$ aptget update
No command 'aptget' found, did you mean:
 Command 'apt-get' from package 'apt' (main)
aptget: command not found

누락 된 패키지에 대한 유용한 메시지의 예 :

$ deja-dup
The program 'deja-dup' is currently not installed.  You can install it by typing:
sudo apt-get install deja-dup

https://wiki.ubuntu.com/CommandNotFoundMagic 의 근거를 참고 하십시오.


5
Linus는 여기에 무언가를 게시했습니다 : plus.google.com/u/0/102150693225130002912/posts/iz7zR9B1Prv
bcbc

그리고 나는 이것이 정말로 놀라운 기능이라고 생각합니다! 존재하지만 예상되지 않는 명령을 사용하는 경우 명령을 입력하여 무엇을 설치해야하는지 직접 알려줍니다.
Thorbjørn Ravn Andersen

8

"command-not-found"라는 패키지 때문입니다. 설치 제거하여 응답 시간을 단축 할 수 있습니다.

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