Esistono giochi che possono addestrare le persone ad apprendere i comandi del terminale? [chiuso]


98

Mi sembra che imparare a usare il terminale sia un prerequisito per imparare a usare Ubuntu. Quindi sto cercando di capire il modo migliore per imparare. Esiste una scheda flash online Quizlet installata lì? Un modo migliore?


4
Hai provato almeno Google?
mdpc,

27
Se vuoi un corso intensivo, "Come recuperare una GUI dopo che ho accidentalmente superato i file di configurazione così male che solo la shell si caricherà" è sempre un vincitore. Tieni presente che se perdi il gioco le possibili penalità includono l'acquisto di un amico dai capelli grigi un caso a sua scelta o la reinstallazione del sistema operativo.
Dan Neely,

6
@fluffy: Che non è nemmeno difficile: rm -- '-rf ~/*'. Per una vera sfida, prova a eliminare un file il cui nome è costituito interamente da caratteri di controllo non stampabili. Punti bonus se solo la stampa del nome incasina il tuo terminale.
Ilmari Karonen,

3
Neanche questo è troppo difficile: P rm -i * e rispondi sì quando trovi il file giusto.
ooa,

5
La "vita reale" conta come un gioco?
Jonathan,

Risposte:


132

È possibile aggiungere la seguente riga (comando) alla fine del ~/.bashrcfile:

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

Ogni volta che apri il terminale imparerai qualcosa su un comando casuale.


Se vuoi divertirti, puoi usare cowsay"utility". Per installarlo, eseguilo nel terminale:

sudo apt-get install cowsay

Quindi aggiungere la seguente riga alla fine del ~/.bashrcfile:

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

Oppure puoi aggiungere la riga sopra come alias in ~/.bash_aliases. Ho aggiunto:

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

Ogni volta che ti annoi, puoi digitare il terminale: ?(seguito da Enter). È come giocare a dadi da soli.

inserisci qui la descrizione dell'immagine


2
È estremamente bello, ma sulla mia distribuzione (Ubuntu 13.04) usando la shell di default ottengo Did you know that: mkdir: nothing appropriate.ogni volta che avvio una shell (per essere pedanticamente chiaro, non sempre vedo mkdirma vedo sempre nothing appropriate). whatisfunziona se metto la tua riga di codice in cima ~/.bashrcma non alla fine. Non sono sicuro di cosa sia un casino, ma immagino che altri incontreranno lo stesso problema.
snim2,

3
@ user606723 Ho scelto solo /binperché ci sono i comandi più utilizzati. Ma puoi usare echo "Did you know that:"; whatis $(ls /usr/share/man/man1 | shuf -n 1 | cut -d. -f1)per scegliere una pagina casuale da tutte le pagine man.
Radu Rădeanu,

1
@ RaduRădeanu non analizza l'output di ls!
heinrich5991,

3
@ heinrich5991 ovviamente hai ragione in generale, ma se qualcosa nel tuo /binha spazi o nuove righe nel suo nome, allora hai problemi più grandi delle cattive abitudini di scripting ...
evilsoup

1
@ snim2 Sospetto che il problema sia un alias per l' lsaggiunta -Fo qualche altro flag che influisce sull'output. Cambia ls /binin /bin/ls /bin.
Gilles,

37

Con cui giocavo whatis. Non è esattamente un gioco, ma è un modo relativamente semplice per imparare.

Ad esempio, digitare whatis sudo apt-get update e restituisce:

inserisci qui la descrizione dell'immagine

Prima di eseguire qualsiasi comando, lo premo per whatisprimo. Imparo cosa farò, quindi eseguirò il comando con sicurezza.

Se whatisnon fornisce molte informazioni o se non mi è chiaro, andrò a leggere il man.

Ad esempio man sudo,.

Google ti dà così tante informazioni qui, fonti dentro Chiedi Ubuntu e fuori. Qui, LMGTFY: il modo migliore per imparare i comandi del terminale su Ubuntu


