Символ тильды (~) имеет особое значение в оболочке. Когда он отображается в любой команде, он расширяется до имени вашего домашнего каталога. Выполнение cd ~ или cd /home/aditya одинаково, оно заканчивается в вашем домашнем каталоге.
Поставив символ обратной косой черты (\) перед тильдой, вы скажете оболочке не делать расширение следующего специального символа (это то, что называется shell escape). Сделав cd \~, вы попросите оболочку перейти в каталог с именем ~, который будет находиться в каталоге, в котором вы выполняете команду. Поэтому cd \~kernel-ppa изменит вас на каталог с именем ~kernel-ppa, что является нормальным поведением.
EDITED: больше на ~
Если вы напишете имя пользователя своей системы после ~, вы перемещаетесь в домашний каталог этого пользователя. Выполнение расширения вкладки после cd ~ будет расширяться до имен пользователей, существующих в вашей системе. Если выполнить вкладку после cd ~k, она расширяется до ~ kernoops, потому что пользователь системы с именем kernoops у пользователя системы имеет домашний каталог /. Поскольку расширение cd ~k приводит к cd ~kernoops/ с конечной косой чертой, а домашний каталог beeing /, вы перемещаетесь в //. Но это строго то же самое, что и /, как уже говорилось ранее.