ฉันมักจะเห็นสิ่งต่าง ๆ เช่น
อ่าน ข้อมูลเพิ่มเติมอ่านหน้า man ของxyz ดู
man xyzinfo xyz
ดังนั้นฉันสงสัย:
- ฉันจะขอความช่วยเหลือเกี่ยวกับคำสั่งเทอร์มินัลได้อย่างไร?
- หน้าคนและข้อมูลเหล่านี้คืออะไรกันแน่?
- ฉันจะค้นหาและดูพวกเขาได้อย่างไร
ฉันมักจะเห็นสิ่งต่าง ๆ เช่น
อ่าน ข้อมูลเพิ่มเติมอ่านหน้า man ของxyz ดู
man xyzinfo xyz
ดังนั้นฉันสงสัย:
คำตอบ:
man page (ย่อมาจาก manual manual) เป็นรูปแบบดั้งเดิมของเอกสารซอฟต์แวร์บนระบบปฏิบัติการ Unix-like เช่น Ubuntu สำหรับคำสั่งและโปรแกรมส่วนใหญ่จะมี man page ซึ่งแสดงรายการตัวเลือกและอธิบายการใช้งาน
หน้า Man จะถูกติดตั้งโดยอัตโนมัติในระบบของคุณพร้อมกับคำสั่งที่อธิบาย ในการดูและค้นหาหน้าคนมีคำสั่งman:
man mv
แสดงหน้าคนmvในขณะที่
man -k mv
ชื่อการค้นหาและคำอธิบายสั้น ๆ mvของทั้งหมดที่ติดตั้งหน้าคนสตริง อนุญาตให้ใช้นิพจน์ทั่วไปเพิ่มเติมของ POSIX และเป็นการค้นหาดังนั้นจะเป็นการค้นหาเช่นgit-mvและsemverถ้าคุณต้องการค้นหาการmvใช้งาน^mv$แทนทั้งหมด
ดูความแตกต่างระหว่าง 'man' และ `man (#) 'คืออะไร? เพื่ออ่านเกี่ยวกับส่วนหน้าคน สำหรับข้อมูลเพิ่มเติมอ่านmanman page ของ ;)
lessโปรแกรมเริ่มต้นไปยังหน้าจอแสดงผลเป็นมนุษย์ เพจเจอร์ที่เรียกว่านี้มีฟังก์ชันการค้นหาที่เป็นประโยชน์เพียงป้อน/ตามด้วยคำค้นหาเช่น
/--version
Enterและกด สิ่งนี้จะทำเครื่องหมายทุกการค้นพบและเลื่อนไปที่รายการแรก กดNเพื่อไปที่การค้นหาถัดไปและ⇧ Shift+ Nเพื่อไปยังการค้นหาก่อนหน้า (ดูที่ฉันจะค้นหาภายใน manpage ได้อย่างไร ) สำหรับรายการของคำสั่งกดH, เพื่อออกกดlessQ
ข้างlessมีวิทยุติดตามตัวอื่น ๆที่ใช้ได้: pg, mostและw3mเพียงสามรายการ ผมขอแนะนำmost: มันมาพร้อมกับสีที่มีประโยชน์มากของคำสำคัญทำให้หน้าคนมากง่ายต่อการอ่านและการสำรวจดูตัวเอง:
ในการดูหน้าคนที่แตกต่างจากเพจเจอร์เริ่มต้นให้ใช้-Pตัวเลือกเช่น:
man -P most mv
หากคุณต้องการเปลี่ยนเพจเจอร์เพจเจอร์เริ่มต้นจะแสดงพร้อมกับคุณมีสองตัวเลือก:
เปลี่ยนเพจเจอร์เริ่มต้นเพียงอย่างเดียว man
export MANPAGER=most
หากต้องการทำการเปลี่ยนแปลงแบบถาวรให้เพิ่มคำสั่งนี้ใน~/.bashrcไฟล์ของคุณ
เปลี่ยนเพจเจอร์เริ่มต้นของระบบทั้งหมดของคุณ
sudo update-alternatives --config pager
แฟน ๆ สามารถแม้กระทั่ง (AB) ใช้vimเป็นMANPAGERดูบทความนี้เขียนโดยMuru
หน้า Man จะแสดงในแบบอักษรที่ระบุในการตั้งค่าเทอร์มินัลอีมูเลเตอร์ของคุณ หากคุณทำงานกับเครื่องเป็นประจำคุณอาจต้องการเปลี่ยนแบบอักษรนี้ ฉันสามารถแนะนำแฮ็คเท่านั้น- แบบอักษรที่ออกแบบมาสำหรับซอร์สโค้ดดูภาพหน้าจอด้านบนเพื่อความสวยงาม
วิธีที่ดีและง่ายในการแสดงหน้าคนด้วยGUI อย่างง่ายคือyelpโปรแกรมที่ติดตั้งไว้ล่วงหน้า ในการเริ่มต้น man page ด้วยyelpexecute yelp man:PROGRAMหรือgnome-help man:PROGRAMเช่น:
yelp man:mv
คุณยังสามารถดูหน้าคนด้วยเบราว์เซอร์ที่คุณต้องการดูฉันจะทำให้หน้าคนเปิดในเว็บเบราว์เซอร์ได้อย่างไร เช่นman mvในfirefox:
man -Hfirefox mv
สุดท้าย แต่ไม่ท้ายสุดคุณสามารถแปลง man page เป็น PDFและดูด้วยโปรแกรมดู PDF ที่คุณต้องการดู: มีวิธีพิมพ์ข้อมูล / man pages เป็น PDF หรือไม่?
คุณสามารถดูหน้าคนของโปรแกรมที่สามารถใช้ได้ผ่านทางที่เก็บของทุกรุ่นอูบุนตูสนับสนุนในขณะนี้ที่มี URL ชวเลขที่manpg.es/PROGRAMเช่นhttp://manpg.es/mv หน้านี้เปิดขึ้นmvสำหรับรุ่นล่าสุดของ Ubuntu คุณสามารถเลือกรุ่นอื่นในแถบด้านบน ในการค้นหาหน้าคนที่คุณสามารถใช้เช่นhttp://manpages.ubuntu.com/cgi-bin/search.py?q=mv
ตามที่อธิบายไว้ข้างต้นmanสามารถแสดง man page ของซอฟต์แวร์ที่ติดตั้งในระบบเท่านั้น เพื่อดูหน้าคนจากhttp://manpages.ubuntu.comโดยใช้เพจเจอร์เทอร์มินัลที่มีdmanอยู่ในbikeshedแพคเกจ
เมื่อคุณอ่านเอกสารจากแหล่งข้อมูลออนไลน์อื่น ๆ เป็นความคิดที่ดีที่จะจับตาดูรุ่นของโปรแกรม โปรแกรมส่วนใหญ่มี--versionตัวเลือกที่แสดงเวอร์ชันของโปรแกรมที่เป็นปัญหาเช่น
$ mv --version
mv (GNU coreutils) 8.25
มีเว็บไซต์จำนวนมากที่อุทิศตนเพื่อทำให้หน้าคนสามารถใช้งานได้ง่ายฉันแค่จะนำเสนอสองสิ่งที่ฉันชอบมากที่สุด:
แหล่งที่มาไม่ได้เชื่อมโยง: https://wiki.ubuntuusers.de/man/
man $*|col -bx|nano - man $*|col -bx|kate -i
less( manใช้lessคำสั่งสำหรับการแบ่งหน้า ดังนั้นจึงใช้งานได้manเช่นกัน)
พื้นฐานได้รับการครอบคลุมแล้ว แต่เว็บไซต์หนึ่งที่ฉันคิดว่าค่อนข้างมีประโยชน์สำหรับบอกคุณว่าคำสั่งทำอะไรคือhttps://explainshell.comซึ่งแบ่งคำสั่งลงในส่วนของมันและแสดงให้เห็นว่าแต่ละบิตทำอะไร
คู่ขนาน
man program-name
มีบ่อยเช่นกัน
info program-name
บางครั้งอาจเหมือนกัน (ซ้ำกัน) แต่บางครั้งหน้าใดหน้าหนึ่งเหล่านี้มีข้อมูลเพิ่มเติม ตัวอย่างเช่น
info ddrescue
มีข้อมูลมากกว่า
man ddrescue
และ
info date
มีข้อมูลมากกว่า
man date
ความสมดุลระหว่างmanและinfoขึ้นอยู่กับนโยบายของผู้ที่ดูแลโปรแกรมเฉพาะ [แพ็คเกจ]
ดูลิงค์นี้สำหรับรายละเอียดเพิ่มเติม
unix.stackexchange.com/questions/19451/difference-between-help-info-and-man-command
helpคำสั่ง?helpแสดงข้อมูลที่เป็นประโยชน์เกี่ยวกับbashคำสั่งในตัว มันให้ความช่วยเหลือสำหรับคำสั่ง bash shell เท่านั้น คุณสามารถใช้typeเพื่อตรวจสอบว่าคำสั่งดังกล่าวในตัวเช่นเมื่อเทียบกับtype echotype rm
มันถูกเรียกว่ามีรูปแบบเป็นอาร์กิวเมนต์:
help if
แสดงหน้าช่วยเหลือสำหรับifคำสั่ง หากคุณสนใจเพียงแค่ในไวยากรณ์ของคำสั่งที่ใช้-sตัวเลือกถ้าคุณต้องการhelpที่จะส่งออกผลผลิตในการใช้งานรูปแบบหน้าman -mหากต้องการดูข้อความช่วยเหลือแบบยาวคุณสามารถส่งออกไปยังเพจเจอร์ที่คุณต้องการ (ดูหัวข้อ“ ฉันจะมีอิทธิพลต่อคำตอบนี้ ”) ได้อย่างไร:
help -m if | less
manและinfoคุณสามารถเรียกใช้และเปรียบเทียบคำสั่งต่อไปนี้:
help echo # for the bash built-in command `echo`
man echo # for the program `/bin/echo`
info echo # for the program `/bin/echo`
เช่นในตัวอย่างนี้มีโปรแกรมที่มีทั้งแบบบิวด์อินและโปรแกรมปกติ (ดูเหตุใดจึงมี / bin / echo และทำไมฉันถึงต้องการใช้มัน? ) ในกรณีนี้หน้าคนมักจะมี หมายเหตุระบุว่า
ดูลิงค์นี้สำหรับรายละเอียดเพิ่มเติม: ความแตกต่างระหว่างวิธีใช้ข้อมูลและคำสั่ง man · U&L
-hและ / หรือ--helpมักจะมีในตัวช่วยในการโปรแกรมที่ตัวเองสามารถใช้ได้ผ่านทางอย่างน้อยหนึ่งตัวเลือก-h, --helpหรือ-?:
PROGRAM -h
PROGRAM --help
PROGRAM -?
หากทั้งสองตัวเลือก-hและ--helpมีอยู่พวกเขามักจะเทียบเท่า แต่บางครั้งคุณจะได้รับ 'ความช่วยเหลือเพิ่มเติมด้วย--help, -H, --longhelp, --help-allหรือคำสั่งที่คล้ายกัน พฤติกรรมนี้มีการบันทึกไว้ในโปรแกรมman/ infoหน้า
มักจะมีข้อมูลเพิ่มเติมผ่านทางmanและแต่บางครั้งมีข้อมูลพิเศษผ่านinfo -hเรียกใช้และเปรียบเทียบผลลัพธ์ของ
man lsblk
และ
lsblk -h
บางโปรแกรมต้องการdf, tarและrsyncใช้ตัวเลือก-hอย่างอื่น อธิบายไว้ในman/ infoหน้าของแต่ละโปรแกรม
อีกครั้งคุณสามารถไพพ์เอาต์พุตไปยังเพจเจอร์ที่คุณต้องการเช่น:
lsblk -h | less
--helpซึ่งมักเป็นสิ่งเดียวที่ฉันต้องการด้วยคำสั่งส่วนใหญ่และมักจะเป็นสิ่งแรกที่ฉันลอง
เมื่อคุณมีประสบการณ์เกี่ยวกับ linux หน้าman , info page และตัวเลือกช่วยเหลือจะมีประโยชน์มาก แต่ในตอนแรกพวกเขาอาจเข้าใจยาก คุณต้องการความช่วยเหลืออย่างละเอียดเพื่อเริ่มต้น
คุณสามารถค้นหาช่วยให้รายละเอียดในบทเรียน ,
โดยปกติแล้วคุณจะพบบทเรียนผ่านทางอินเทอร์เน็ตบางครั้งมีการสอนที่มีประโยชน์ในหน้าคนหรือหน้าข้อมูล
ลองใช้สตริงการค้นหาเมื่อคุณใช้โปรแกรมค้นหาของเว็บเบราว์เซอร์
กำลังมองหาเครื่องมือที่ระบุ
กำลังมองหางาน (และหาบทช่วยสอนสำหรับเครื่องมือต่าง ๆ )
สั้น ๆ ดูที่ไม่กี่ของการเชื่อมโยงที่คุณพบและเริ่มต้นการทำงานกับการกวดวิชาที่เหมาะกับสิ่งที่คุณต้องการ
man rsync มีรายละเอียดเพียงพอสำหรับฉันที่จะใช้เป็นบทช่วยสอน แต่คุณอาจต้องการรายละเอียดเพิ่มเติม (และมองหาบทช่วยสอนผ่านทางอินเทอร์เน็ต)info ddrescue มีการสอนในตัวที่ดีtldroid: แอป Android ที่ให้ข้อมูลอย่างรวดเร็วเกี่ยวกับคำสั่ง Linux / unix / mac
https://play.google.com/store/apps/details?id=io.github.hidroh.tldroid
สิ่งที่ฉันชอบคือcommandlinefu.comมีฟังก์ชั่นในตัวคุณ.bashrcหรือ.zshrcแบบนี้
cmd() { curl "http://www.commandlinefu.com/commands/matching/$(echo "$@" \
| sed 's/ /-/g')/$(echo -n $@ | base64)/plaintext" ;}
ลองcmd mount cdฉันเรียกว่าฟังก์ชั่นของฉันcmdคุณสามารถเรียกมันว่าสิ่งที่คุณต้องการ
ฟังก์ชั่นด้านบนค้นหาเว็บไซต์ commandlinefu มันเป็นเว็บไซต์ที่ขับเคลื่อนโดยชุมชนเหมือนที่นี่ผู้ใช้มีความสามารถในการถอนคำสั่งและอื่น ๆ จากนั้นจะแสดงผลลัพธ์สูงสุดตามที่แสดงในรูปภาพ
หรือมีวิธีการใหม่ที่จะทำโดยใช้นี้
http://samirahmed.github.io/fu/
มาทำกัน fu cron
คิดออกว่าจะเปิดหน้าต่าง terminal man manและออกคำสั่ง พิมพ์ space bar เพื่อไปยังหน้าจอถัดไปทุกครั้งที่มีข้อความ "More" ที่ด้านล่าง คุณกำลังอ่านหน้าคู่มือสำหรับโปรแกรมอ่านคู่มือman!
มีปัญหาไก่และไข่ขนาดเล็กมากสำหรับคุณที่จะผ่าน manคำสั่งช่วยให้คุณอ่านคู่มือเกี่ยวกับทุกคำสั่งในระบบ แต่การส่งออกใช้คำสั่งอื่นที่เรียกว่าman moreนอกจากนี้คุณยังสามารถอ่านเพื่อเรียนรู้คำสั่งเพิ่มเติมสำหรับการนำทางman moremore
และนั่นคือทุกอย่าง! ฉันเรียนรู้ทุกสิ่งที่ฉันรู้เกี่ยวกับยูนิกซ์โดยอ่าน man pages สำหรับคำสั่งหลายร้อยคำสั่ง
manใช้โดยค่าเริ่มต้นไม่ได้less more
หลายคนได้กล่าวmanไปแล้ว มีคุณสมบัติที่ยอดเยี่ยมเล็กน้อยสำหรับmanบางคนที่ตระหนักถึงคือ
man -t $ (manpage) > manpage.ps
ซึ่งสร้างไฟล์ PostScript สำหรับหน้าคู่มือ PostScript สามารถแปลงเป็น PDF ได้อย่างง่ายดาย ผลนี้ในการจัดรูปแบบมาก nicer manกว่ารุ่นคำสั่งเริ่มต้นสายขั้ว
ตัวอย่างเช่น:
man -t man> man.ps
pstopdf man.ps
ฉันเพิ่งทดสอบบน Ubuntu (และควรทำงานกับ Linuces อื่น ๆ ) และ Mac OS