Gibt es Spiele, mit denen man Terminalbefehle lernen kann? [geschlossen]

98

Es scheint mir, dass das Erlernen der Verwendung des Terminals eine Grundvoraussetzung für das Erlernen der Verwendung von Ubuntu ist. Also versuche ich herauszufinden, wie man am besten lernt. Gibt es eine Quizlet-Online-Flash-Karte? Ein besserer Weg?

Der Kapitalismus setzt sich durch
quelle
4
Haben Sie zumindest Google ausprobiert?
mdpc
27
Wenn Sie einen Schnellkurs wünschen, ist "So erhalten Sie eine GUI zurück, nachdem ich versehentlich die Konfigurationsdateien so schlecht geladen habe, dass nur die Shell geladen wird" immer ein Gewinner. Seien Sie gewarnt: Wenn Sie das Spiel verlieren, können Sie einem graubärtigen Freund ein Getränk Ihrer Wahl kaufen oder das Betriebssystem neu installieren.
Dan Neely
6
@fluffy: Das ist nicht einmal schwer: rm -- '-rf ~/*'. Versuchen Sie für eine echte Herausforderung, eine Datei zu löschen, deren Name ausschließlich aus nicht druckbaren Steuerzeichen besteht. Bonuspunkte, wenn nur der Name gedruckt wird, der Ihr Terminal durcheinander bringt.
Ilmari Karonen
3
Das ist auch nicht allzu schwer: P rm -i * und antworte einfach mit Ja, wenn du auf die richtige Datei stößt.
Ooa
5
Zählt "echtes Leben" als Spiel?
Jonathan

Antworten:

132

Sie können die folgende Zeile (Befehl) am Ende Ihrer ~/.bashrcDatei hinzufügen :

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

Jedes Mal, wenn Sie das Terminal öffnen, erfahren Sie etwas über einen zufälligen Befehl.


Wenn Sie Spaß haben wollen, können Sie cowsay"Dienstprogramm" verwenden. Um es zu installieren, führen Sie dies im Terminal aus:

sudo apt-get install cowsay

Fügen Sie am Ende Ihrer ~/.bashrcDatei die folgende Zeile hinzu :

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

Oder Sie können die obige Zeile als Alias ​​in hinzufügen ~/.bash_aliases. Ich fügte hinzu:

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

Wann immer Sie sich langweilen, können Sie Folgendes eingeben: ?(gefolgt von Enter). Es ist, als würde man alleine Würfel spielen.

Bildbeschreibung hier eingeben

Radu Rădeanu
quelle
2
Das ist extrem cool, aber auf meiner Distribution (Ubuntu 13.04), die die Standard-Shell verwendet, erhalte ich Did you know that: mkdir: nothing appropriate.jedes Mal , wenn ich eine Shell starte (um pedantisch klar zu sein, sehe ich nicht immer, mkdiraber ich sehe immer nothing appropriate). whatisfunktioniert, wenn ich Ihre Codezeile am Anfang, ~/.bashrcaber nicht am Ende platziere. Ich bin mir nicht sicher, was es ist, das es durcheinander bringt, aber ich denke, andere werden auf dasselbe Problem stoßen.
Snim2
3
@ user606723 Ich habe nur gewählt, /binweil dort die am häufigsten verwendeten Befehle stehen. Sie können echo "Did you know that:"; whatis $(ls /usr/share/man/man1 | shuf -n 1 | cut -d. -f1)jedoch eine zufällige Seite aus allen Manpages auswählen.
Radu Rădeanu
1
@ RaduRădeanu die Ausgabe von ls nicht analysieren!
heinrich5991
3
@ heinrich5991 natürlich hast du generell /binrecht , aber wenn irgendetwas in deinem Namen Leerzeichen oder Zeilenumbrüche enthält, dann hast du größere Probleme als schlechte
Skriptgewohnheiten
1
@ snim2 Ich vermute, das Problem ist ein Alias ​​für lsdas Hinzufügen -Foder ein anderes Flag, das sich auf die Ausgabe auswirkt. Wechseln Sie ls /binzu /bin/ls /bin.
Gilles
37

