คำสั่งที่มีอยู่ในหน้าต่าง man page มีการจัดทำเอกสารไว้ที่ไหนและคำสั่งเหล่านี้ขึ้นอยู่กับระบบหรือไม่?


9

หลังจากใช้ Linux มาหลายปีฉันก็พบว่าฉันไม่รู้วิธีใช้manคำสั่งอย่างถูกต้อง เป็นที่ทราบกันดีว่าหนึ่งสามารถพิมพ์qเพื่อออกจากหน้าคน/เพื่อค้นหาและอื่น ๆ อย่างไรก็ตามฉันไม่รู้ว่าเอกสารเหล่านี้อยู่ที่ไหน ฉันลองman man man -a man info manและ Googling โดยไม่มีโชค

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

คำสั่งเหล่านี้แตกต่างกันสำหรับระบบปฏิบัติการที่แตกต่างกันหรือแตกต่างกันของ Linux


ไม่ใช่คนดูหน้าเว็บlessใช่ไหม (มันอยู่ในการกระจายของฉันอย่างน้อยและhแสดงสรุปlessคำสั่ง)
Rastapopoulos

@Rastapopoulos คุณไม่ได้ดู man pages lessใช่ไหม? ไม่ เพราะlessไม่ใช่อรรถประโยชน์มาตรฐาน
Andrew Henle

ฉันคิดว่าคุณสามารถใช้readlink -f /usr/bin/pagerหรือreadlink -f $(which pager)เพื่อหาเพจเจอร์ที่คุณมี (โดยค่าเริ่มต้น/bin/less) กว่าmanเพจเจอร์ที่ใช้ อาจ (ควร) ทำงานโดยตรงman pager
Hastur

2
หากคุณอ่านหน้าคู่มือของคุณโดยใช้moreหรือlessคุณสามารถพิมพ์hเพื่อขอความช่วยเหลือ (หรือคุณสามารถใช้emacs... )
Alex Vong

1
หากคุณพิมพ์?หรือhที่พร้อมต์เพจเจอร์ควรให้รายการคำสั่งแก่คุณ
Barmar

คำตอบ:


11

มันถูกต้องในหน้าคู่มือสำหรับmanภายใต้หัวข้อย่อย "การควบคุมการจัดรูปแบบการส่งออก" และทำซ้ำในภายหลังในส่วน "สภาพแวดล้อม" สำหรับการวัดที่ดี:

pager -sโดยค่าเริ่มต้นชายคนหนึ่งใช้
หน้าคู่มืออธิบายวิธีที่มีลำดับชั้นของตัวแปรสภาพแวดล้อมและตัวเลือกบรรทัดคำสั่ง ( PAGER, MANPAGERและ--pager) ในการลบล้างการเริ่มต้น

นี่คือวิธีที่มันอ่านบนระบบเช่น Debian Linux ในระบบเช่น Oracle Linux ในทางกลับกันman-dbแพคเกจนั้นถูกสร้างขึ้นด้วยค่าเริ่มต้นที่แตกต่างกันซึ่งยังคงปรากฏในหน้าคู่มือด้วยตนเองในที่เดียวกัน:

less -sโดยค่าเริ่มต้นชายคนหนึ่งใช้

man-dbพยายามในแพคเกจที่จะตรวจพบอัตโนมัติที่รวบรวมเวลาซึ่งเพจเจอร์เริ่มต้นที่จะสร้างในการสั่งและเอกสารในหน้าคู่มือของตนออกจากless, และmorepager

บนระบบเช่น Debian Linux pagerคำสั่งเป็นส่วนหนึ่งของระบบ "ทางเลือก" และสามารถแม็พกับหนึ่งในคำสั่งจริงหลาย ๆ คำสั่ง:

jdebp% ปรับปรุงทางเลือก - รายการเพจเจอร์
/ bin / น้อย
/ bin / เพิ่มเติม
/ usr / bin / PG
/ usr / bin / w3m
jdebp%

ดังนั้นหนึ่งให้คำปรึกษาหน้าคู่มือของพวกเขาสำหรับวิธีการขับรถจากแป้นพิมพ์ตามที่ได้รับการแต่งตั้งทางเลือก มีประโยชน์ระบบ Debian ทางเลือกให้หน้าคู่มืออยู่ในซิงค์กับคำสั่งที่เลือกดังนั้นการอ่านหน้าคู่มือนี้จะค่อนข้างตรงไปตรงมา:

