![nm을 사용하여 특정 기호를 재귀적으로 검색하는 방법은 무엇입니까?](https://linux55.com/image/160993/nm%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%8A%B9%EC%A0%95%20%EA%B8%B0%ED%98%B8%EB%A5%BC%20%EC%9E%AC%EA%B7%80%EC%A0%81%EC%9C%BC%EB%A1%9C%20%EA%B2%80%EC%83%89%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
내가 있는 디렉토리에서 재귀적으로 모든 개체 파일에서 "start" 기호를 찾고 싶습니다. nm
or 를 사용할 수 있을 것 같지만 readelf
저는 쉘을 처음 접했고 매뉴얼에서 이 작업을 수행하는 방법을 이해하지 못합니다.
답변1
다음과 같이 사용할 수 있습니다.
find . -type f \( -executable -o -name \*.o \) -exec nm -A {} + | grep start
그러면 모든 실행 파일이나 개체 파일을 찾아 nm -A
실행하고 결과를 grep
.
이를 조정하여 다른 파일을 찾을 수 있습니다. 라이브러리(등)의 경우 (동적 기호 나열)을 .so
사용해야 합니다 . nm -A -D
이 -A
옵션을 사용하면 nm
필터링된 출력이 여전히 유용하도록 파일 이름이 각 줄에서 반복됩니다.