1. คำสั่ง mkdir คืออะไร และหน้าที่หลัก
ในฐานะผู้เชี่ยวชาญระบบ Linux, mkdir (Make Directory) เป็นหนึ่งในคำสั่งพื้นฐานที่สำคัญที่สุดและถูกใช้งานบ่อยที่สุดในการจัดการโครงสร้างไฟล์ระบบ หน้าที่หลักของมันคือการสร้างไดเรกทอรี (Directory) หรือโฟลเดอร์เปล่าๆ ขึ้นมาในตำแหน่งที่กำหนด
สำหรับนักพัฒนาและ SysAdmin การเข้าใจ mkdir ไม่ใช่แค่การรู้ว่าต้องพิมพ์คำสั่งอะไร แต่คือการเข้าใจถึงกลไกของการจัดการโครงสร้างไฟล์อย่างเป็นระบบ เพื่อให้มั่นใจได้ว่าโปรเจกต์, ไฟล์ Log, หรือส่วนประกอบของระบบต่างๆ จะถูกจัดเก็บในตำแหน่งที่ถูกต้องตามหลักการออกแบบสถาปัตยกรรมซอฟต์แวร์
2. ไวยากรณ์ (Syntax) และพารามิเตอร์สำคัญ
BASH / Shell
mkdir [OPTION]... [FILE]...
- -p, –parents: เป็น Option ที่สำคัญที่สุด ใช้ในการสร้างไดเรกทอรีแบบซ้อนกัน (Nested Directories) หากไดเรกทอรีแม่ยังไม่มีอยู่ คำสั่งจะทำการสร้างให้ทั้งหมดโดยอัตโนมัติ ป้องกันข้อผิดพลาด “No such file or directory”
- -m, –mode=MODE: ใช้กำหนดสิทธิ์ (Permissions) ของไดเรกทอรีที่สร้างขึ้นทันที โดยรับค่าเป็นเลข Octal (เช่น 755 หรือ 700) เหมาะสำหรับการตั้งค่าความปลอดภัยระดับระบบ
- -v, –verbose: ทำให้คำสั่งแสดงข้อความแจ้งเตือนว่ามีการสร้างไดเรกทอรีใดขึ้นมาบ้าง (Verbose output) มีประโยชน์ในการ Debugging หรือการตรวจสอบสคริปต์
3. ตัวอย่างการใช้งานจริง (Code Examples & Use Cases)
คำสั่ง mkdir มีความยืดหยุ่นสูงในการนำไปใช้ในสถานการณ์ต่างๆ ตั้งแต่การสร้างโฟลเดอร์โปรเจกต์ง่ายๆ ไปจนถึงการจัดการโครงสร้าง Log ที่ซับซ้อน
Use Case 1: การสร้างไดเรกทอรีแบบ Nested (สำหรับ SysAdmin)
สมมติว่าคุณต้องการสร้างโครงสร้างสำหรับเก็บไฟล์ Log ของบริการ A, B และ C ซึ่งอยู่ในปีปัจจุบันและเดือนนี้ หากไม่มีแฟล็ก -p คำสั่งจะล้มเหลวเมื่อเจอโฟลเดอร์แม่ที่ยังไม่ถูกสร้าง
BASH / Shell
# สร้างโครงสร้าง logs/year=2024/month=06/serviceA และ serviceB พร้อมกัน
mkdir -p logs/2024/06/{serviceA,serviceB}
เมื่อสร้างโฟลเดอร์ที่เก็บไฟล์ Configuration ที่ละเอียดอ่อน ควรตั้งค่าสิทธิ์ให้เฉพาะเจ้าของเท่านั้นที่อ่านและเขียนได้ (700)