เพจเจอร์ชาย


5

ผู้ชายใช้เพจเจอร์เพื่อแสดงเนื้อหา

รายละเอียดที่แน่นอนขึ้นอยู่กับเวอร์ชันที่manคุณใช้

สำหรับเวอร์ชันที่ใช้กับหลาย ๆ ระบบ:

  • หากกำหนดอ็อพชัน-p pagerไว้จะใช้เพจเจอร์นั้น
  • มิเช่นนั้นMANPAGERจะตั้งค่า ตัวแปรสภาพแวดล้อม
  • มิฉะนั้นถ้าPAGERมีการตั้งค่ามันถูกใช้
  • มิฉะนั้นค่าเริ่มต้นคือการใช้ /usr/bin/less

หากหน้าคู่มืออยู่ในรูปแบบ HTML BROWSERจะใช้แทนMANPAGER/PAGER

Debian ใช้man-dbซึ่งมีค่าเริ่มต้นที่แตกต่างกัน

อ่านman manรายละเอียด


ขอบคุณสำหรับคำตอบ. ในขณะที่คำตอบนั้นอธิบายวิธีการmanทำงานฉันอยากจะถามคุณว่าคุณสามารถช่วยชี้แนะฉันไปยังที่ที่ถูกต้องได้หรือไม่ ขอบคุณ.
Weijun Zhou

ในman manเอาต์พุตของฉัน(อีกครั้งmanเวอร์ชัน: 2.6.3) ระบุว่า "โดยค่าเริ่มต้นใช้งานน้อยกว่า" ดังนั้นฉันคาดว่านี่เป็นรุ่น - และขึ้นกับระบบ
Weijun Zhou

1
นี่เป็นเพียงตัวอย่างของปรัชญา Unix มาตรฐาน: คำสั่งขนาดเล็กและเรียบง่ายที่ทำงานบนสตรีมข้อความและทำสิ่งเดียวและทำได้ดี การจัดรูปแบบคู่มือและการให้เลขหน้าเป็นสองสิ่งซึ่งเป็นสาเหตุว่าทำไมจึงถูกดำเนินการโดยเครื่องมือสองแบบที่แตกต่างกัน ด้วยวิธีนี้เครื่องมือการแบ่งหน้าสามารถนำกลับมาใช้ใหม่สำหรับงานอื่น ๆ ไม่เพียง แต่แสดงหน้าคู่มือเท่านั้น
Jörg W Mittag

2

ขอบคุณ @Rastapopoulos ฉันพบบรรทัดที่เกี่ยวข้องกับlessในman manกล่อง Linux เก่า ( manรุ่น: 1.6f) ในส่วนสิ่งแวดล้อมที่ระบุ

BROWSERชื่อของเบราว์เซอร์ที่ใช้สำหรับแสดงหน้า HTML ด้วยตนเอง หากยังไม่ได้ตั้ง/usr/bin/lessจะใช้

อย่างไรก็ตามในกล่องที่ใหม่กว่า ( manเวอร์ชัน: 2.6.3) บรรทัดนี้ถูกแทนที่ด้วย

BROWSER หากตั้งค่า $ BROWSER ค่าของมันจะเป็นรายการคำสั่งที่คั่นด้วยโคลอนซึ่งแต่ละอันจะถูกใช้เพื่อพยายามเริ่มต้นเว็บเบราว์เซอร์สำหรับ man --html ในแต่ละคำสั่ง% s จะถูกแทนที่ด้วยไฟล์หรือไม่ ชื่อที่มีเอาต์พุต HTML จาก groff %% จะถูกแทนที่ด้วยเครื่องหมายเปอร์เซ็นต์เดียว (%) และ% c จะถูกแทนที่ด้วยโคลอน (:)

จากข้อมูลเหล่านี้ฉันเชื่อว่ามีการจัดรูปแบบlessตามค่าเริ่มต้น (อย่างน้อยสำหรับกรณีแรก) อย่างไรก็ตามแม้ว่าในกรณีนี้มันถูกบันทึกไว้ในลักษณะที่ดูเหมือนจะไม่ชัดเจนสำหรับฉัน (หรือฉันได้เรียนรู้manคำสั่งในทางที่ผิด)


