1. คำสั่ง hostname คืออะไร และหน้าที่หลัก
ในโลกของระบบปฏิบัติการ Linux, hostname คือคำสั่งพื้นฐานที่ใช้สำหรับแสดงผลหรือกำหนดชื่อโฮสต์ (Hostname) ของเครื่องคอมพิวเตอร์หรือเซิร์ฟเวอร์นั้นๆ สำหรับนักพัฒนาและ SysAdmin การทราบค่า hostname เป็นสิ่งสำคัญอย่างยิ่ง เพราะมันทำหน้าที่เป็น “ป้ายระบุตัวตน” ของเครื่องในเครือข่าย ไม่ว่าจะเป็นการตรวจสอบว่าเซิร์ฟเวอร์กำลังทำงานภายใต้ชื่ออะไร, การแก้ไขปัญหาการเชื่อมต่อ (Connectivity Issues), หรือการกำหนดให้แอปพลิเคชันต่างๆ สามารถอ้างอิงถึงตัวเองได้อย่างถูกต้อง
2. ไวยากรณ์ (Syntax) และพารามิเตอร์สำคัญ
BASH / Shell
hostname [OPTION]... [FILE]...
- -f (Fully Qualified Domain Name): ใช้เพื่อแสดงชื่อโฮสต์แบบเต็มรูปแบบ ซึ่งรวมถึงโดเมนเนมด้วย เช่น
server.example.com เหมาะสำหรับการตรวจสอบว่าเครื่องนี้ถูกระบุตัวตนในเครือข่ายอย่างสมบูรณ์หรือไม่
- -d (Domain): ใช้เพื่อแสดงเฉพาะส่วนของโดเมนเนมที่เกี่ยวข้องกับโฮสต์นั้นๆ
- การกำหนดค่า (Setting): หากไม่มี Option ใดๆ และมีการระบุชื่อใหม่ตามด้วย Argument จะเป็นการพยายามเปลี่ยน hostname ของเครื่อง ซึ่งโดยทั่วไปต้องใช้สิทธิ์ root หรือ sudo
3. ตัวอย่างการใช้งานจริง (Code Examples & Use Cases)
คำสั่ง hostname มีการใช้งานที่แตกต่างกันระหว่างการ “อ่าน” ค่าและการ “เขียน” ค่า การทำความเข้าใจว่าค่าใดถูกแสดงผลจากส่วนไหนของระบบ (เช่น Kernel, `/etc/hosts`, หรือ DNS) จึงเป็นสิ่งสำคัญ
BASH / Shell
# 1. ตรวจสอบชื่อโฮสต์ปัจจุบัน (ค่าที่ระบบรับรู้ทันที)
hostname
# 2. ตรวจสอบ Fully Qualified Domain Name (FQDN)
hostname -f
# 3. การเปลี่ยนชื่อโฮสต์ใหม่ (ต้องใช้สิทธิ์ root/sudo)
sudo hostname new-server-name
# หมายเหตุ: การรันคำสั่งนี้จะเปลี่ยนชื่อชั่วคราวในเซสชันปัจจุบันเท่านั้น