มีเกมใดบ้างที่สามารถฝึกฝนผู้คนให้เรียนรู้คำสั่งเทอร์มินัล [ปิด]


98

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


4
คุณลองใช้ Google อย่างน้อย
mdpc

27
หากคุณต้องการหลักสูตรการชน "วิธีการรับ GUI ย้อนกลับหลังจากที่ฉันได้รับการเผยแพร่โดยบังเอิญโดยบังเอิญไฟล์กำหนดค่าที่แย่มากมีเพียงเชลล์เท่านั้นที่จะโหลด" เป็นผู้ชนะเสมอ ได้รับคำเตือนว่าหากคุณแพ้ในเกมที่อาจมีบทลงโทษรวมถึงการซื้อเครื่องดื่มที่เพื่อนเลือกซื้อหรือติดตั้งระบบปฏิบัติการใหม่
Dan Neely

6
@fluffy: นั่นไม่ยากrm -- '-rf ~/*'เลย: สำหรับความท้าทายที่แท้จริงลองลบไฟล์ที่มีชื่อประกอบด้วยอักขระควบคุมที่ไม่สามารถพิมพ์ได้ทั้งหมด คะแนนโบนัสหากเพียงแค่พิมพ์ชื่อ messes up terminal ของคุณ
Ilmari Karonen

3
นั่นก็ไม่ยากเกินไป: P rm -i * และเพียงแค่ตอบว่าใช่เมื่อคุณเจอไฟล์ที่ถูกต้อง
ooa

5
"ชีวิตจริง" นับเป็นเกมหรือไม่?
โจนาธาน

คำตอบ:


132

คุณสามารถเพิ่มบรรทัดต่อไปนี้ (คำสั่ง) ที่ท้าย~/.bashrcไฟล์ของคุณ:

echo "Did you know that:"; whatis $(ls /bin | shuf -n 1)

ทุกครั้งที่คุณเปิดเทอร์มินัลคุณจะได้เรียนรู้เกี่ยวกับคำสั่งแบบสุ่ม


หากคุณต้องการความสนุกสนานคุณสามารถใช้cowsay"ยูทิลิตี้" หากต้องการติดตั้งให้รันสิ่งนี้ในเทอร์มินัล:

sudo apt-get install cowsay

จากนั้นเพิ่มบรรทัดต่อไปนี้ที่ท้าย~/.bashrcไฟล์ของคุณ:

cowsay -f $(ls /usr/share/cowsay/cows | shuf -n 1 | cut -d. -f1) $(whatis $(ls /bin) 2>/dev/null | shuf -n 1)

หรือคุณสามารถเพิ่มบรรทัดด้านบนเป็นนามแฝง~/.bash_aliasesได้ ฉันเพิ่ม:

alias ?='cowsay -f $(ls /usr/share/cowsay/cows | shuf -n 1 | cut -d. -f1) $(whatis $(ls /bin) 2>/dev/null | shuf -n 1)'

เมื่อใดก็ตามที่คุณเบื่อคุณสามารถพิมพ์เทอร์มินัล: ?(ตามด้วยEnter) มันเหมือนกับการเล่นลูกเต๋าด้วยตัวเอง

ป้อนคำอธิบายรูปภาพที่นี่


2
มันเจ๋งมาก แต่ใน distro ของฉัน (Ubuntu 13.04) โดยใช้เชลล์เริ่มต้นที่ฉันได้รับDid you know that: mkdir: nothing appropriate.ทุกครั้งที่ฉันเริ่มเชลล์ (เพื่อให้ชัดเจนอวดรู้ฉันไม่เห็นทุกครั้งmkdirแต่ฉันมักจะเห็นnothing appropriate) whatisใช้งานได้ถ้าฉันวางบรรทัดโค้ดไว้ที่ด้านบนสุด~/.bashrcแต่ไม่ใช่ที่ท้าย ไม่แน่ใจว่ามันคืออะไรที่ทำให้มันยุ่ง แต่ฉันคิดว่าคนอื่นจะเจอปัญหาเดียวกัน
snim2

