ฉันมักจะเห็นสิ่งต่าง ๆ เช่น
อ่าน ข้อมูลเพิ่มเติมอ่านหน้า man ของxyz ดู
man xyz
info xyz
ดังนั้นฉันสงสัย:
- ฉันจะขอความช่วยเหลือเกี่ยวกับคำสั่งเทอร์มินัลได้อย่างไร?
- หน้าคนและข้อมูลเหล่านี้คืออะไรกันแน่?
- ฉันจะค้นหาและดูพวกเขาได้อย่างไร
ฉันมักจะเห็นสิ่งต่าง ๆ เช่น
อ่าน ข้อมูลเพิ่มเติมอ่านหน้า man ของxyz ดู
man xyz
info 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 (#) 'คืออะไร? เพื่ออ่านเกี่ยวกับส่วนหน้าคน สำหรับข้อมูลเพิ่มเติมอ่านman
man page ของ ;)
less
โปรแกรมเริ่มต้นไปยังหน้าจอแสดงผลเป็นมนุษย์ เพจเจอร์ที่เรียกว่านี้มีฟังก์ชันการค้นหาที่เป็นประโยชน์เพียงป้อน/
ตามด้วยคำค้นหาเช่น
/--version
Enterและกด สิ่งนี้จะทำเครื่องหมายทุกการค้นพบและเลื่อนไปที่รายการแรก กดNเพื่อไปที่การค้นหาถัดไปและ⇧ Shift+ Nเพื่อไปยังการค้นหาก่อนหน้า (ดูที่ฉันจะค้นหาภายใน manpage ได้อย่างไร ) สำหรับรายการของคำสั่งกดH, เพื่อออกกดless
Q
ข้าง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 ด้วยyelp
execute 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 echo
type 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 more
more
และนั่นคือทุกอย่าง! ฉันเรียนรู้ทุกสิ่งที่ฉันรู้เกี่ยวกับยูนิกซ์โดยอ่าน 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