Ich habe früher damit gespielt whatis. Es ist nicht gerade ein Spiel, aber es ist eine relativ einfache Möglichkeit, es zu lernen.

Geben Sie beispielsweise Folgendes ein whatis sudo apt-get update und es wird Folgendes zurückgegeben:

Bildbeschreibung hier eingeben

Bevor ich einen Befehl ausführe, drücke ich ihn whatiszuerst mit. Ich lerne, was ich tun werde, dann werde ich den Befehl mit Zuversicht ausführen.

Wenn whatisich nicht viele Informationen habe oder wenn es mir unklar ist, gehe ich zu und lese die man.

Zum Beispiel man sudo.

Google gibt Ihnen hier so viele Informationen, Quellen innerhalb von Ask Ubuntu und außerhalb. Hier LMGTFY: der beste Weg, um Terminalbefehle auf Ubuntu zu lernen

Achu
quelle
1
Ich würde wärmstens empfehlen, whatis somethingBEVOR Sie man somethingden Befehl "something" verwenden ^^. Insbesondere für einige (die meisten!) Befehle, dh ddzum Beispiel ... Man würde zum Beispiel auch den Parameter "update" in dem Beispiel erklären, das Sie selbst bereitstellen ... In Ihrem Beispiel zeigt whatis, was "apt-get" ist. und dann versucht, Definition von "Update" -Befehl zu finden, die nicht vorhanden ist (aber etwas völlig irrelevantes haben und sein könnte)
Olivier Dulac
27

Ja, Terminus ist einmal ein solches Spiel, das helfen wird. Es gibt eine Live - Version hier , und der Code ist auf GitHub . Es ist eine nette Idee, obwohl ich mir eher wünsche, dass der Code leichter erweiterbar wäre.

snim2
quelle
21

Ich kenne keine Spiele, aber es gibt einige nützliche Befehlszeilenprogramme, die helfen.

Was macht ein Befehl?

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

Wie mache ich?

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

Alternative:

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

Wie verwende ich

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

Einige Dienstprogramme unterstützen eine Hilfeoption, z.

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

Diese können in Form sein command -h, command --help, command -?.

Zur Information:

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

Wenn Sie etwas Bestimmtes erledigen müssen, ist Google Ihr Freund. Ansonsten gibt es viele Bücher, wie das Bash-Buch von O'Rielly .

azz
quelle
1
Fügen Sie aproposund infozur Liste hinzu. ;)
Johannes
3
ich würde es vermeiden <und >überhaupt nicht zu verwenden, da Personen, die eine Gebrauchsanweisung benötigen man, die Gefahr einer Umleitung möglicherweise nicht kennen. Beispiel: command <something> somethingelseErstellt eine somethingelseleere Datei (oder schneidet eine vorhandene ab!) Im aktuellen Verzeichnis. Es ist eine schlechte Angewohnheit. Die einfache Verwendung man commandist selbsterklärend. Oder man __some__command__oder irgendetwas Sicheres.
Olivier Dulac
hmm, eigentlich ist es sicher , wenn das <somethingnicht eine vorhandene Datei ist, da sonst die Schale wird sich beschweren , es existiert nicht (anscheinend tut dies vor der Ausgabe - Datei erstellen) ... Aber immer noch, schlechte Angewohnheit
Olivier Dulac
1
Guter Punkt. Nur gewohnt, Dokumentation in diesem Format zu schreiben. (bearbeiten) Entfernt sie.
azz
14

Schauen Sie sich die Kommandozeile fu an

Sie können einige coole Befehlszeilen-Snippets durchsuchen und wenn Sie ein tieferes Verständnis wünschen, können Sie die Handbücher der von ihnen verwendeten Befehle lesen.

Iftah
quelle
climagic ist ein ähnlicher Dienst, beschränkt jedoch die Befehlslänge, damit er gut in Tweets passt. Folgen Sie ihnen auf @climagic .
Tomer Cohen
cli.learncodethehardway.org/book ist großartig.
Amanda
13

