Question Y a-t-il des jeux qui peuvent entraîner les gens à apprendre les commandes du terminal? [fermé]


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


97
2017-08-26 04:30


origine


Avez-vous au moins essayé Google? - mdpc
Si vous voulez un cours intensif, "Comment obtenir une interface graphique après avoir accidentellement récupéré les fichiers de configuration si mal que seul le Shell va charger" est toujours un gagnant. Soyez averti que si vous perdez la partie, les pénalités possibles comprennent l'achat d'une caisse de son choix ou l'achat d'une nouvelle version du système d'exploitation. - Dan Neely
@fluffy: Ce n'est même pas 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. Points bonus si vous imprimez simplement le nom de votre terminal. - Ilmari Karonen
Ce n'est pas trop difficile non plus: P rm -i * et répondez simplement par oui lorsque vous rencontrez le bon fichier. - ovc
Est-ce que la "vraie vie" compte comme un jeu? - Jonathan


Réponses:


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

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

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


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

sudo apt-get install cowsay

Ensuite, ajoutez la ligne suivante à la fin de votre ~/.bashrc fichier:

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 par Entrer). C'est comme jouer aux dés par vous-même.

enter image description here


131
2017-08-26 09:58



C'est extrêmement cool, mais sur ma distribution (Ubuntu 13.04) en utilisant le shell par défaut, je reçois Did you know that: mkdir: nothing appropriate. chaque fois que je commence un shell (pour être clair, je ne vois pas toujours mkdir mais je vois toujours nothing appropriate). whatis fonctionne si je mets votre ligne de code en haut de ~/.bashrc mais pas à la fin. Je ne suis pas sûr de ce qui fait que ça fait mal, mais je suppose que d’autres auront le même problème. - snim2
@ user606723 J'ai choisi seulement /bin car il existe les commandes les plus utilisées. Mais vous pouvez utiliser echo "Did you know that:"; whatis $(ls /usr/share/man/man1 | shuf -n 1 | cut -d. -f1) choisir une page aléatoire parmi toutes les pages de manuel. - Radu Rădeanu
@ RaduRădeanu ne pas analyser la sortie de ls! - heinrich5991
@ heinrich5991 bien sûr vous avez raison en général, mais si quelque chose dans votre /bin a des espaces ou des nouvelles lignes dans son nom, alors vous avez de plus gros problèmes que de mauvaises habitudes de script ... - evilsoup
@ snim2 Je soupçonne que le problème est d'être un alias pour lscela ajoute -F ou un autre drapeau qui affecte la sortie. Changement ls /bin à /bin/ls /bin. - Gilles


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:

enter image description here

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

Si whatis ne fournit pas beaucoup d'informations ou si je ne comprends pas, je vais aller lire le man.

Par exemple, man sudo.

Google vous donne tellement d'informations ici, des sources à l'intérieur Demandez à Ubuntu et dehors. Ici, LMGTFY: meilleure façon d'apprendre les commandes de terminal sur Ubuntu


37
2017-08-26 05:20



Je recommande fortement de suivre whatis something avec une bonne lecture de man something AVANT d'utiliser la commande "quelque chose" ^^. Surtout pour certaines commandes (la plupart!), C.-à-d. dd par exemple ... Man, par exemple, expliquera également le paramètre "update" dans l'exemple que vous fournissez vous-même ... Dans votre exemple, whatis montre ce qui est "apt-get" et essaie ensuite de trouver la définition de "update" commande, qui n'existe pas (mais pourrait avoir et être quelque chose de complètement hors de propos) - Olivier Dulac


Oui, Terminus est une fois un tel jeu qui aidera. Il y a une version live ici, et le code est sur github. C'est une bonne idée, même si je préfère plutôt que le code soit plus facilement extensible.


27
2017-08-26 15:50





Je ne connais aucun jeu, cependant, il existe des utilitaires de ligne de commande utiles.

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.

Ou, certains utilitaires prennent 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 la 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 y a beaucoup de livres, tels que le Bash book d'O'Rielly.


21
2017-08-26 09:26



Ajouter apropos et info à la liste. ;) - Johannes
j'éviterais d'utiliser < et > du tout, en tant que personnes ayant besoin de conseils pour utiliser man peut ne pas connaître le danger de la redirection. Par exemple : command <something> somethingelse va créer un somethingelse fichier vide (ou tronquer un fichier existant!) dans le répertoire en cours. C'est une mauvaise habitude. Juste en utilisant man command est assez explicite. Ou man __some__command__ ou quelque chose de sûr. - Olivier Dulac
hmm, en fait c'est sûr si le <something n'est pas un fichier existant, sinon le shell se plaindra qu'il n'existe pas (apparemment le fait AVANT de créer le fichier de sortie) ... Mais quand même, mauvaise habitude - Olivier Dulac
Bon point. Juste habitué à écrire de la documentation dans ce format. (edit) Les a supprimés. - azz


Jeter un coup d'œil à ligne de commande fu

Vous pouvez parcourir certains extraits de ligne de commande et, si vous voulez une compréhension plus approfondie, vous pouvez lire les manuels des commandes qu’ils utilisent.


14
2017-08-26 10:57



climatique est un service similaire mais restreint la longueur de la commande pour s'adapter aux tweets. Suivez-les sur @climagic. - Tomer Cohen
cli.learncodethehardway.org/book c'est génial - Amanda


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. Toutefois, 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 pas de jeux conçus pour aider ou enseigner les commandes shell, mais je vous recommande fortement les ressources suivantes:

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

Hébergé au 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 Bash-Scripting (http://linux.die.net/), auteur Mendel Cooper


13
2017-08-26 12:07





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


7
2017-08-27 12:25



Excellent lien. On dirait qu'il y a beaucoup de wargames là-dedans. Bandit semble être le jeu pour les débutants absolus comme moi. - Sundeep


Il y a un jeu pour apprendre le Commandes VIM à http://vim-adventures.com/ que je recommande Je fais jouer mes apprentis le premier jour :-)


5
2017-08-26 21:28





L'outil Memrise a une section de ligne de commande unix et linux. C'est un excellent outil pour apprendre n'importe quoi de manière perforée.


2
2017-08-27 12:50



Ce n'est pas exactement ce que j'avais en tête mais cela ressemble à une excellente ressource d'étude que j'utiliserai. THX! - Capitalism Prevails
Il y a aussi le Cours ShellFu. Bien que Memrise ne soit pas un jeu en soi, je le trouve toujours très engageant et il joue sur votre nature compétitive. - ThomasH
Je viens de recevoir une page d'annonces de memrise.com :( - Paddy Landau


Le projet de documentation Linux est d'avoir les meilleures sources de mise à jour pour apprendre 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

La communauté Ubuntu a rassemblé tous les bons liens qui sont très utiles pour apprendre BASH

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


1
2017-08-26 15:29