Existe-t-il des jeux pouvant entraîner des personnes à apprendre les commandes de terminal? [fermé]

98

Il me semble qu’apprendre à utiliser le terminal est une condition préalable pour apprendre à utiliser Ubuntu. J'essaie donc de trouver le meilleur moyen d'apprendre. Existe-t-il une carte flash en ligne Quizlet? Une meilleure façon?

Le capitalisme prévaut
la source
4
Avez-vous au moins essayé Google?
Mdpc
27
Si vous souhaitez suivre un cours intensif, «Comment récupérer une interface graphique après avoir accidentellement fouillé les fichiers de configuration, seul le shell peut le charger» est toujours un gagnant. Soyez averti que si vous perdez le jeu, vous encourez le cas de votre boisson préférée ou de la réinstallation du système d'exploitation.
Dan Neely
6
@fluffy: Ce n'est pas même difficile: rm -- '-rf ~/*'. Pour un véritable défi, essayez de supprimer un fichier dont le nom est entièrement composé de caractères de contrôle non imprimables. Des points bonus si vous n'imprimez que le nom gâche votre terminal.
Ilmari Karonen
3
Ce n'est pas trop difficile non plus: P -m * et répondez simplement oui lorsque vous rencontrez le bon fichier.
Ooa
5
La "vraie vie" compte-t-elle comme un jeu?
Jonathan

Réponses:

132

Vous pouvez ajouter la ligne suivante (commande) à la fin de votre ~/.bashrcfichier:

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

Chaque fois que vous ouvrez le terminal, vous en apprendrez davantage sur une commande aléatoire.


Si vous voulez vous amuser, vous pouvez utiliser cowsay"utilitaire". Pour l'installer, lancez ceci dans le terminal:

sudo apt-get install cowsay

Ajoutez ensuite la ligne suivante à la fin de votre ~/.bashrcfichier:

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

Ou vous pouvez ajouter la ligne ci-dessus comme alias dans ~/.bash_aliases. J'ai ajouté:

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

Chaque fois que vous vous ennuyez, vous pouvez taper dans le terminal: ?(suivi de Enter). C'est comme jouer aux dés tout seul.

entrez la description de l'image ici

Radu Rădeanu
la source
2
C'est extrêmement cool, mais sur ma distribution (Ubuntu 13.04), avec le shell par défaut, je reçois Did you know that: mkdir: nothing appropriate.chaque fois que je lance un shell (pour être clair, je ne vois pas toujours, mkdirmais je vois toujours nothing appropriate). whatisfonctionne si je mets votre ligne de code en haut ~/.bashrcmais pas à la fin. Je ne sais pas ce qui gâche tout, mais je suppose que d’autres vont rencontrer le même problème.
snim2
3
@ user606723 J'ai choisi uniquement /binparce qu'il existe les commandes les plus utilisées. Mais vous pouvez echo "Did you know that:"; whatis $(ls /usr/share/man/man1 | shuf -n 1 | cut -d. -f1)choisir une page au hasard parmi toutes les pages de manuel.
Radu Rădeanu
1
@ RaduRădeanu ne pas analyser la sortie de ls!
heinrich5991
3
@ heinrich5991 bien sûr, vous avez raison en général, mais si quelque chose dans votre /bina des espaces ou des nouvelles lignes dans son nom, alors vous avez plus de problèmes que de mauvaises habitudes de script ...
evilsoup
1
@ snim2 Je soupçonne que le problème est d'être un alias car lscela ajoute -Fou un autre indicateur qui affecte la sortie. Changer ls /binen /bin/ls /bin.
Gilles
37

Je jouais avec whatis. Ce n'est pas exactement un jeu, mais c'est un moyen relativement facile d'apprendre.

Par exemple, tapez whatis sudo apt-get update et il retourne:

entrez la description de l'image ici

Avant d'exécuter une commande, je la frappe en whatispremier. J'apprends ce que je vais faire, puis je ferai le commandement avec confiance.

Si whatisne fournit pas beaucoup d’informations ou si ce n’est pas clair pour moi, j’irai lire le man.

Par exemple, man sudo.

Google vous donne tellement d'informations ici, sources à l'intérieur de Ask Ubuntu et à l'extérieur. Ici, LMGTFY: le meilleur moyen d’apprendre les commandes de terminal sous Ubuntu

Achu
la source
1
Je vous recommande whatis somethingvivement de lire man somethingAVANT d'utiliser la commande "quelque chose" ^^. Surtout pour certaines (la plupart!) Des commandes, ddpar exemple ... Man expliquera également le paramètre "update" dans l'exemple que vous fournissez vous-même ... Dans votre exemple, whatis indique ce qui est "apt-get" et tente ensuite de trouver la définition de la commande "update", qui n'existe pas (mais pourrait avoir et être quelque chose de complètement inutile)
Olivier Dulac
27

Oui, Terminus est une fois un tel jeu qui aidera. Il existe une version en direct ici , et le code est sur github . C'est une bonne idée, bien que je souhaite plutôt que le code soit plus facilement extensible.

snim2
la source
21

Je ne connais aucun jeu, mais il existe des utilitaires utiles en ligne de commande qui vous aident.

Que fait une commande?

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

Comment puis-je?

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

Alternativement:

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

Comment puis-je utiliser?

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

Certains utilitaires prennent également en charge une option d'aide, telle que:

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

Ceux - ci peuvent être sous forme de command -h, command --help, command -?.

Pour information:

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

Si vous avez quelque chose de spécifique à accomplir, Google est votre ami. Sinon, il existe de nombreux livres, tels que le livre Bash de O'Rielly .

azz
la source
1
Ajouter aproposet infoà la liste. ;)
Johannes
3
Je voudrais éviter d'utiliser <et >du tout, car les personnes qui ont besoin d'instructions à utiliser manpeuvent ne pas savoir le danger de la redirection. Par exemple: command <something> somethingelsecréera un somethingelsefichier vide (ou tronquera un fichier existant!) Dans le répertoire en cours. C'est une mauvaise habitude. Juste utiliser man commandest assez explicite. Ou man __some__command__quelque chose en sécurité.
Olivier Dulac
hmm, en fait, c'est sûr si le <somethingfichier n'existe pas, sinon le shell se plaindra de son absence (apparemment le fait AVANT de créer le fichier de sortie) ... Mais toujours, mauvaise habitude
Olivier Dulac
1
Bon point. Juste l'habitude d'écrire de la documentation dans ce format. (edit) Les a supprimés.
azz
14

Jetez un oeil à la ligne de commande fu

Vous pouvez parcourir des extraits de ligne de commande intéressants et, si vous souhaitez mieux comprendre, vous pouvez lire les manuels des commandes qu'ils utilisent.

Iftah
la source
climagic est un service similaire mais limite la durée de la commande pour s’intégrer dans les tweets. Suivez-les sur @climagic .
Tomer Cohen
cli.learncodethehardway.org/book est génial.
Amanda
13

Ubuntu a été conçu pour être très convivial. Apprendre à utiliser le terminal n'est pas une condition préalable pour apprendre à utiliser Ubuntu. C’est toutefois le cas si vous souhaitez devenir un utilisateur expérimenté ou résoudre vous-même des problèmes.

Pour répondre à votre question, je ne connais aucun jeu conçu pour aider ou enseigner les commandes du shell, mais je recommanderais vivement les ressources suivantes, relatives à bash et à l'administration système:

Veuillez noter que ce tutoriel utilise Red Hat (une autre distribution Linux) et référence à certains répertoires qui ne s'appliquent qu'aux étudiants de l'Université de Surrey.

Hébergé sur le projet de documentation Linux ( http://www.tldp.org/ ), auteur Mike G

Un wikibook de Wikipedia

Manuel de référence GNU Bash

Guide avancé de script de bash ( http://linux.die.net/ ), auteur Mendel Cooper

Hugo Vieira
la source
8

Vous avez des tonnes de jeux sur http://overthewire.org . Le plus simple est Bandit, "destiné aux débutants absolus".

11684
la source
Excellent lien. On dirait qu'il y a beaucoup de wargames dedans. Banditsemble être le jeu pour les débutants absolus comme moi.
Dimanche
5

Il existe un jeu pour apprendre les commandes VIM sur http://vim-adventures.com/ que je recommande. Je demande à mes apprentis d'y jouer le premier jour :-)

Bon à tout faire
la source
2

L'outil Memrise dispose d'une section de ligne de commande unix et linux. C'est un excellent outil pour apprendre n'importe quoi avec une carte perforée.

deworde
la source
Ce n'est pas exactement ce que j'avais en tête, mais cela ressemble à une excellente ressource d'étude. Merci!
capitalisme prévaut
Il y a aussi le cours ShellFu . Bien que Memrise ne soit pas un jeu en tant que tel, je le trouve toujours très attrayant et joue en même temps sur votre nature compétitive.
ThomasH
Je viens de recevoir une page des annonces de memrise.com :(
Paddy Landau
1

Il y a le jeu Uplink . Cela a été très amusant et il y a de bonnes similitudes avec un shell linux. Mais il a aussi ses propres commandes.

Samoth
la source
1
Bien que Uplink est limité est un grand jeu, il est la ligne de commande cd, dir, deleteet reboot. Assez insuffisant. Je me souviens qu'il y a un autre jeu de hacker dans lequel vous devez écrire des scripts shell, mais j'ai oublié le nom. Probablement quelque chose de créatif comme "hackers"
Tobias Kienzler
1

Le meilleur outil que j'ai trouvé pour la mémorisation et l'apprentissage à long terme est Anki

http://www.ankisrs.net/

J'utilise des cartes de création dans Anki qui nécessitent que je tape la réponse plutôt que simplement une carte flash. Il construit la mémoire musculaire. De plus, je réalise 15 minutes d’entraînement chaque matin et Anki triera mes cartes en fonction de celles que je dois examiner.

BDubbs
la source
Cela semble être un bon outil , mais fournit-il également les données de formation pour les commandes de terminal?
gertvdijk
0

Dans les premiers jours d'UNIX (v6 et v7) (oui avant Linux), il y avait une série de tutoriels très simplistes sous la commande appelée learn. Je dois avouer que j’ai commencé ma formation là-bas. Il y avait des tutoriels sur la ligne de commande, vi et un peu de programmation en C. Il a disparu depuis longtemps. Et bien sûr, c'était avant la prolifération de livres sur ce sujet, la grande quantité de connectivité Internet facile, tout ce que vous aviez était essentiellement les manpages.

Alors maintenant, c'est assez facile, allez sur Google, soit trouvez de la documentation. Ou utilisez amazon pour trouver un livre approprié. Amazon a même des notes et des critiques sur leurs livres.

mdpc
la source
0

La plupart des notions de base que j’ai apprises lorsque Linux reposait encore essentiellement sur la ligne de commande et que SUSE était l’un des rares systèmes d’installation sous Linux utilisant l’interface graphique. J'ai joué avec Gentoo ces temps-ci ... installez simplement votre système avec des outils tels que des capteurs de p / min, etc., vous serez bientôt de retour dans le terminal pour une configuration

Je ne sais pas s'il existe encore une distribution installée en ligne de commande, car j'ai arrêté de travailler avec Linux il y a un mois seulement, lorsque j'ai découvert qu'ils avaient finalement fait le pas en vue d'obtenir une interface graphique intéressante pour les utilisateurs, très bien. merci à tous les programmeurs qui ont rendu beaucoup de mes vieux ordinateurs utiles !!!

Stupid MS est tout simplement trop stupide pour conserver plus longtemps son meilleur produit ... Windows XP ... une entreprise qui le fait, n'envisage sûrement pas de mettre en place un système d'exploitation entièrement stable et sûr ... et dans le cas de Win 7, obtenu très stable et sécurisé, mais il faut beaucoup de ressources pour le faire.

J'adore la façon dont Linux permet de contrôler du matériel sans grands compilateurs, interprètes ou autres, comme Windows.

Mais si vous voulez en savoir plus sur Linux, Gentoo est un excellent moyen de construire votre propre système, étape par étape, et également de comprendre le fonctionnement de Linux. Gentoo est également capable de fonctionner sur presque tout, même les plus petites ressources matérielles. Vous pouvez donc utiliser un autre PC plus ancien pour ces Linux, installer-tester, passer du bon temps!

Starfox rouge
la source
0

Pas exactement un jeu, mais il y a ce site, où vous pouvez apprendre plusieurs commandes différentes.

Thiago Perrotta
la source
0

Pas un jeu mais jetez un oeil à http://www.stanford.edu/class/cs124/kwc-unix-for-poets.pdf

Il couvre sed, awk et grep à côté des autres et vous montre comment compter, trier, calculer, etc. Il comporte des exercices et tout. J'y ai fait référence encore et encore.

Himanshu
la source
0

Pas un jeu, mais c'est pratique quand vous voulez apprendre quelques commandes et qu'aucun linux n'est disponible: rextester

ren
la source
0

La matrice pour le cube de jeu est celle où j’ai beaucoup appris (par rapport à mes connaissances antérieures de 13 ans) sur le terminal UNIX. Il y avait un mini-jeu dans lequel vous «piratiez» votre chemin dans la matrice pour déposer les armes à feu plus tard, lorsque vous jouez à ce niveau. En fait, sauf l’une de mes caractéristiques préférées de tous les jeux.

Colton
la source
0

inx (n'est pas X) peut être utilisé comme cd live et enseigne les choses terminales de manière amusante et interactive

catch22
la source
0

Je suppose que bandit est l’un des meilleurs pour apprendre et comprendre davantage les commandes Linux et en savoir plus sur Linux pour les débutants. Vous pouvez obtenir le lien à partir d' ici

Vishnu NK
la source