1
Consiglio vivamente di seguire whatis somethingcon una lettura minuziosa di man somethingPRIMA di usare il comando "qualcosa" ^^. Soprattutto per alcuni (la maggior parte!) Comandi, ddad esempio ... Man, ad esempio, spiegherebbe anche il parametro "update" nell'esempio che ti fornisci ... Nel tuo esempio, whatis mostra cosa è "apt-get" e poi cerca di trovare la definizione del comando "update", che non esiste (ma potrebbe avere ed essere qualcosa di completamente irrilevante)
Olivier Dulac,

27

Sì, Terminus è una volta un gioco del genere che ti aiuterà. Esiste una versione live qui e il codice è su github . È un'idea chiara, anche se preferirei che il codice fosse più facilmente estensibile.


21

Non conosco alcun gioco, tuttavia ci sono alcune utili utilità da riga di comando che aiutano.

Cosa fa un comando?

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

Come posso?

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

In alternativa:

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

Come si usa?

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

Oppure, alcune utility supportano un'opzione di aiuto, come:

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

Questi possono essere in forma di command -h, command --help, command -?.

Per informazioni:

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

Se hai qualcosa di specifico che devi realizzare, Google è tuo amico. Altrimenti ci sono molti libri, come il libro di Bash di O'Rielly .


1
Aggiungi apropose infoall'elenco. ;)
Johannes,

3
eviterei di usare <e >affatto, poiché le persone che hanno bisogno di istruzioni per l'uso manpotrebbero non conoscere il pericolo di reindirizzamento. Ad esempio: command <something> somethingelsecreerà un somethingelsefile vuoto (o troncerà uno esistente!) Nella directory corrente. È una cattiva abitudine. Il solo uso man commandè abbastanza autoesplicativo. O man __some__command__o qualcosa di sicuro.
Olivier Dulac il

hmm, in realtà è sicuro se il <somethingnon è un file esistente, altrimenti la shell si lamentano che non esiste (a quanto pare lo fa prima di creare il file di output) ... Ma ancora, cattiva abitudine
Olivier Dulac

1
Buon punto. Abituato a scrivere documentazione in quel formato. (modifica) Rimossi.
azz,


13

Ubuntu è stato progettato per essere molto intuitivo. Imparare a usare il terminale non è un prerequisito per imparare a usare Ubuntu. È, tuttavia, se vuoi diventare un utente esperto o risolvere i problemi da solo.

Per rispondere alla tua domanda, non conosco alcun gioco progettato per aiutare o insegnare comandi della shell, ma consiglio vivamente le seguenti risorse relative a bash e amministrazione del sistema:

