ความแตกต่างระหว่างคำสั่ง help, info และ man


33

ฉันรู้ว่าคำสั่งเหล่านี้จะช่วยให้ได้รับไวยากรณ์และตัวเลือกสำหรับคำสั่ง แต่คำถามของฉันคือพวกเขาแตกต่างกันอย่างไร

คำตอบ:


17

helpเป็นคำสั่ง bash มันใช้โครงสร้างทุบตีภายในเพื่อจัดเก็บและดึงข้อมูลเกี่ยวกับคำสั่งทุบตี

manเป็นชุดแมโครสำหรับตัวประมวลผลtroff (ผ่าน groff) เอาต์พุตของการประมวลผลไฟล์เดียวถูกส่งไปยังเพจเจอร์โดยmanคำสั่งโดยค่าดีฟอลต์

infoเป็นโปรแกรมดูข้อความเท่านั้นที่เก็บในรูปแบบการส่งออกข้อมูลของTexinfo


6
man เป็นมากกว่า "ชุดแมโครสำหรับตัวประมวลผล troff" -1 สำหรับคำตอบนี้
fpmurphy

@fpmurphy: ไม่มาก
Ignacio Vazquez-Abrams

3
สิ่งนี้อธิบายน้อยมาก
Ankur S

30

helpเป็นคำสั่งในตัวในbashเชลล์ (และเชลล์นั้นเท่านั้น) ที่บันทึกคำสั่ง builtin และคำสำคัญของเชลล์นั้น นั่นเป็นระบบเอกสารภายในของเชลล์นั้น เชลล์อื่น ๆ มีระบบเอกสารของตัวเอง ( ksh93มี--helpและ--manตัวเลือกสำหรับ builtins ของมันzshมีตัวช่วยเรียกใช้ที่แยกข้อมูลจากคู่มือในรูปแบบอื่น ๆ ) คำสั่งอื่น ๆ เช่นvimมีระบบเอกสารประกอบของตัวเอง

manเป็นระบบเอกสารทั้งระบบที่ให้คู่มืออ้างอิงสั้น ๆ (หน้า) สำหรับแต่ละคำสั่งฟังก์ชั่น API แนวคิดไวยากรณ์ไฟล์การกำหนดค่ารูปแบบไฟล์ที่จัดระเบียบในส่วน (1 สำหรับคำสั่งผู้ใช้ 2 สำหรับการโทรระบบ ... ) นั่นคือระบบเอกสาร Unix แบบดั้งเดิม

infoเป็นระบบเอกสารอื่นที่มีต้นกำเนิดในโครงการ GNU มันคือไฮเปอร์เท็กซ์ที่มีลิงก์ (มีไว้ก่อนในเว็บ) คู่มือข้อมูลเปรียบเสมือนหนังสือดิจิตอลที่มีแนวคิดสารบัญและดัชนี (ค้นหาได้) ซึ่งช่วยในการค้นหาข้อมูล

มีการทับซ้อนกันระหว่าง 3 ตัวอย่างเช่นbashการเป็นส่วนหนึ่งของโครงการ GNU มีทั้ง man page และคู่มือข้อมูล ขนาดของคู่มือการใช้งานทำให้ระบบคนที่ไม่เป็นที่เหมาะสมสำหรับbashแม้ว่า แต่โครงสร้างของคู่มือข้อมูลและดัชนีที่ไม่ดีมากในการbashที่จะทำให้มันไม่ง่ายที่จะดูข้อมูลในขณะที่คนอื่น ๆ ในinfoคู่มือเช่นzsh's zshการเป็นคู่มือก็ยิ่งใหญ่ขึ้นแบ่งออกเป็นหลายหน้าคนและยังมีinfoคู่มือที่ดีพร้อมดัชนีที่ดีมาก

ควรสังเกตว่าinfoคู่มือนั้นสร้างจากtexinfoรูปแบบที่ใช้เพื่อสร้าง HTML และเวอร์ชันที่พิมพ์ได้ (PDF / PS) ในกรณีของzshแม้ว่า texinfo ถูกสร้างขึ้นจากรูปแบบอื่น ( yodl)


2
นี่คือคำตอบที่ดีที่สุดขอแสดงความยินดี คนที่ยอมรับนั้นสั้นเกินไปที่จะเป็นประโยชน์เนื่องจากลักษณะทั่วไปของคำถาม
neuronet

ยังมีประโยชน์: help help; ไม่มีประโยชน์: man help.
De Novo รองรับ GoFundMonica

1
@DeNovo ใช่ตั้งแต่helpเป็น builtin bashของ info bash helpมีประโยชน์มากขึ้น:
Stéphane Chazelas

25

helpเป็นbashแบบในตัวให้ความช่วยเหลือสำหรับbashคำสั่งเท่านั้น

manเป็นรูปแบบดั้งเดิมของความช่วยเหลือสำหรับเกือบทุกคำสั่งในระบบของคุณและไม่เพียง แต่บางครั้งไฟล์การกำหนดค่าก็มีหน้าคนของตัวเอง ใน Linux distros ถูกจัดระเบียบในแพ็คเกจข้อความที่สัมพันธ์กันโดยทั่วไปนั้นมาจากแพ็คเกจเดียวกันที่ให้คำสั่ง หากคุณมีbash-completionคุณสามารถใช้ประโยชน์จากTABเพื่อดูหน้าคนที่มีอยู่

infoGNU emacsเป็นระบบทางเลือกที่จะให้หน้าคู่มือสำหรับคำสั่งบนพื้นฐานของ มันมีไว้สำหรับGNUคำสั่งและสาธารณูปโภคเป็นหลัก ดูเหมือนจะไม่ได้รับการยอมรับอย่างกว้างขวางจากผู้อื่น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.