Linux Bible 10판: 왜 -exec cp는 슈퍼유저 권한이 있어도 파일을 복사할 수 없나요?

Linux Bible 10판: 왜 -exec cp는 슈퍼유저 권한이 있어도 파일을 복사할 수 없나요?

나는 읽었다"리눅스 성경 10판"130쪽. 연습 #7:

만들다/tmp/파일목차. 이 디렉토리에서 모든 파일 찾기/usr/공유 5MB보다 크고 10MB보다 작은 디렉터리를 다음 위치에 복사합니다./tmp/파일목차.

내 명령은 다음과 같습니다 find /usr/share -type f -size +5M -size -10M -exec cp {} /tmp/FILES \;. 일반 사용자처럼 실행하고 가져옵니다.

cp: error copying '/bla/bla' to '/lol/kek': Input/output error find: '/usr/share/bla-bla': Permission denied

그 후 슈퍼유저로 실행을 시도했는데 오류가 발생했습니다(없음 Permission denied).

cp: error copying '/bla/bla' to '/lol/kek': Input/output error

슈퍼유저로 실행해도 오류가 나는 이유가 무엇인지 설명해주세요. 감사해요.

PS of 명령이 -exec비어 있어야 하는 이유를 설명해 주세요 {}.

답변1

EIO"입/출력 오류"는 소스 파일을 읽거나 대상 파일을 쓰는 동안 낮은 수준의 I/O 오류( )가 발생했음을 의미합니다. 이는 저장 공간에 문제가 있음을 의미하며 dmesg추가 정보가 제공됩니다.

이러한 오류는 권한이나 사용 권한과는 아무 관련이 없습니다. 따라서 cp루트로 실행해도 오류가 사라지지 않습니다("권한 거부" 오류와는 다름).

"find"의 -exec 옵션 이해{}with 의 사용법이 설명되어 있습니다 -exec.

관련 정보