¿Hay algún juego que pueda entrenar a la gente para aprender comandos de terminal? [cerrado]

98

Me parece que aprender a usar el terminal es un requisito previo para aprender a usar Ubuntu. Así que estoy tratando de encontrar la mejor manera de aprender. ¿Existe una tarjeta flash en línea Quizlet? ¿Una mejor manera?

El capitalismo prevalece
fuente
44
¿Al menos has probado Google?
mdpc
27
Si desea un curso intensivo, "Cómo recuperar una GUI después de que accidentalmente borré los archivos de configuración tan mal que solo se cargará el Shell" siempre es un ganador. Ten en cuenta que si pierdes el juego, las posibles sanciones incluyen comprarle a un amigo con barba gris un caso de su bebida preferida o reinstalar el sistema operativo.
Dan Neely
66
@fluffy: Eso no es incluso difícil: rm -- '-rf ~/*'. Para un verdadero desafío, intente eliminar un archivo cuyo nombre consista completamente en caracteres de control no imprimibles. Puntos de bonificación si solo imprimir el nombre arruina su terminal.
Ilmari Karonen
3
Eso tampoco es demasiado difícil: P rm -i * y solo responde sí cuando encuentres el archivo correcto.
ooa
55
¿La "vida real" cuenta como un juego?
Jonathan

Respuestas:

132

Puede agregar la siguiente línea (comando) al final de su ~/.bashrcarchivo:

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

Cada vez que abra la terminal aprenderá algo sobre un comando aleatorio.


Si quieres divertirte, puedes usar cowsay"utilidad". Para instalarlo, ejecute esto en la terminal:

sudo apt-get install cowsay

Luego agregue la siguiente línea al final de su ~/.bashrcarchivo:

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

O puede agregar la línea anterior como alias ~/.bash_aliases. Yo añadí:

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

Cada vez que te aburras, puedes escribir terminal: ?(seguido de Enter). Es como jugar a los dados solo.

ingrese la descripción de la imagen aquí

Radu Rădeanu
fuente
2
Eso es extremadamente bueno, pero en mi distribución (Ubuntu 13.04) usando el shell predeterminado que obtengo Did you know that: mkdir: nothing appropriate.cada vez que inicio un shell (para ser pedagógicamente claro, no siempre veo mkdirpero siempre veo nothing appropriate). whatisfunciona si pongo su línea de código en la parte superior ~/.bashrcpero no al final. No estoy seguro de qué es lo que lo arruina, pero supongo que otros se encontrarán con el mismo problema.
snim2
3
@ user606723 Elegí solo /binporque allí están los comandos más utilizados. Pero puede usar echo "Did you know that:"; whatis $(ls /usr/share/man/man1 | shuf -n 1 | cut -d. -f1)para elegir una página aleatoria de todas las páginas de manual.
Radu Rădeanu
1
@ RaduRădeanu no analiza la salida de ls!
heinrich5991
3
@ heinrich5991 por supuesto que son correctos en general, pero si algo en su /bincuenta con espacios o saltos de línea en su nombre entonces usted tiene problemas más grandes que los malos hábitos de script ...
evilsoup
1
@ snim2 Sospecho que el problema es ser un alias para lseso agrega -Fo algún otro indicador que afecta la salida. Cambiar ls /bina /bin/ls /bin.
Gilles
37

Solía jugar con whatis. No es exactamente un juego, pero es una forma relativamente fácil de aprender.

Por ejemplo, escriba whatis sudo apt-get update y devuelve:

ingrese la descripción de la imagen aquí

Antes de ejecutar cualquier comando, lo golpeé whatisprimero. Aprendo lo que voy a hacer, luego haré el comando con confianza.

Si whatisno proporciona mucha información o si no está claro para mí, iré a leer el man.

Por ejemplo, man sudo.

Google te da tanta información aquí, fuentes dentro de Ask Ubuntu y afuera. Aquí, LMGTFY: la mejor manera de aprender comandos de terminal en Ubuntu

Achu
fuente
1
Recomiendo seguir whatis somethingcon una lectura exhaustiva de man somethingANTES de usar el comando "algo" ^^. Especialmente para algunos (¡la mayoría!) Comandos, es decir, ddpor ejemplo ... El hombre, por ejemplo, también explicaría el parámetro "actualizar" en el ejemplo que usted proporciona ... En su ejemplo, whatis muestra lo que es "apt-get" y luego trata de encontrar la definición del comando "actualizar", que no existe (pero podría tener y ser algo completamente irrelevante)
Olivier Dulac
27

