!["'find' 명령만 사용하여 'dmesg'를 실행"하는 방법은 무엇입니까? [폐쇄]](https://linux55.com/image/196764/%22'find'%20%EB%AA%85%EB%A0%B9%EB%A7%8C%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20'dmesg'%EB%A5%BC%20%EC%8B%A4%ED%96%89%22%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%20%5B%ED%8F%90%EC%87%84%5D.png)
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
-prune
find
find
이 명령은 존재해야 하는 경로 외에 우리가 제공하는 검색 경로에 의존하지 않습니다 . 또한 현재 사용자가 실행할 수 있는지 dmesg
또는 dmesg
그 아래에 있는지 여부에 관계없이 이 명령은 명령줄에서 직접 실행되는 것처럼 유틸리티를 $PATH
실행합니다 .dmesg
답변3
댓글에 적힌 내용으로 볼 때 정답은 다음과 같습니다.find / -name dmesg -type f -executable -exec {} \;