3
@ user606723 ฉันเลือกเพียง/binเพราะมีคำสั่งที่ใช้มากที่สุด แต่คุณสามารถใช้echo "Did you know that:"; whatis $(ls /usr/share/man/man1 | shuf -n 1 | cut -d. -f1)เพื่อเลือกหน้าสุ่มจากหน้าคนทั้งหมด
Radu Rădeanu

1
@ RaduRădeanuไม่แยกวิเคราะห์ผลลัพธ์ของ ls!
heinrich5991

3
@ heinrich5991 แน่นอนว่าคุณถูกต้องโดยทั่วไป แต่ถ้ามีอะไรใน/binช่องว่างหรือบรรทัดใหม่ในชื่อของมันแล้วคุณมีปัญหาใหญ่กว่านิสัยการเขียนสคริปต์ที่ไม่ดี ...
evilsoup

1
@ snim2 ฉันสงสัยว่าปัญหานี้เป็นนามแฝงสำหรับการlsเพิ่ม-Fหรือการตั้งค่าสถานะอื่น ๆ ที่มีผลต่อการส่งออก เปลี่ยนไปls /bin /bin/ls /bin
Gilles

37

whatisผมเคยเล่นกับ มันไม่ใช่เกม แต่เป็นวิธีที่ง่ายต่อการเรียนรู้

ตัวอย่างเช่นพิมพ์whatis sudo apt-get update และส่งคืน:

ป้อนคำอธิบายรูปภาพที่นี่

ก่อนที่ฉันจะรันคำสั่งใด ๆ ฉันจะกดมันwhatisก่อน ฉันเรียนรู้สิ่งที่ฉันจะทำแล้วฉันจะทำคำสั่งด้วยความมั่นใจ

ถ้าไม่ได้ให้ข้อมูลมากหรือถ้ามันไม่ชัดเจนกับผมผมจะไปและอ่านwhatisman

ตัวอย่างเช่นman sudo.

Google ให้ข้อมูลกับคุณมากมายที่นี่แหล่งข้อมูลถามอูบุนตูและภายนอก ที่นี่ LMGTFY: วิธีที่ดีที่สุดในการเรียนรู้คำสั่งเทอร์มินัลบน Ubuntu


1
ฉันขอแนะนำให้ติดตามwhatis somethingด้วยการอ่านอย่างละเอียดman somethingก่อนโดยใช้คำสั่ง "บางอย่าง" ^^ โดยเฉพาะอย่างยิ่งสำหรับบางคำสั่ง (ส่วนใหญ่!) เช่นddเช่น ... คนจะอธิบายพารามิเตอร์ "update" ในตัวอย่างที่คุณให้ด้วยตัวคุณเอง ... ในตัวอย่างของคุณ whatis แสดงว่า "apt-get" คืออะไร จากนั้นพยายามค้นหาคำจำกัดความของคำสั่ง "update" ซึ่งไม่มีอยู่ (แต่อาจมีและเป็นสิ่งที่ไม่เกี่ยวข้องโดยสมบูรณ์)
Olivier Dulac

27

ใช่เทอร์มินัสเป็นเกมที่จะช่วยได้ มีรุ่นสดที่นี่และรหัสเป็นบน GitHub มันเป็นความคิดที่เรียบร้อยแม้ว่าฉันจะหวังว่ารหัสจะขยายได้ง่ายขึ้น


21

ฉันไม่รู้จักเกมใด ๆ แต่มีอรรถประโยชน์บรรทัดคำสั่งที่มีประโยชน์บางอย่างที่ช่วยได้

คำสั่งทำอะไร

whatis command
# example:
$ whatis cut
cut (1)              - remove sections from each line of files

ฉันจะทำอย่างไร?

man -k keyword
# example:
$ man -k "remove empty"
rmdir (1)            - remove empty directories

อีกวิธีหนึ่งคือ:

apropos keyword  
# defaults to printing every result with at least one of the keywords supplied
#   use --and to only print results matching multiple keywords.
$ apropos zip --and extract
funzip (1)           - filter for extracting from a ZIP archive in a pipe
unzip (1)            - list, test and extract compressed files in a ZIP archive
unzipsfx (1)         - self-extracting stub for prepending to ZIP archives
uz (1)               - gunzips and extracts a gzip'd tar'd archive

ฉันจะใช้งานอย่างไร

man command
# example:
man tar
# use '?' key to search, and 'q' to quit.

