다음 명령을 실행하면 permission denied
모든 파일에 대한 메시지가 표시됩니다.
find /data/code/ -name "*.jar" -exec {} ls \;
find: `/data/code/project/shared/build/thirdparty/log4j-1.2.8/commons-logging-1.0.4.jar': Permission denied
하지만 내가 그렇게 한다면
ls /data/code/project/shared/build/thirdparty/log4j-1.2.8/commons-logging-1.0.4.jar
메시지 없이 올바른 출력을 제공하여 인쇄됩니다 permission denied
.
/data/code/project/shared/build/thirdparty/log4j-1.2.8/commons-logging-1.0.4.jar
내가 뭘 잘못했나요?
ps: 모든 jar 파일을 나열하고 삭제해야 합니다./data/code
답변1
그것을 하는 동안:
find /data/code/ -name "*.jar" -exec {} ls \;
발견된 파일(예: )을 인수 /data/code/project/shared/build/thirdparty/log4j-1.2.8/commons-logging-1.0.4.jar
로 실행하려고 하여 권한 거부 오류가 발생했습니다.ls
순서를 바꾸세요.
find /data/code/ -name "*.jar" -exec ls {} \;
GNU에는 옵션도 find
있으므로 -ls
GNU에서는 다음 find
을 수행할 수 있습니다.
find /data/code/ -name "*.jar" -ls