2

ไม่มีทางจริงที่จะตอบคำถามของคุณโดยทั่วไปสำหรับระบบปฏิบัติการต่าง ๆ เนื่องจากการmanใช้งานนั้นไม่ได้ระบุอย่างสมบูรณ์

คำตอบมาตรฐาน POSIX ไม่ใช่เฉพาะ Linux สามารถพบได้ในเอกสารประกอบPOSIXman :

ชื่อ

man - display system documentation

สรุป

man [-k] name...

...

ตัวแปรด้านสิ่งแวดล้อม

ตัวแปรสภาพแวดล้อมต่อไปนี้จะมีผลต่อการทำงานของมนุษย์:

LANG

ระบุค่าเริ่มต้นสำหรับตัวแปรสากลที่ไม่ได้ตั้งค่าหรือเป็นโมฆะ (ดู XBD Internationalization Variables สำหรับความสำคัญของตัวแปรสากลที่ใช้เพื่อกำหนดค่าของหมวดหมู่โลแคล)

LC_ALL

หากตั้งเป็นค่าสตริงที่ไม่ว่างให้แทนที่ค่าของตัวแปรสากลอื่น ๆ ทั้งหมด

LC_CTYPE

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

LC_MESSAGES

กำหนดโลแคลที่ควรใช้เพื่อส่งผลต่อรูปแบบและเนื้อหาของข้อความวินิจฉัยที่เขียนไปยังข้อผิดพลาดมาตรฐานและข้อความข้อมูลที่เขียนไปยังเอาต์พุตมาตรฐาน

NLSPATH

กำหนดตำแหน่งของแค็ตตาล็อกข้อความสำหรับการประมวลผล LC_MESSAGES

เพจเจอร์

กำหนดคำสั่งการกรองผลลัพธ์สำหรับการเขียนผลลัพธ์ไปยังเทอร์มินัล สตริงใด ๆ ที่ยอมรับว่าเป็นตัวถูกดำเนินการ command_string ของ คำสั่งนั้นจะถูกต้อง เมื่อเอาต์พุตมาตรฐานเป็นอุปกรณ์เทอร์มินัลเอาต์พุตหน้าอ้างอิงจะถูกไพพ์ผ่านคำสั่ง หากตัวแปร PAGER เป็นโมฆะหรือไม่ได้ตั้งค่าคำสั่งจะเป็นยูทิลิตี้ตัว paginator ตัวใดตัวหนึ่งหรือในเอกสารประกอบของระบบsh-cmore

หมายเหตุส่วน RATIONALE ซึ่งอธิบายว่าทำไมจึงmanไม่ได้ระบุอย่างสมบูรณ์:

หลักการและเหตุผล

เป็นที่ยอมรับว่ายูทิลิตี้ของมนุษย์มีประโยชน์น้อยที่สุดตามที่ระบุไว้เท่านั้น ความคิดเห็นของผู้พัฒนามาตรฐานถูกแบ่งออกเป็นอย่างมากว่าจำเป็นต้องให้ข้อมูลแก่พนักงานเพียงเล็กน้อยหรือน้อยเพียงใด พวกเขาพิจารณาว่าการจัดหาวิธีการเข้าถึงเอกสารแบบพกพาจะช่วยให้ผู้ใช้พกพาได้สะดวก ข้อโต้แย้งกับสเปคที่สมบูรณ์กว่าคือ:

  • ไม่ควรใช้เอกสารจำนวนมากในระบบที่มีพื้นที่ดิสก์ไม่เกิน

  • ระบบ Manual ปัจจุบันไม่แสดงข้อมูลในลักษณะที่ช่วยให้ผู้ใช้พกพาได้อย่างมาก

  • "ระบบความช่วยเหลือที่ดีกว่า" ในปัจจุบันเป็นพื้นที่ที่ผู้ขายรู้สึกว่าพวกเขาสามารถเพิ่มมูลค่าให้กับการใช้งาน POSIX ของพวกเขา

อ็อพชัน -f ถูกพิจารณา แต่เนื่องจากความแตกต่างของการนำไปใช้งานจึงไม่ถูกรวมในวอลุ่ม POSIX.1-2008 นี้