หรือยูทิลิตี้บางตัวสนับสนุนตัวเลือกวิธีใช้เช่น:

$ umount --help
Usage: umount -h | -V
   umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]
   umount [-d] [-f] [-r] [-n] [-v] special | node...

เหล่านี้อาจจะเป็นในรูปแบบของcommand -h, ,command --helpcommand -?

สำหรับข้อมูล:

info command
# example:
$ info cat
# shows an information page

หากคุณมีสิ่งที่เฉพาะเจาะจงที่คุณต้องทำให้สำเร็จ Google ก็คือเพื่อนของคุณ มิฉะนั้นมีหนังสือหลายเล่มเช่นหนังสือทุบตีจาก O'Rielly


1
เพิ่มaproposและinfoลงในรายการ ;)
โยฮันเนส

3
ฉันจะหลีกเลี่ยงการใช้งาน<และ>ในฐานะบุคคลที่ต้องการทิศทางในการใช้งานmanอาจไม่ทราบถึงอันตรายของการเปลี่ยนเส้นทาง ตัวอย่างเช่น: command <something> somethingelseจะสร้างsomethingelseไฟล์ว่าง (หรือตัดทอนไฟล์ที่มีอยู่!) ใน dir ปัจจุบัน มันเป็นนิสัยที่ไม่ดี เพียงแค่ใช้man commandคำอธิบายตัวเองค่อนข้าง หรือman __some__command__อะไรก็ตามที่ปลอดภัย
Olivier Dulac

อืมจริง ๆ แล้วมันปลอดภัยหากไฟล์<somethingนั้นไม่ใช่ไฟล์ที่มีอยู่มิฉะนั้นเชลล์จะบ่นว่ามันไม่มีอยู่ (เห็นได้ชัดว่าก่อนหน้านี้จะสร้างไฟล์เอาต์พุต) ... แต่ถึงกระนั้นนิสัยที่ไม่ดี
Olivier Dulac

1
จุดดี. เพียงแค่ใช้ในการเขียนเอกสารในรูปแบบนั้น (แก้ไข) ลบออกแล้ว
azz

14

ลองดูที่ บรรทัดคำสั่ง fu

คุณสามารถเรียกดูตัวอย่างบรรทัดคำสั่งเด็ด ๆ และหากคุณต้องการความเข้าใจที่ลึกซึ้งยิ่งขึ้นคุณสามารถอ่านคู่มือของคำสั่งที่ใช้


climagicเป็นบริการที่คล้ายกัน แต่จำกัดความยาวของคำสั่งให้พอดีใน tweets ตามพวกเขาใน@climagic
Tomer Cohen

cli.learncodethehardway.org/bookยอดเยี่ยม
Amanda

13

อูบุนตูได้รับการออกแบบให้ใช้งานง่าย การเรียนรู้วิธีใช้เทอร์มินัลไม่ใช่ข้อกำหนดเบื้องต้นในการเรียนรู้วิธีใช้งาน Ubuntu อย่างไรก็ตามหากคุณต้องการเป็นผู้ใช้ระดับสูงหรือแก้ไขปัญหาด้วยตนเอง

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

โปรดทราบว่าบทช่วยสอนนี้ใช้ Red Hat (การกระจาย Linux อื่น) และอ้างอิงบางไดเรกทอรีที่ใช้กับนักศึกษาของ University of Surrey เท่านั้น

