"'find' 명령만 사용하여 'dmesg'를 실행"하는 방법은 무엇입니까? [폐쇄]

"'find' 명령만 사용하여 'dmesg'를 실행"하는 방법은 무엇입니까? [폐쇄]

dmesg내 연구실 과제 중 하나에서 " 명령으로만 실행" 해야 합니다 find.

나는 찾으려고 노력했지만 아무것도 찾을 수 없습니다. 아마도 그것이 사용되어야 하는 방식이 아니기 때문일 것입니다.

답변1

find $(which find) -exec dmesg \;

이것이 해결책이 되어야 합니다. $(which find)존재한다고 확신하는 파일의 경로로 바꿀 수 있습니다. 제공된 명령은 발견된 각 파일에 대해 find(우리의 경우 한 번만) 실행됩니다 .-exec

답변2

단일 명령을 실행하는 것은 find할 수 있는 일이지만 결코 할 수는 없습니다. 쓸모없는 기계를 찾아내는 것과 비슷합니다.YouTube의 동영상.

표준을 사용하면 다음 명령을 사용하여 실행할 find수 있습니다 .dmesg

find . -prune -exec dmesg \;

이 명령에서는 현재 디렉터리에서 using을 find수행하고 현재 디렉터리에서 아무것도 검색하지 않도록 use를 사용하려고 합니다 . dmesg더 이상 탐색할 내용이 없으면 종료됩니다.-exec-prunefind

find이 명령은 존재해야 하는 경로 외에 우리가 제공하는 검색 경로에 의존하지 않습니다 . 또한 현재 사용자가 실행할 수 있는지 dmesg또는 dmesg그 아래에 있는지 여부에 관계없이 이 명령은 명령줄에서 직접 실행되는 것처럼 유틸리티를 $PATH실행합니다 .dmesg

답변3

댓글에 적힌 내용으로 볼 때 정답은 다음과 같습니다.find / -name dmesg -type f -executable -exec {} \;

관련 정보