บทความนี้อธิบายวัตถุประสงค์และการใช้งานของคำสั่ง man ใน Linux และระบบปฏิบัติการคล้าย Unix อื่นๆ
Linux เป็นระบบปฏิบัติการที่เป็นโมดูลาร์สูง ประกอบด้วยระบบปฏิบัติการแกนกลาง (Linux Kernel) และชุดแพ็กเกจซอฟต์แวร์ที่เพิ่มฟังก์ชันการทำงานให้กับมัน แพ็กเกจเหล่านี้โดยทั่วไปจะดูแลแยกกัน ดังนั้นแต่ละระบบคอมพิวเตอร์จะมีแพ็กเกจต่างกันไป ขึ้นอยู่กับว่าผู้ใช้ต้องการให้ระบบทำอะไร (เช่น นักออกแบบกราฟิกจะมีเครื่องมือวาดภาพ ตรงที่นักเขียนนิยายอาจมีโปรแกรมประมวลผลคำ)
เนื่องจากไม่มีระบบใดเหมือนกันสมบูรณ์ แต่ละแพ็กเกจจึงให้เอกสารของตัวเอง ซึ่งติดตั้งไปพร้อมกับแพ็กเกจ – เพื่อให้คุณมั่นใจได้ว่าคุณมีข้อมูลที่ต้องการสำหรับซอฟต์แวร์ที่ติดตั้งบนคอมพิวเตอร์ของคุณ เอกสารนี้คือหน้าคู่มือ (manual page) ซึ่งถูกเพิ่มเข้าไปในส่วนของคู่มือระบบ
คำสั่ง man แสดงคู่มือผู้ใช้สำหรับคำสั่งเทอร์มินัลใดๆ บนระบบของคุณ (สมมติว่าผู้พัฒนาได้จัดเตรียมไว้) มันให้ชุดคำแนะนำที่จัดระเบียบไว้อย่างชัดเจนเกี่ยวกับวิธีใช้คำสั่งอย่างถูกต้อง และมักรวมตัวอย่างที่มีประโยชน์ด้วย
ไวยากรณ์คำสั่ง man
นี่คือไวยากรณ์สำหรับคำสั่ง man:
man OPTIONS SECTION COMMAND
โปรดทราบว่า:
- OPTIONS ควรเป็นรายการตัวเลือกจากตารางด้านล่าง
- หากไม่ระบุ OPTIONS คู่มือผู้ใช้ทั้งหมดสำหรับคำสั่งที่ระบุจะถูกแสดง
- SECTION ควรเป็นส่วนของคู่มือที่คุณต้องการค้นหาหน้าคู่มือที่ร้องขอ
- ดูตารางด้านล่างสำหรับ SECTIONs ที่ใช้บ่อย
- หากไม่ระบุ SECTION รายการจากทุกส่วนจะถูกแสดง
- COMMAND ควรเป็นชื่อคำสั่งที่คุณต้องการดูคู่มือผู้ใช้
- จะแสดง 'No manual entry' หากไม่พบคู่มือผู้ใช้สำหรับคำสั่งที่ระบุ
- โดยค่าเริ่มต้น คำสั่ง less ถูกใช้เพื่อแสดงเนื้อหาของหน้าคู่มือ
- *** ใช้ปุ่มลูกศรเพื่อนำทาง หรือกด Q เพื่อออกจากคู่มือผู้ใช้ขณะที่กำลังแสดง!***
ส่วนของคู่มือ (Manual Sections)
คำสั่งต่างๆ จะมีหน้าคู่มือใน ส่วน (sections) ต่างๆ ของคู่มือระบบ:
| หมายเลขส่วน | เนื้อหา |
|---|---|
| 1 | โปรแกรม executable หรือคำสั่ง shell |
| 2 | System calls (ฟังก์ชันที่ kernel จัดเตรียม) |
| 3 | Library calls (ฟังก์ชันภายในไลบรารีโปรแกรม) |
| 4 | Special files (มักอยู่ใน /dev) |
| 5 | รูปแบบไฟล์และข้อตกลง เช่น /etc/passwd |
| 6 | เกมส์ |
| 7 | ทั่วไป (รวม macro packages และ conventions) เช่น man(7), groff(7) |
| 8 | คำสั่งบริหารระบบ (มักสำหรับ root เท่านั้น) |
| 9 | Kernel routines [Non standard] |
การระบุส่วนจะแสดงเฉพาะรายการจากส่วนนั้นของคู่มือผู้ใช้
หน้าคู่มือมีส่วนย่อยของตัวเอง มักแบ่งเป็น NAME, SYNOPSIS, CONFIGURATION, DESCRIPTION, OPTIONS, EXIT STATUS, RETURN VALUE, ERRORS, ENVIRONMENT, FILES, VERSIONS, CONFORMING TO, NOTES, BUGS, EXAMPLE, AUTHORS, และ SEE ALSO
ตัวเลือกคำสั่ง man ที่ใช้บ่อย
นี่คือตัวเลือก man ที่ใช้บ่อยที่สุด ตามคู่มือผู้ใช้:
| ตัวเลือก | คำอธิบาย |
|---|---|
| -a | โดยค่าเริ่มต้น man จะออกหลังแสดงหน้าคู่มือที่เหมาะสมที่สุด ตัวเลือกนี้บังคับให้ man แสดงหน้าคู่มือทั้งหมดที่ชื่อตรงกับการค้นหา |
| -f | แสดงคำอธิบายสั้นจากหน้าคู่มือ หากมี |
| -k | ค้นหาคำสำคัญในคำอธิบายสั้นของหน้าคู่มือ และแสดงผลที่ตรงกัน |
| -i | ไม่สนใจตัวพิมพ์เล็ก/ใหญ่เมื่อค้นหาหน้าคู่มือ (ค่าเริ่มต้น) |
| -I | สนใจตัวพิมพ์เล็ก/ใหญ่เมื่อค้นหาหน้าคู่มือ |
| --wildcard | แสดงหน้าทั้งหมดที่ส่วนใดส่วนหนึ่งของชื่อหรือคำอธิบายตรงกับแต่ละอาร์กิวเมนต์ โดยใช้ wildcard แบบ shell |
| -P | ระบุ output pager ที่จะใช้ โดยค่าเริ่มต้น man ใช้ less ถ้วยถ้วยถ้วย ถ้า less ไม่เจอหรือไม่ executable |
…และ por supuesto คุณสามารถใช้คำสั่ง man เพื่อดูคู่มือผู้ใช้สำหรับคำสั่ง man เอง! เพียงรัน:
man man
…เพื่อดูคู่มือผู้ใช้เต็มรูปแบบและรายการตัวเลือกทั้งหมด
ตัวอย่างคำสั่ง man ใน Linux
เพื่อดูหน้าคู่มือที่เกี่ยวข้องที่สุดสำหรับคำสั่งที่กำหนด ให้พิมพ์ man ตามด้วยชื่อคำสั่ง:
man less
ด้านบน คู่มือสำหรับคำสั่ง less จะถูกแสดง โดยบังเอิญคำสั่ง less คือเครื่องมือที่ใช้แสดงหน้า man บนหน้าจอ
ตัวเลือก -f จะแสดงส่วนที่คำสั่งถูกพบ รวมถึงคำอธิบายสั้น:
man -f mv
ด้านบน คำสั่ง mv ถูกสอบถาม ให้ผลลัพธ์ดังนี้:
mv(1) - move files
…ระบุว่าคำสั่ง mv อยู่ในส่วน 1 และมันย้ายไฟล์
เพื่อทราบว่าหน้าคู่มือของคำสั่งจัดเก็บที่ไหน ใช้ตัวเลือก -w:
man -w mv
…จะได้ผลลัพธ์:
/usr/share/man/man1/mv.1
ตัวเลือก -k จะค้นหาในคู่มือทั้งหมด ทุกส่วน สำหรับการตรงกับสตริงที่กำหนด:
man -k mv
สรุป
คำสั่ง man จริงๆ แล้วยอดเยี่ยม หากคุณออฟไลน์ หรือต้องการรีเฟรชเร็วๆ เกี่ยวกับการใช้คำสั่ง มันมีคุณค่าอย่างยิ่ง