Ubuntu wurde entwickelt, um sehr benutzerfreundlich zu sein. Das Erlernen der Verwendung des Terminals ist keine Voraussetzung für das Erlernen der Verwendung von Ubuntu. Dies ist jedoch der Fall, wenn Sie ein Hauptbenutzer werden oder Probleme selbst beheben möchten.

Zur Beantwortung Ihrer Frage kenne ich keine Spiele, die zum Lehren oder Helfen von Shell-Befehlen entwickelt wurden, aber ich würde die folgenden Ressourcen in Bezug auf Bash und Systemadministration wärmstens empfehlen:

Bitte beachten Sie, dass dieses Tutorial Red Hat (eine andere Linux-Distribution) verwendet und auf einige Verzeichnisse verweist, die nur für Studenten der University of Surrey gelten.

Der Autor Mike G wurde im Linux Documentation Project ( http://www.tldp.org/ ) gehostet

Ein Wikibook von Wikipedia

GNU Bash Referenzhandbuch

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

Hugo Vieira
quelle
8

Sie haben jede Menge Spiele auf http://overthewire.org . Am einfachsten ist Bandit, "für absolute Anfänger gedacht".

11684
quelle
Hervorragender Link. Es scheint, als gäbe es dort viele Kriegsspiele. Banditscheint das spiel für absolute anfänger wie mich zu sein.
Sonntag,
5

Es gibt ein Spiel zum Erlernen der VIM-Befehle unter http://vim-adventures.com/, das ich empfehle. Ich bringe meine Lehrlinge dazu, es am ersten Tag zu spielen :-)

Mädchen für alles
quelle
2

Das Memrise Tool verfügt über einen Unix- und einen Linux-Befehlszeilenabschnitt. Es ist ein großartiges Werkzeug, um alles auf Lochkarten-Weise zu lernen.

entwurde
quelle
Das ist nicht genau das, was ich mir vorgestellt habe, aber es sieht nach einer großartigen Lernressource aus, die ich verwenden werde. Vielen Dank!
Kapitalismus setzt sich durch
Es gibt auch den ShellFu-Kurs . Auch wenn Memrise an sich kein Spiel ist, finde ich es dennoch sehr spannend und es spielt auf Ihre Wettbewerbscharakteristik ab.
ThomasH
Ich erhalte gerade eine Seite mit Anzeigen von memrise.com :(
Paddy Landau
1

Es gibt das Spiel Uplink . Es hat ziemlich viel Spaß gemacht und es gibt ziemlich gute Ähnlichkeiten mit einer Linux-Shell. Aber es hat auch seine eigenen Befehle.

Samoth
quelle
1
Während Uplink ein großartiges Spiel ist, dann ist es Befehlszeile beschränkt ist cd, dir, deleteund reboot. Ziemlich unzureichend. Ich erinnere mich, dass es ein anderes Hacker-Spiel gibt, in dem man tatsächlich Shell-Skripte schreiben muss, aber ich habe den Namen vergessen. Wahrscheinlich etwas Kreatives als "Hacker"
Tobias Kienzler
1

Das beste Werkzeug, das ich zum langfristigen Auswendiglernen und Lernen gefunden habe, ist Anki

http://www.ankisrs.net/

In Anki verwende ich Erstellungskarten, bei denen ich die Antwort eingeben muss, und nicht nur eine Flash-Karte. Es baut das Muskelgedächtnis auf. Zusätzlich trainiere ich jeden Morgen 15 Minuten und Anki sortiert meine Karten nach den Karten, die ich überprüfen muss.

BDubbs
quelle
Klingt wie ein gutes Werkzeug , aber ist es bietet auch die Trainingsdaten für Terminal - Befehle?
Gertvdijk
0

In den frühen UNIX-Tagen (v6 und v7) (ja vor Linux) gab es eine Reihe von sehr simplen Tutorials unter dem Befehl " learn. Ich muss zugeben, ich habe meine Ausbildung dort begonnen. Es gab Tutorials auf der Kommandozeile, vi und ein bisschen C-Programmierung. Es ist längst verschwunden. Und das war natürlich vor der Verbreitung von Büchern zu diesem Thema, dem hohen Maß an einfacher Internetverbindung, im Grunde war alles, was Sie hatten, im Grunde die manSeiten.

So, jetzt ist es ganz einfach, im Grunde gehen Sie zu Google, entweder finden Sie eine Dokumentation gepostet. Oder nutzen Sie amazon, um ein passendes Buch zu finden. Amazon hat sogar Bewertungen und Kritiken in seinen Büchern.

mdpc
quelle
0

Nun, die meisten Grundlagen habe ich gelernt, als Linux noch hauptsächlich auf der Befehlszeile basierte und SUSE eines der wenigen Linux mit GUI-basierter Installation war. Ich habe diesmal mit Gentoo rumgespielt ... installiere einfach dein System mit ein paar Tools wie PM-Sensoren und so weiter, bald bist du wieder im Terminal für einige Konfigurationen

Ich weiß nicht, ob es noch eine Distribution gibt, die über die Befehlszeile installiert wird, da ich erst vor einem Monat aufgehört habe, mit Linux zu arbeiten. Als ich herausfand, dass sie endlich den Schritt gemacht haben, GUI-basiert und für Benutzer interessant zu werden, großartig Vielen Dank an alle Programmierer, die viele meiner alten PCs wieder nützlich gemacht haben !!!

Dumme MS IST einfach zu dumm, um ihr bestes Produkt länger zu warten ... Windows XP ... ein Unternehmen, das das tut, denkt sicherlich nicht darüber nach, ein Betriebssystem vollständig stabil und sicher zu machen ... und im Falle von Win 7 können sie es habe es sehr stabil und sicher, aber es braucht viel Ressourcen, um dies zu tun.

Ich mag die Art und Weise, wie Linux Hardware steuert, ohne große Compiler oder Interpreter oder andere Dinge, wie sie unter Windows üblich sind.

Wenn Sie jedoch mehr über Linux erfahren möchten, können Sie mit Gentoo Schritt für Schritt Ihr eigenes System aufbauen und auch lernen, wie Linux funktioniert. Gentoo ist auch in der Lage, auf fast allem zu laufen, egal wie klein die Hardwareressourcen sind. Sie können also einen anderen, älteren PC für diese Linux-, Installations- und Spaßzeiten mitnehmen!

Roter Starfox
quelle
0

Nicht gerade ein Spiel, aber es gibt diese Seite, auf der Sie verschiedene Befehle lernen können.

Thiago Perrotta
quelle
0

Kein Spiel, aber werfen Sie einen Blick auf http://www.stanford.edu/class/cs124/kwc-unix-for-poets.pdf

Es behandelt sed, awk und grep neben anderen und zeigt Ihnen, wie Sie Ngramme zählen, sortieren, berechnen usw. Es hat Übungen und alles. Ich habe immer wieder darauf hingewiesen.

Himanshu
quelle
0

Kein Spiel, aber praktisch, wenn Sie einige Befehle erlernen möchten und kein Linux verfügbar ist: rextester

ren
quelle
0

In der Matrix für Game Cube habe ich (im Vergleich zu meinen 13-jährigen Vorkenntnissen) einiges über das UNIX-Terminal gelernt. Es gab ein Minispiel, in dem du dich in die Matrix "gehackt" hast, um Waffen für die spätere Aufnahme abzulegen, wenn du dieses Level spielst. Tatsächlich ist es eines meiner Lieblingsfeatures in jedem Spiel, das ich je gesehen habe.

Colton
quelle
0

inx (ist nicht X) kann als Live-CD verwendet werden und lehrt Terminalmaterial auf unterhaltsame und interaktive Weise

catch22
quelle
0

Ich denke, Bandit ist einer der besten, der mehr über Linux-Befehle und Linux-Kenntnisse für Anfänger lernt und versteht. Den Link erhalten Sie hier

Vishnu NK
quelle