Sí, Terminus es una vez un juego que ayudará. Hay una versión en vivo aquí , y el código es en github . Es una buena idea, aunque preferiría que el código fuera más fácilmente extensible.

snim2
fuente
21

No conozco ningún juego, sin embargo, hay algunas utilidades de línea de comandos útiles que ayudan.

¿Qué hace un comando?

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

¿Cómo puedo?

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

Alternativamente:

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

¿Cómo lo uso?

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

O, algunas utilidades admiten una opción de ayuda, como:

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

Estos pueden ser en forma de command -h, command --help, command -?.

Para información:

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

Si tiene algo específico que necesita lograr, Google es su amigo. De lo contrario, hay muchos libros, como el libro Bash de O'Rielly .

azz
fuente
1
Agregar aproposy infoa la lista. ;)
Johannes
3
evitaría usar <y >en absoluto, ya que las personas que necesitan instrucciones para usar manpueden no conocer el peligro de la redirección. Por ejemplo: command <something> somethingelsecreará un somethingelsearchivo vacío (o truncará uno existente) en el directorio actual. Es un mal habito. Solo usar man commandes bastante explicativo. O man __some__command__o cualquier cosa segura.
Olivier Dulac
hmm, en realidad es seguro si <somethingno es un archivo existente, ya que de lo contrario el shell se quejará de que no existe (aparentemente lo hace ANTES de crear el archivo de salida) ... Pero aún así, mal hábito
Olivier Dulac
1
Buen punto. Solo estoy acostumbrado a escribir documentación en ese formato. (editar) Los eliminó.
azz
14

Echa un vistazo a la línea de comando fu

Puede explorar algunos fragmentos interesantes de la línea de comandos y, si desea una comprensión más profunda, puede leer los manuales de los comandos que utilizan.

Iftah
fuente
climagic es un servicio similar pero restringe la longitud del comando para que se ajuste bien a los tweets. Sígalos en @climagic .
Tomer Cohen
13

Ubuntu fue diseñado para ser muy fácil de usar. Aprender a usar el terminal no es un requisito previo para aprender a usar Ubuntu. Sin embargo, lo es si desea convertirse en un usuario avanzado o solucionar problemas usted mismo.

Para responder a su pregunta, no conozco ningún juego diseñado para ayudar o enseñar comandos de shell, pero recomiendo encarecidamente los siguientes recursos relacionados con bash y administración del sistema:

Tenga en cuenta que este tutorial utiliza Red Hat (otra distribución de Linux) y hace referencia a algunos directorios que solo se aplican a los estudiantes de la Universidad de Surrey.