โฮสต์ที่โครงการเอกสาร Linux ( http://www.tldp.org/ ) ผู้แต่ง Mike G

wikibook จาก Wikipedia

คู่มืออ้างอิง GNU Bash

คู่มือ Bash-Scripting ขั้นสูง ( http://linux.die.net/ ) ผู้แต่ง Mendel Cooper


8

คุณได้มีตันของเกมบนhttp://overthewire.org วิธีที่ง่ายที่สุดคือโจร "มุ่งเป้าไปที่ผู้เริ่มต้นแน่นอน"


ลิงค์ที่ยอดเยี่ยม ดูเหมือนว่ามีหลาย wargames อยู่ในนั้น Banditดูเหมือนว่าจะเป็นเกมสำหรับผู้เริ่มต้นอย่างแน่นอนเช่นฉัน
Sundeep


2

เครื่องมือ Memriseมีส่วนของบรรทัดคำสั่ง unix และ linux มันเป็นเครื่องมือที่ยอดเยี่ยมสำหรับการเรียนรู้ทุกสิ่งในรูปแบบของการ์ดเจาะ


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

นอกจากนี้ยังมีหลักสูตร ShellFu ในขณะที่ Memrise ไม่ใช่เกมต่อฉันยังคงพบว่ามันน่าสนใจและมันเล่นตามลักษณะการแข่งขันของคุณ
ThomasH

ฉันเพิ่งได้รับหน้าโฆษณาจากmemrise.com :(
Paddy Landau

1

โครงการเอกสารลินุกซ์มีแหล่งข้อมูลที่ดีที่สุดและอัปเดตสำหรับการเรียนรู้ BASH

  1. http://www.tldp.org/LDP/Bash-Beginners-Guide/html/

  2. http://www.tldp.org/LDP/abs/html/

  3. http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html

ชุมชน Ubuntu ได้รวบรวมลิงก์ที่ดีทั้งหมดซึ่งเป็นประโยชน์อย่างมากในการเรียนรู้ BASH

https://help.ubuntu.com/community/CommandLineResources


1

มีเกมคือUplink มันค่อนข้างสนุกและ threre นั้นคล้ายคลึงกับ linux shell ค่อนข้างดี แต่มันก็มีคำสั่งของตัวเองเช่นกัน


1
ในขณะที่ Uplink เป็นเกมที่ดีก็บรรทัดคำสั่งจะถูก จำกัดcd, dir, และdelete rebootค่อนข้างไม่เพียงพอ ฉันจำได้ว่ามีเกมแฮ็กเกอร์อีกเกมหนึ่งที่คุณต้องเขียนเชลล์สคริปต์ แต่ฉันลืมชื่อ อาจเป็นสิ่งที่สร้างสรรค์ในฐานะ "แฮกเกอร์"
Tobias Kienzler

1

เครื่องมือที่ดีที่สุดที่ฉันค้นพบสำหรับการท่องจำในระยะยาวและการเรียนรู้คือ Anki

http://www.ankisrs.net/

ฉันใช้สร้างการ์ดใน Anki ซึ่งต้องการให้ฉันพิมพ์คำตอบแทนที่จะเป็นแฟลชการ์ด มันสร้างความจำของกล้ามเนื้อ นอกจากนี้ฉันทำการฝึก 15 นาทีทุกเช้าและ Anki จะจัดเรียงไพ่ตามที่ฉันต้องการตรวจสอบ


ฟังดูเป็นเครื่องมือที่ดีแต่มันยังให้ข้อมูลการฝึกอบรมสำหรับคำสั่งเทอร์มินัลด้วยหรือไม่
gertvdijk

0

ในวัน UNIX ต้น (v6 และ v7) (ใช่ก่อน Linux) learnมีชุดของบทเรียนง่ายมากภายใต้คำสั่งที่เรียกว่า ฉันต้องยอมรับว่าฉันเริ่มการฝึกอบรมที่นั่น .. มันมีแบบฝึกหัดในบรรทัดคำสั่ง, vi, และการเขียนโปรแกรม C เล็กน้อย มันหายไปนานแล้ว และแน่นอนนี่คือก่อนการเพิ่มจำนวนหนังสือในหัวข้อนี้จำนวนการเชื่อมต่ออินเทอร์เน็ตที่ง่ายซึ่งโดยทั่วไปสิ่งที่คุณมีก็คือmanหน้าเว็บ

ดังนั้นตอนนี้มันค่อนข้างง่ายโดยทั่วไปไปที่ Google ค้นหาเอกสารที่โพสต์ หรือใช้ amazon เพื่อค้นหาหนังสือที่เหมาะสม Amazon มีคะแนนและบทวิจารณ์ในหนังสือของพวกเขาด้วย


0

พื้นฐานส่วนใหญ่ที่ฉันเรียนรู้เมื่อ Linux ยังคงเป็นบรรทัดคำสั่งส่วนใหญ่และ SUSE เป็นหนึ่งในไม่กี่ Linux ที่ติดตั้งด้วย GUI ฉันเล่นกับ Gentoo ในช่วงเวลาเหล่านี้ ... เพียงแค่ติดตั้งระบบของคุณด้วยเครื่องมือบางอย่างเช่น PM-sensors และสิ่งต่าง ๆ ในไม่ช้าคุณจะกลับมาที่ terminal เพื่อกำหนดค่าบางอย่าง

ฉันไม่รู้ว่ายังมี distro ที่ติดตั้งผ่าน command-line หรือไม่เพราะฉันหยุดทำงานกับ Linux จนถึงเดือนที่แล้วเมื่อฉันพบว่าในที่สุดพวกเขาก็ทำขั้นตอนเพื่อให้ได้อิงกับ GUI และน่าสนใจสำหรับผู้ใช้ ขอบคุณโปรแกรมเมอร์ทุกคนที่ออกมานั่นทำให้พีซีเครื่องเก่าของฉันมีประโยชน์อีกครั้ง !!!

Stupid MS นั้นโง่เกินไปที่จะรักษาผลิตภัณฑ์ที่ดีที่สุดของพวกเขาอีกต่อไป ... Windows XP ... บริษัท ที่ทำเช่นนั้นแน่นอนไม่ได้พิจารณาที่จะใช้ระบบปฏิบัติการที่เสถียรและปลอดภัยอย่างเต็มที่ ... และในกรณีที่ชนะ 7 พวกเขาอาจ ทำให้มันเสถียรและปลอดภัยมาก แต่ก็ต้องใช้ทรัพยากรจำนวนมากในการทำเช่นนั้น

ชอบวิธี Linux ในการควบคุมฮาร์ดแวร์โดยไม่ต้องใช้คอมไพเลอร์หรือล่ามขนาดใหญ่หรือสิ่งอื่น ๆ ในลักษณะเช่นบน Windows

แต่ถ้าคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Linux Gentoo เป็นวิธีที่ยอดเยี่ยมในการสร้างระบบของคุณเองทีละขั้นตอนและเรียนรู้วิธีการทำงานของ Linux Gentoo ยังสามารถทำงานได้เกือบทุกอย่างไม่ว่าทรัพยากรฮาร์ดแวร์จะเล็กเพียงใดดังนั้นคุณสามารถใช้พีซีเครื่องเก่าสำหรับ Linux เหล่านี้ทดสอบการติดตั้งเวลาสนุก!



0

ไม่ใช่เกม แต่ลองดูที่http://www.stanford.edu/class/cs124/kwc-unix-for-poets.pdf

มันครอบคลุม sed, awk และ grep นอกเหนือจากคนอื่น ๆ และแสดงให้คุณเห็นวิธีการนับเรียงลำดับคำนวณคำนวณ ฯลฯ มันมีการออกกำลังกายและทั้งหมด ฉันจะเรียกมันอีกครั้งและอีกครั้ง


0

ไม่ใช่เกม แต่มีประโยชน์เมื่อคุณต้องการเรียนรู้คำสั่งและไม่มี linux: rextester


0

เมทริกซ์สำหรับคิวบ์เกมเป็นที่ที่ฉันได้เรียนรู้ค่อนข้างมาก (เทียบกับความรู้เดิมของฉันอายุ 13 ปี) เล็กน้อยเกี่ยวกับเทอร์มินัล UNIX มีมินิเกมที่คุณ "แฮ็ก" เข้าไปในเมทริกซ์เพื่อส่งปืนไปรับในภายหลังเมื่อคุณเล่นในระดับนั้น จริงๆแล้วมันเป็นหนึ่งในฟีเจอร์ที่ฉันโปรดปรานในเกมใด ๆ เลยทีเดียว


0

inx (ไม่ใช่ X) สามารถใช้เป็น live cd และสอนสิ่งต่าง ๆ ในเทอร์มินัลได้อย่างสนุกสนานและโต้ตอบ


0

ฉันเดาbandit เป็นหนึ่งในดีที่สุดในการเรียนรู้และทำความเข้าใจเพิ่มเติมเกี่ยวกับคำสั่ง Linux และรู้เพิ่มเติมเกี่ยวกับ linux สำหรับผู้เริ่มต้น คุณสามารถรับลิงค์จากที่นี่

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