지난 10일 동안 수정된 모든 파일과 해당 파일의 소유자를 확인하고 싶어서 다음과 같이 입력하여 몇 개의 결과가 반환되는지 확인했습니다.
find . -maxdepth 1 -mtime -10
그런 다음 나는 명령을 내렸습니다.
find . -maxdepth 1 -mtime -10 -exec ls -lh {} \;
이 두 명령은 매우 다른 결과를 제공하지만 그 이유를 이해할 수 없습니다. 누군가 무슨 일이 일어나고 있으며 왜 다른 결과가 나오는지 설명할 수 있습니까?
답변1
option 을 사용하지 않기 때문에 -type f
모든 find
폴더와 파일이 반환됩니다. 두 번째 명령에서는 폴더가 발견되면 명령이 ls -lh
해당 내용을 나열하므로 첫 번째 명령보다 더 많은 결과가 표시됩니다.
$ find . -maxdepth 1 -mtime -10 | wc -l
63
$ find . -maxdepth 1 -mtime -10 -exec ls -lh {} \; | wc -l
313
다음을 사용해야 합니다.
find . -maxdepth 1 -type f -mtime -10
find . -maxdepth 1 -type f -mtime -10 -exec ls -lh {} \;
파일만 나열됩니다.