왜 'makeinfo'를 '찾거나' 찾을 수 없나요? [폐쇄]

왜 'makeinfo'를 '찾거나' 찾을 수 없나요? [폐쇄]

내가 할 때 :

locate makeinfo

또는

find / -name "*makeinfo*"

나는 아무것도 얻지 못했습니다.

하지만 이렇게 하면 makeinfo --help올바른 도움말 출력이 제공됩니다.

어떻게 이럴 수있어? 실행 파일인 경우 makeinfo다음 위치에 있어야 합니다.어딘가에, 옳은? 또는 별칭일 수도 있지만 그렇지 않습니다. 나는 이 파일들 .bashrc도 모두 확인했다. .bash_aliases어떻게 이런 일이 일어났는지 상상할 수 없습니다.

이 이상한 행동의 이유는 무엇입니까?

편집: type makeinfo그리고 which makeinfo둘 다 출력됩니다 /usr/bin/makeinfo.

답변1

문제를 발견했습니다.

locate콘텐츠를 더 빠르게 검색하기 위해 구축한 데이터베이스에 의존하기 때문에 빠른 것으로 보입니다 . 데이터베이스는 매일 업데이트됩니다. 이 updatedb명령이 이를 수행합니다. 24시간마다 실행되는 것으로 나타났는데 updatedb, 를 이용하여 파일을 검색해 보니 locate파일이 생성된 지 24시간이 지나지 않았습니다. 을 실행한 후 sudo updatedb, Locate는 파일을 찾을 수 있습니다.

locateupdatedb자세한 내용은 맨페이지를 읽어 보시기 바랍니다 .

에 관해서는 find, 나는 조급해 보였고 그것이 실행될 때까지 기다리지 않았습니다.

답변2

나는 "locate(1)"을 실제로 사용하거나 이해하지 못합니다. 그러나 "find(1)"은 기본적으로 파일 시스템 라인에 걸쳐 있지 않기 때문에 명령을 찾지 못할 수도 있습니다. makeinfo 명령은 /usr/bin( which makeinfo찾으려면 입력)에 있을 수 있으며 "/usr" 파티션은 다른 파일 시스템에 있을 수 있습니다.

편집 : 아! 문제가 보입니다! "*makeinfo*"를 사용하지 마십시오. "makeinfo"를 사용하세요. "makeinfo"라는 문자열이 포함된 파일을 정말로 찾으려면 다음을 사용하세요 find / -type f -name '*makeinfo*'. 즉, 파일만 비교하고(디렉토리가 아님 - 더 빠름) 큰따옴표가 아닌 작은따옴표를 사용합니다.

최종 편집: 내 대답은 /way/off입니다. 그의 문제는 큰 따옴표와 관련이 없습니다.

관련 정보