คุณอาจสังเกต error ที่พิมพ์ cd หรือ cd ~ แล้วไปหยุดที่ /root แทนที่จะเป็นที่ใน /home directory ที่ควรเก็บ home directories ถ้าเจอ error นี้ อาจสังเกตทุกครั้งที่ operate as super user ใน Linux การแก้ไขง่ายมาก เพราะจริงๆ ไม่ใช่ error เลย
แทนที่จะเป็น error นี่เกิดจาก peculiarity ของ Linux ในการจัดวาง home directory แม้เป็น expected behavior แต่ก็สับสนถ้าไม่เคยเจอมา
พิมพ์ cd หรือ cd ~ จาก terminal จะกลับไปที่ home directory ของคุณ ไม่ว่าจะอยู่ไหนใน Linux directory hierarchy รวมถึงอยู่ partition แยก หรือ external file structure ต่างหาก หากหลงทางขณะ climb directories พิมพ์ cd จะกลับไปที่เริ่มต้นตอนเปิด terminal
บน Linux root user’s home directory คือ /home/root บนบาง distros แต่มักจะอยู่ที่ /root ไว้ที่ top-level ของ file structure แม้จะ configurable แต่เป็นสถานการณ์ส่วนใหญ่ ลองพิมพ์ cd /root เป็น regular user จะได้ error “bash: cd /root: Permission denied” เพราะเป็น home directory ของ super user
เปิด graphical root terminal window ด้วย gksu x-terminal-emulator ที่ terminal จะขอ administrative password เพราะ instantiate fully elevated command prompt
หลาย Linux distributions โดยเฉพาะ Ubuntu-based hash out root user name ให้ login ไม่ได้ ถ้าเจอ error แบบนี้บน Ubuntu หรือคล้ายๆ คำสั่งนี้ยัง login as root ได้โดยไม่ต้องกังวล hash system จะเปิด terminal window ใหม่แยกจากที่ทำงานอยู่
ที่ bash prompt พิมพ์ whoami; cd; pwd กด enter คำสั่งแรกระบุ user ที่ login ตัวที่สอง change ไป home directory ของ current user จะเห็นว่า login as root และ home directory ของ user นั้นไม่ใช่ /home/root แต่เป็น /root เอง Linux distributions ทำแบบนี้เพราะบางคนต้องการ install /home directory ทั้งหมดบน partition แยกจาก top-level / mount point
ตอนจบ root window พิมพ์ exit เพื่อออกจาก window เพราะยังเป็น root user อยู่
ถ้า /home directory structure ติดตั้งบน disk อื่นและมัน fail physically การที่ /root อยู่ที่อื่น ช่วยไม่ให้สูญเสียความสามารถ boot system as super user เพื่อ recovery normal users’ directories มัก readable ระหว่างกัน (755 permissions) แตกต่างจาก /root ที่มี 700 permissions หมายถึงเฉพาะ root super user เท่านั้นที่อ่านได้
สัญลักษณ์ ~ คือ stand-in ที่ shell ใช้แทน home directory ของ user ไม่ว่าจะอยู่ไหน ถ้าได้ output คล้ายหรือเหมือนข้างบน แสดงว่าไม่มี error ให้แก้ อาจเจอคำว่า tilde ซึ่งเป็นชื่อตัวแทนของสัญลักษณ์นี้ หมายความเดียวกัน
ABOUT THE AUTHOR

Kevin Arrows
Kevin Arrows เป็นผู้เชี่ยวชาญด้านเทคโนโลยีที่มีประสบการณ์มากกว่า 10 ปี ได้รับการรับรอง Microsoft Certified Technology Specialist (MCTS) มีความหลงใหลในการอัปเดตเทคโนโลยีล่าสุด เขียนบทความเกี่ยวกับหัวข้อเทคโนโลยีกว้างขวาง แสดงความเชี่ยวชาญในด้านการพัฒนาซอฟต์แวร์ ความปลอดภัยไซเบอร์ และ Cloud Computing ได้รับการยอมรับและเคารพจากเพื่อนร่วมงาน สามารถอธิบายแนวคิดทางเทคนิคที่ซับซ้อนได้อย่างชัดเจนและกระชับ