Vraag Zijn er spellen die mensen kunnen trainen om terminale commando's te leren? [Gesloten]


Het lijkt me dat het leren gebruiken van de terminal een voorwaarde is om te leren hoe je Ubuntu kunt gebruiken. Dus ik probeer uit te zoeken wat de beste manier is om te leren. Is er een online-flashcard van Quizlet beschikbaar? Een betere manier?


97
2017-08-26 04:30


oorsprong


Heb je op zijn minst Google geprobeerd? - mdpc
Als u een spoedcursus wilt, "Hoe een GUI terug te krijgen nadat ik de configuratiebestanden per ongeluk Fubared zo slecht dat alleen de shell wordt geladen" is altijd een winnaar. Wees gewaarschuwd dat als je het spel verliest mogelijke straffen zijn: koop een grijsaard vriend voor zijn drank naar keuze of herinstalleer het besturingssysteem. - Dan Neely
@ fluffy: dat is niet eens moeilijk: rm -- '-rf ~/*'. Probeer voor een echte uitdaging een bestand te verwijderen waarvan de naam volledig uit niet-afdrukbare besturingstekens bestaat. Bonuspunten als alleen al het afdrukken van de naam uw terminal in de war brengt. - Ilmari Karonen
Dat is ook niet moeilijk: P rm -i * en antwoord gewoon ja als je het juiste bestand tegenkomt. - ovc
Is "het echte leven" een game? - Jonathan


antwoorden:


U kunt de volgende regel (opdracht) toevoegen aan het einde van uw ~/.bashrc het dossier:

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

Elke keer dat u de terminal opent, leert u iets over een willekeurige opdracht.


Als je wat plezier wilt, kun je gebruiken cowsay "nut". Om het te installeren, voer dit in terminal uit:

sudo apt-get install cowsay

Voeg vervolgens de volgende regel toe aan het einde van uw ~/.bashrc het dossier:

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

Of u kunt de bovenstaande regel als alias toevoegen ~/.bash_aliases. Ik voegde toe:

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

Wanneer je je verveelt, kun je in terminal typen: ? (gevolgd door invoeren). Het is alsof je zelf dobbelstenen speelt.

enter image description here


131
2017-08-26 09:58



Dat is extreem cool, maar op mijn distro (Ubuntu 13.04) gebruik ik de standaard shell die ik krijg Did you know that: mkdir: nothing appropriate. telkens als ik een schelp begin (om pedant te zijn duidelijk, zie ik niet altijd mkdir maar ik zie altijd wel nothing appropriate). whatis werkt als ik je rij met code bovenaan zet ~/.bashrc maar niet aan het einde. Niet zeker wat het is dat het verprutst, maar ik denk dat anderen hetzelfde probleem tegenkomen. - snim2
@ user606723 Ik heb alleen gekozen /bin omdat daar de meest gebruikte commando's zijn. Maar je kunt gebruiken echo "Did you know that:"; whatis $(ls /usr/share/man/man1 | shuf -n 1 | cut -d. -f1) om een ​​willekeurige pagina van alle manpagina's te kiezen. - Radu Rădeanu
@ RaduRădeanu analyseert de uitvoer van ls niet! - heinrich5991
@ heinrich5991 natuurlijk heb je gelijk in het algemeen, maar als er iets in je /bin heeft spaties of nieuwe regels in zijn naam dan heb je grotere problemen dan slechte scripting-gewoonten ... - evilsoup
@ snim2 Ik vermoed dat het probleem een ​​alias is lsdat voegt eraan toe -F of een andere vlag die de uitvoer beïnvloedt. Verandering ls /bin naar /bin/ls /bin. - Gilles


Ik speelde vroeger whatis. Het is niet echt een spel, maar het is een relatief eenvoudige manier om te leren.

Typ bijvoorbeeld whatis sudo apt-get update  en het komt terug:

enter image description here

Voordat ik een commando uitvoer, sla ik ermee whatis eerste. Ik leer wat ik ga doen, dan zal ik de opdracht met vertrouwen uitvoeren.

Als whatis geeft niet veel informatie of als het voor mij onduidelijk is, ga ik naar en lees het man.

Bijvoorbeeld, man sudo.

Google geeft je hier zoveel info, bronnen binnen Vraag het Ubuntu en buiten. Hier, LMGTFY: beste manier om terminalopdrachten op Ubuntu te leren


37
2017-08-26 05:20



Ik zou het sterk aanbevelen om te volgen whatis something met een grondige lees van man something VOORDAT u het commando "iets" ^^ gebruikt. Vooral voor sommige (meest!) Opdrachten, namelijk dd bijvoorbeeld ... Man zou bijvoorbeeld ook de parameter "update" in het voorbeeld dat u zelf verstrekt, uitleggen ... In uw voorbeeld laat whatis zien wat "apt-get" is en probeert vervolgens de definitie van "update" te vinden commando, dat niet bestaat (maar iets volledig niet relevant zou kunnen zijn) - Olivier Dulac


