ksh:Linux - 특정 디렉터리/파일을 찾는 명령

ksh:Linux - 특정 디렉터리/파일을 찾는 명령

Java 코드에서 com.oracle.semisal.abc와 같은 일부 폴더 구조를 볼 수 있습니다.

com.oracle.semisal.abc는 com/oracle/semisal/abc와 같습니다. 여기서 abc는 파일 이름입니다.

하지만 해당 경로가 서버의 어디에 있는지 모릅니다.

ksh의 명령이나 스크립트를 제공해 주세요.

답변1

내가 올바르게 이해했다면 구조를 볼 수 있는 Java 코드를 작성하고 있는 것입니다 com.oracle.semisal.abc. 이는 파일이나 디렉토리가 아니라 그 자체가 파일일 수 있는 다른 Java 코드에 대한 참조입니다.

하지만 당신은 올바른 길을 가고 있습니다. Java 아티팩트는 .jar잘 구성된 구조를 갖고 있으며 아티팩트에는 외부 코드가 포함될 수 있습니다. 파일 이 있는 경우 .jar패키지 검사 도구, 압축 풀기 도구 또는 도구 jar자체를 사용하여 파일을 찾을 수 있습니다 jar -xf example.jar.

그래서 내 최고 중 최고는 다음과 같습니다.

  1. 코드 아티팩트 열기/추출
  2. 비슷한 폴더가 있는지 확인하세요 . 여기에는 etc.라는 폴더가 com포함될 수 있습니다 .oracle
  3. 원하는 것을 찾으셨다면, 행복하세요 :)
  4. (또는 프로젝트의 다른 아티팩트를 확인하십시오. .jar찾고 있는 내용이 있을 수 있는 외부 파일이 포함될 수 있습니다.)

답변2

Java가 어떻게 작동하는지 모르기 때문에 시스템에서 특정 경로를 찾는 방법에 대한 보다 일반적인 질문에 답하는 것으로 범위를 좁힐 것입니다.

com/oracle/semisal/abc파일 시스템의 어느 위치에서나 경로를 찾으 려면 다음 두 가지 방법을 시도해 볼 수 있습니다.

  1. locate abc | grep -F 'com/oracle/semisal/abc'

    이것은 기본적으로 locate데이터베이스를 사용하여 파일 시스템에 명명된 모든 것을 찾습니다 abc. 그러면 grep해당 출력에서 ​​특정 경로를 얻을 수 있습니다.

  2. find / -path '*/com/oracle/semisal/abc/*' -print

    이는 경로의 find모든 파일과 디렉터리를 찾는 데 사용됩니다. com/oracle/semisal/abc이 작업을 실행하고 더 많은 출력을 생성하는 데 시간이 더 오래 걸리지만(경로가 존재하는 경우) 경로가 명령이 찾을 수 있는 위치에 없으면 작동합니다 locate( locate모든 사용자가 액세스할 수 있는 항목만 확인하세요).

관련 정보