Прежде всего, функция может быть определена без ключевого слова function поэтому лучший поиск будет
grep 'cp()' .*
Это будет искать через файлы, такие как .zshrc и .profile и еще много чего. Если это ничего не находит, вы также можете просмотреть различные файлы, загруженные zsh . Они перечислены в самом конце man zsh:
FILES
       $ZDOTDIR/.zshenv
       $ZDOTDIR/.zprofile
       $ZDOTDIR/.zshrc
       $ZDOTDIR/.zlogin
       $ZDOTDIR/.zlogout
       ${TMPPREFIX}*   (default is /tmp/zsh*)
       /etc/zsh/zshenv
       /etc/zsh/zprofile
       /etc/zsh/zshrc
       /etc/zsh/zlogin
       /etc/zsh/zlogout    (installation-specific - /etc is the default)
По умолчанию $ZDOTDIR должен быть вашим $HOME . Итак, эта команда должна найти ваш файл-нарушитель:
grep 'cp()\|cp ()' ~/.zshenv ~/.zprofile ~/.zshrc ~/.zlogin /etc/zsh/zshenv \
 /etc/zsh/zprofile /etc/zsh/zshrc /etc/zsh/zlogin 
Я добавил \| так как вы можете также иметь пробелы между именем функции и самой функцией. Наконец, @Dennis указывает, что скобки также могут быть опущены, если вы используете ключевое слово function . Итак, чтобы быть еще более безопасным, сделайте это:
grep -E 'function cp|cp *\(\)' ~/.zshenv ~/.zprofile ~/.zshrc ~/.zlogin \
  /etc/zsh/zshenv /etc/zsh/zprofile /etc/zsh/zshrc /etc/zsh/zlogin