찾기를 사용하여 파일이 나타나는 위치를 찾는 방법

찾기를 사용하여 파일이 나타나는 위치를 찾는 방법

내 시스템에 여러 개의 Java 설치가 있고 일부는 IDE에 의해 자동으로 설치되었으며 해당 Java가 어디에 있는지 알고 싶습니다. 그래서 나는 locate그들을 찾는 데 사용하고 싶습니다 . 나의 첫 시도

locate java

수천 건의 조회수가 발견되었습니다 .*java.*.

정확한 이름을 가진 파일만 찾도록 타겟팅을 제한하는 방법이 있나요? Java가 포함된 경로가 아닙니다. 이름에 Java가 포함된 파일이 아닙니다.

추신: 이전에도 비슷한 문제가 있었던 적이 있으므로 Java 부분은 무시하고 파일 찾는 문제로 처리해 주시기 바랍니다. 이는 문제가 발생한 모든 항목을 조회하는 것일 수도 있습니다 gcc.

답변1

에서 man locate:

NAME정확한 이름이 아닌 파일을 검색하려면 다음을 사용하십시오 *NAME*.
locate -b '\NAME'

locate -b '\java'
  • -b- 지정된 패턴을 가진 기본 이름만 일치합니다.

답변2

locate대부분의 구현 에서는 다음을 수행합니다 .

locate '*/java'

작동해야합니다.

매개변수에 와일드카드 문자가 포함되어 있지 않으면 매개변수는 파일 경로에서 문자열로 검색됩니다.

와일드카드 문자가 포함된 경우 와일드카드 문자는 전체 경로와 일치해야 합니다. 따라서 여기에는 /java.

답변3

find포지셔닝하는 것이 더 나은 방법 일 수 있습니다자바파일 이름을 지정합니다.

find . -type f -name *java*

여전히 찾기를 사용하려면 다음을 사용하거나 locate -b사용할 수 있습니다.

locate java | grep java$

관련 정보