คำอธิบายถูกเปลี่ยนให้มีความเฉพาะเจาะจงมากขึ้นเกี่ยวกับสิ่งที่ต้องแสดงสำหรับยูทิลิตี้ ผู้พัฒนามาตรฐานพิจารณาว่าไม่เพียงพอที่จะอนุญาตให้แสดงเฉพาะบทสรุปโดยไม่ต้องให้คำอธิบายสั้น ๆ ถึงสิ่งที่แต่ละตัวเลือกและตัวถูกดำเนินการทำ

รายการ "วัตถุประสงค์" ที่จะรวมอยู่ในฐานข้อมูลสามารถคล้ายกับชื่อส่วน (น้อยกว่าส่วนนำหน้าตัวเลข) จากปริมาณ POSIX.1-2008 นี้สำหรับแต่ละยูทิลิตี้ ชื่อเหล่านี้คล้ายกับชื่อที่ใช้ในระบบเชิงประวัติศาสตร์เพื่อจุดประสงค์นี้

ดูmailxสำหรับเหตุผลที่เกี่ยวข้องกับ paginator เริ่มต้น

คำเตือนในคำอธิบาย LC_CTYPE ถูกเพิ่มเนื่องจากไม่ใช่ข้อกำหนดที่การใช้งานจะมีหน้าอ้างอิงสำหรับตำแหน่งที่ตั้งที่สนับสนุนทั้งหมดในแต่ละระบบ การเปลี่ยน LC_CTYPE ไม่จำเป็นต้องแปลหน้าอ้างอิงเป็นภาษาอื่น สิ่งนี้เทียบเท่ากับสถานะปัจจุบันของ LC_MESSAGES ในข้อความที่ระบุเฉพาะ POSIX.1-2008-locale ยังไม่เป็นข้อกำหนด

ประวัติ MANPATH ตัวแปรไม่รวมอยู่ใน POSIX เนื่องจากไม่มีความพยายามในการระบุแบบแผนการตั้งชื่อสำหรับไฟล์หน้าการอ้างอิงหรือแม้แต่กำหนดว่ามันเป็นไฟล์เลย ในการใช้งานบางอย่างพวกเขาอาจเป็นฐานข้อมูลที่แท้จริงไฟล์ไฮเปอร์เท็กซ์หรือแม้กระทั่งสตริงคงที่ภายในปฏิบัติการของมนุษย์ ผู้พัฒนามาตรฐานพิจารณาความสามารถในการพกพาของหน้าอ้างอิงที่อยู่นอกขอบเขตการทำงาน อย่างไรก็ตามผู้ใช้ควรระวังว่า MANPATH นั้นถูกนำไปใช้กับระบบที่ผ่านมาหลายระบบและสามารถใช้ในการปรับแต่งรูปแบบการค้นหาสำหรับหน้าอ้างอิงจากหมวดหมู่ต่างๆ (ยูทิลิตี้ฟังก์ชั่นรูปแบบไฟล์และอื่น ๆ ) เมื่อผู้ดูแลระบบ เปิดเผยตำแหน่งและการประชุมสำหรับหน้าอ้างอิงในระบบ

...

การอภิปรายเหตุผล paginator จากหน้า mailx :

paginator ที่เลือกเมื่อ PAGER เป็นโมฆะหรือไม่ได้ตั้งค่าบางส่วนเพื่อให้การฝึกฝนประวัติของ System V ของการใช้ pg เป็นค่าเริ่มต้น การข้ามฟังก์ชันการให้เลขหน้าเช่นโดยการประกาศว่าแมวเป็นผู้จัดลำดับจะไม่ตรงกับความหมายที่ต้องการของคำอธิบายนี้ อย่างไรก็ตาม "ผู้ใช้แบบพกพา" ใด ๆ จะต้องตั้งค่า PAGER อย่างชัดเจนเพื่อให้ได้ผู้ให้บริการที่ต้องการในทุกระบบ ตัวเลือกตัว paginator นั้นไม่ได้ระบุบางส่วนซึ่งแตกต่างจากตัวเลือกของตัวแก้ไข VISUAL (ซึ่งได้รับคำสั่งให้เป็น vi) เนื่องจากเพจเจอร์ที่ผ่านมาส่วนใหญ่จะเป็นไปตามธีมทั่วไปของอินพุตของผู้ใช้

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