Alojado en The Linux Documentation Project ( http://www.tldp.org/ ), autor Mike G

Un wikibook de Wikipedia

Manual de referencia de GNU Bash

Guía avanzada de secuencias de comandos Bash ( http://linux.die.net/ ), autor Mendel Cooper

Hugo Vieira
fuente
8

Tienes toneladas de juegos en http://overthewire.org . El más fácil es Bandit, "dirigido a principiantes absolutos".

11684
fuente
Excelente enlace Parece que hay muchos juegos de guerra allí. BanditParece ser el juego para principiantes absolutos como yo.
Sundeep
5

Hay un juego para aprender los comandos VIM en http://vim-adventures.com/ que recomiendo. Tengo mis aprendices para jugarlo en su primer día :-)

Burro de carga
fuente
2

La herramienta Memrise tiene una sección de línea de comandos de Unix y Linux. Es una gran herramienta para aprender cualquier cosa de una manera de tarjeta perforada.

deworde
fuente
Eso no es exactamente lo que tenía en mente, pero parece un gran recurso de estudio que usaré. ¡Gracias!
capitalismo prevalece el
También está el curso ShellFu . Si bien Memrise no es un juego en sí, todavía lo encuentro muy atractivo y juega con tu naturaleza competitiva.
ThomasH
Acabo de recibir una página de anuncios de memrise.com :(
Paddy Landau
1

Existe el juego Uplink . Ha sido bastante divertido y hay tres similitudes bastante buenas con un shell de Linux. Pero también tiene sus propios comandos.

Samoth
fuente
1
Mientras enlace ascendente es un gran juego, que es la línea de comandos se limita a cd, dir, deletey reboot. Bastante insuficiente. Recuerdo que hay otro juego de hackers en el que tienes que escribir scripts de shell, pero olvidé el nombre. Probablemente algo creativo como "hackers"
Tobias Kienzler
1

La mejor herramienta que he encontrado para memorizar y aprender a largo plazo es Anki

http://www.ankisrs.net/

Utilizo crear tarjetas en Anki que requieren que escriba la respuesta, en lugar de simplemente una tarjeta flash. Construye la memoria muscular. Además, realizo 15 minutos de entrenamiento todas las mañanas y Anki clasificará mis tarjetas según las que necesito revisar.

BDubbs
fuente
Suena como una buena herramienta , pero ¿también proporciona los datos de entrenamiento para los comandos del terminal?
gertvdijk
0

En los primeros días de UNIX (v6 y v7) (sí, antes de Linux), había una serie de tutoriales muy simplistas bajo el comando llamado learn. Debo admitir que comencé mi entrenamiento allí ... tenía tutoriales en línea de comandos, vi y un poco de programación en C. Hace mucho que desapareció. Y, por supuesto, esto fue antes de la proliferación de libros sobre este tema, la gran cantidad de conectividad a Internet fácil, básicamente todo lo que tenía era básicamente las manpáginas.

Así que ahora es bastante fácil, básicamente ve a Google, o encuentra alguna documentación publicada. O use amazon para encontrar un libro apropiado. Amazon incluso tiene calificaciones y reseñas en sus libros.

mdpc
fuente
0

Bueno, la mayoría de los conceptos básicos que aprendí cuando Linux todavía estaba basado principalmente en la línea de comandos y SUSE era uno de los pocos Linux con instalación basada en GUI. Jugué con Gentoo estas veces ... solo instale su sistema con algunas herramientas como pm-sensores y demás, pronto estará de vuelta en el terminal para realizar alguna configuración

No sé si todavía hay una distribución instalada a través de la línea de comandos, ya que dejé de trabajar con Linux hasta hace un mes, cuando descubrí que finalmente dieron el paso para obtener una GUI e interesante para los usuarios, genial ¡Gracias a todos los programadores, eso hizo que muchas de mis viejas PC fueran útiles nuevamente!

Stupid MS simplemente ES demasiado estúpido para mantener su mejor producto por más tiempo ... Windows XP ... una compañía que hace eso, seguramente no está considerando obtener un sistema operativo completamente estable y seguro ... y en el caso de Win 7 pueden lo hizo muy estable y seguro, pero requiere muchos recursos para hacerlo.

Realmente me encanta la forma en que Linux controla el hardware sin grandes compiladores o intérpretes u otras cosas en el camino, como en Windows.

Pero si quiere aprender más sobre Linux, Gentoo es una excelente manera de construir su propio sistema, paso a paso y también aprender cómo funciona Linux. Gentoo también puede ejecutarse en casi todo, sin importar cuán pequeños sean los recursos de hardware, por lo que puede tomar una PC más antigua para estos momentos divertidos, de prueba de instalación y Linux.

Starfox rojo
fuente
0

No es exactamente un juego, pero existe este sitio, donde puedes aprender varios comandos diferentes.

Thiago Perrotta
fuente
0

No es un juego, pero es útil cuando quieres aprender algún comando y no hay linux disponible: rextester

ren
fuente
0

La matriz para el cubo del juego es donde aprendí bastante (en relación con mi conocimiento previo de 13 años) un poco sobre el terminal UNIX. Hubo un mini-juego en el que "entrarías" en la matriz para dejar las armas para que las recojas más tarde cuando estés jugando ese nivel. En realidad, excluye una de mis características favoritas de cualquier juego.

Colton
fuente
0

inx (no es X) se puede usar como cd en vivo y enseña cosas terminales de una manera divertida e interactiva

22 capturas
fuente
0

Supongo que Bandit es uno de los mejores para aprender y comprender más acerca de los comandos de Linux y saber más sobre Linux para principiantes. Puedes obtener el enlace desde aquí

Vishnu NK
fuente