دلیل اینکه در خروجی ls اسامی به وسیله quotation محصور میشند این نیست که qoutationها جزوی از اسم فایل هستند. بزنید ls --literal تا اسم فایل رو بدون دخالت دستور ls ببینید. درواقع قبل از اینکه دستور '~' mkdir اجرا بشه، کوتیشنهای محصول کننده ~، پس از طی شدن مراحل Shell Expansions حذف شدند.
گذاشتند "" باعث میشه مرحله tilde expansion رخ نده و نهایتا quote ها حذف و دستور اجرا بشه.