Почему не вступают в силу изменения из .bashrc?
Команда source ~/.bashrc загружает .bashrc заново, тут все верно, но есть небольшая тонкость: если alias уже задан, то убрав его из .bashrc вы ничего не поменяете. Можно провести аналогию (не совсем корректную, но все же) с демоном - его один раз при старте запустили и он есть и будет существовать пока вы его своими руками не добъете. Тут одно из двух - либо полностью перезагрузить bash (что не всегда желательно), либо воспользоваться командой unalias.
Сохраняю и закрываю файл .bashrc.
Прописываю в терминале source ~/.bashrcПотом еще раз ввожу команду cp и выскакивает ошибка, что не известна команда rsync.
То есть, изменения из .bashrc не вступили в силу? 
судя по тому что написано, команды rsync у вас нет
сделать надо $ whereis rsync
и если вывод будет похож на этот:rsync: /usr/bin/rsync /usr/share/man/man1/rsync.1.gz
то все хорошо и rsync установлен, тогда
$ unalias cp || alias cp='/usr/bin/rsync -avz -P'