Почему эта команда
find /etc -exec grep student {} \; 2>/dev/null
покажи мне больше результатов, чем эта команда
grep -r student /etc 2>/dev/null
Возможно, в вашем /etc есть несколько символических ссылок. Похоже, ваш grep -r не следует за ними, а find .
Попробуйте grep -R .
Примечание: POSIX не требует ни -r ни -R . Некоторые реализации grep могут не поддерживать их; некоторые могут поддерживать один из них, необязательно следуя (или не следуя) символическим ссылкам, как в этом примере; некоторые могут относиться к -R и -r одинаково. Чтобы убедиться, обратитесь к man 1 grep в вашей ОС.