請改用xargs
find /home/ray/photo -type d -name "202107*" |xargs tar -czvPf /home/ray/photo2
/202107.tar.gz
你用exec的話,他是每找到一筆就會做一次tar的動作,這會把之前的壓縮覆檔蓋掉
所以你解出來的檔案應該是只有最後一筆找到的資料
xargs則是把你find找到的所有檔案做為tar的輸入,所以會一次壓縮全部找到的檔案
其實你可以試試 -exec echo {} \;跟xargs echo來比較結果就知道了
如果一定要用-exec,那加上