Ja, Terminus is ooit zo'n spel dat zal helpen. Er is een live versie hier, en de code is op github. Het is een goed idee, hoewel ik liever zou willen dat de code gemakkelijker uit te breiden was.


27
2017-08-26 15:50





Ik ken geen games, maar er zijn enkele nuttige hulpprogramma's voor opdrachtregels die helpen.

Wat doet een commando?

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

Hoe doe ik?

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

Alternatief:

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

Hoe gebruik ik?

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

Of sommige hulpprogramma's ondersteunen een hulpoptie, zoals:

$ 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...

Deze kunnen de vorm hebben van command -h, command --help, command -?.

Ter informatie:

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

Als u iets specifieks heeft dat u moet doen, is Google uw vriend. Anders zijn er veel boeken, zoals de Bash-boek van O'Rielly.


21
2017-08-26 09:26



Toevoegen apropos en info naar de lijst. ;) - Johannes
ik zou vermijden om te gebruiken < en > helemaal niet, als personen die richting nodig hebben om te gebruiken man kan het gevaar van omleiding niet kennen. Bijvoorbeeld : command <something> somethingelse zal een maken somethingelse leeg bestand (of een bestaande afkappen!) in de huidige map. Het is een slechte gewoonte. Gewoon gebruiken man command is vrij voor zichzelf. Of man __some__command__ of iets veilig. - Olivier Dulac
hmm, eigenlijk is het veilig als het <something is geen bestaand bestand, anders zal de shell klagen dat het niet bestaat (blijkbaar doet het dit VOORDAT het het uitvoerbestand aanmaakt) ... Maar toch, slechte gewoonte - Olivier Dulac
Goed punt. Gewoon gebruikt om documentatie in dat formaat te schrijven. (bewerken) Ze zijn verwijderd. - azz


Kijk eens naar opdrachtregel fu

U kunt door enkele coole opdrachtregelfragmenten bladeren en als u meer begrip wenst, kunt u de handleidingen van de opdrachten die zij gebruiken lezen.


14
2017-08-26 10:57



climagic is een vergelijkbare service, maar beperkt de opdrachtlengte om goed in tweets te passen. Volg ze op @climagic. - Tomer Cohen
cli.learncodethehardway.org/book is geweldig. - Amanda


Ubuntu is ontworpen om zeer gebruiksvriendelijk te zijn. Het leren gebruiken van de terminal is geen voorwaarde om te leren hoe u Ubuntu gebruikt. Het is echter als u een krachtige gebruiker wilt worden of zelf problemen wilt oplossen.

Om uw vraag te beantwoorden, ken ik geen spellen die ontworpen zijn om shell-opdrachten te helpen of te leren, maar ik zou de volgende bronnen bash en systeemadministratie-gerelateerd aanraden:

Let op: deze tutorial maakt gebruik van Red Hat (een andere Linux-distributie) en verwijst naar een aantal mappen die alleen van toepassing zijn op studenten van de Universiteit van Surrey.

Gehost bij The Linux Documentation Project (http://www.tldp.org/), auteur Mike G

Een wikibook van Wikipedia

GNU Bash-handleiding

Geavanceerde Bash-Scripting Guide (http://linux.die.net/), auteur Mendel Cooper


13
2017-08-26 12:07





Je hebt tonnen games aan http://overthewire.org. De makkelijkste is Bandit, "gericht op absolute beginners".


7
2017-08-27 12:25



Uitstekende link. Het lijkt erop dat er veel wargames zijn. Bandit lijkt het spel te zijn voor absolute beginners zoals ik. - Sundeep


Er is een spel voor het leren van de VIM-opdrachten op http://vim-adventures.com/ die ik aanbevelen. Ik laat mijn leerlingen het op hun eerste dag spelen :-)


5
2017-08-26 21:28





De Memrise-tool heeft een unix en linux command line sectie. Het is een geweldig hulpmiddel om alles op een ponskaart-manier te leren.


2
2017-08-27 12:50



Dat is niet precies wat ik in gedachten had, maar het ziet eruit als een geweldige studieresource die ik zal gebruiken. Dankje! - Capitalism Prevails
Er is ook de ShellFu-cursus. Hoewel Memrise geen spel op zich is, vind ik het nog steeds erg boeiend en het speelt wel een rol bij jouw competitieve karakter. - ThomasH
Ik krijg zojuist een pagina met advertenties van memrise.com :( - Paddy Landau


Het Linux-documentatieproject heeft de beste en bijgewerkte bronnen voor het leren van 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 Community heeft alle goede links verzameld die erg nuttig zijn om BASH te leren

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


1
2017-08-26 15:29