-bash: unalias: ls: not found
You should only attempt to unalias if it is actually an alias: Change
unalias ls
to
[[ $(type -t ls) == "alias" ]] && unalias ls
I can't reproduce this but I assume the problem is because you have already unaliased ls
once, so you can't unalias it again. However, I'm also pretty sure that the source
command worked perfectly. Did you check? Chances are that it was sourced correctly and you can just ignore the error message.
More to the point, why are you running source ~/.bashrc
? That file should be read when you start a new interactive non-login shell anyway. If it's to reload it because you made a change, then you're fine, your change was loaded. Ignore the error.