Nota che questo tutorial utilizza Red Hat (un'altra distribuzione Linux) e fa riferimento ad alcune directory che si applicano solo agli studenti dell'Università del Surrey.

Ospitato presso The Linux Documentation Project ( http://www.tldp.org/ ), l'autore Mike G

Un wikibook da Wikipedia

Manuale di riferimento di GNU Bash

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


8

Hai tonnellate di giochi su http://overthewire.org . Il più semplice è Bandit, "rivolto ai principianti assoluti".


Collegamento eccellente. Sembra che ci siano molti giochi di guerra lì dentro. Banditsembra essere il gioco per principianti assoluti come me.
Sundeep


2

Lo strumento Memrise ha una sezione della riga di comando unix e linux. È un ottimo strumento per apprendere qualsiasi cosa in modo punch card.


Non è esattamente quello che avevo in mente, ma sembra una grande risorsa di studio che userò. Grazie!
capitalismo prevale il

C'è anche il corso ShellFu . Mentre Memrise non è un gioco in sé, lo trovo ancora molto avvincente e gioca sulla tua natura competitiva.
ThomasH

Ricevo solo una pagina di annunci pubblicitari da memrise.com :(
Paddy Landau,


1

C'è il gioco Uplink . È stato abbastanza divertente e tre sono le somiglianze piuttosto buone con una shell Linux. Ma ha anche i suoi comandi.


1
Mentre Uplink è un grande gioco, è da riga di comando è limitata a cd, dir, deletee reboot. Abbastanza insufficiente. Ricordo che c'è un altro gioco di hacker in cui devi scrivere script di shell, ma ho dimenticato il nome. Probabilmente qualcosa di creativo come "hacker"
Tobias Kienzler,

1

Lo strumento migliore che ho trovato per la memorizzazione e l'apprendimento a lungo termine è Anki

http://www.ankisrs.net/

Uso le carte create in Anki che mi richiedono di digitare la risposta, piuttosto che semplicemente una scheda flash. Costruisce la memoria muscolare. Inoltre eseguo 15 minuti di allenamento ogni mattina e Anki ordinerà le mie carte in base a quelle che devo rivedere.


Sembra un buon strumento , ma fornisce anche i dati di addestramento per i comandi del terminale?
gertvdijk,

0

Nei primi giorni di UNIX (v6 e v7) (sì prima di Linux), sotto il comando chiamato c'erano una serie di tutorial molto semplicistici learn. Devo ammetterlo, ho iniziato la mia formazione lì .. aveva tutorial sulla riga di comando, vi e un po 'di programmazione C. È scomparso da tempo. E, naturalmente, questo era prima della proliferazione di libri su questo argomento, l'elevata quantità di facile connettività Internet, praticamente tutto quello che avevi erano fondamentalmente le manpagine.

Quindi ora è abbastanza facile, sostanzialmente vai su Google, o trova alcuni documenti pubblicati. Oppure usa Amazon per trovare un libro appropriato. Amazon ha anche valutazioni e recensioni sui loro libri.


0

Bene, la maggior parte delle nozioni di base che ho imparato quando Linux era ancora principalmente basato sulla riga di comando e SUSE era uno dei pochi Linux con installazione basata su GUI. Ho giocato con Gentoo in questi momenti ... basta installare il tuo sistema con alcuni strumenti come i sensori pm e roba del genere, presto sarai di nuovo nel terminale per qualche configurazione

Non so se esiste ancora una distro che viene installata dalla riga di comando, dato che ho smesso di lavorare con Linux fino a un mese fa, quando ho scoperto che alla fine hanno fatto il passo per ottenere un'interfaccia grafica e interessante per gli utenti, fantastico grazie a tutti i programmatori là fuori, che hanno reso di nuovo utili molti dei miei vecchi PC !!!

La stupida MS è semplicemente troppo stupida per mantenere il loro miglior prodotto più ... Windows XP ... un'azienda che lo fa, sicuramente non sta considerando di ottenere un sistema operativo completamente stabile e sicuro ... e in caso di Win 7 potrebbero è diventato molto stabile e sicuro, ma per farlo è necessario un sacco di risorse.

Adoro davvero il modo in cui Linux controlla l'hardware senza enormi compilatori o interpreti o altre cose, come su Windows.

Ma se vuoi saperne di più su Linux, Gentoo è un ottimo modo per costruire il tuo sistema, passo dopo passo e anche imparare come funziona Linux. Gentoo è anche in grado di funzionare su quasi tutto, non importa quanto siano piccole le risorse hardware, quindi puoi prendere un altro PC più vecchio per questi tempi di Linux, test di installazione e divertimento!




0

Non è un gioco, ma è utile quando vuoi imparare qualche comando e non è disponibile Linux: rextester


0

La matrice per il cubo di gioco è dove ho imparato un po '(relativamente alla mia precedente conoscenza di 13 anni) un po' sul terminale UNIX. C'era un mini-gioco in cui avresti "hackerato" la tua strada nella matrice per far cadere le pistole per il ritiro più tardi quando stai giocando quel livello. In realtà escludere una delle mie caratteristiche preferite di qualsiasi gioco di sempre.


0

inx (non è X) può essere usato come live cd e insegna materiale terminale in modo divertente e interattivo


0

Immagino che il bandito sia uno dei migliori per imparare e capire di più sui comandi di Linux e sapere di più su Linux per i principianti. Puoi ottenere il link da qui

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.