Suggerimenti per familiarizzare con la riga di comando [chiuso]


29

Quando ho migrato per la prima volta da Windows a Ubuntu, la cosa di gran lunga più scoraggiante che dovevo fare era usare la riga di comando.

Digitare i comandi è un'esperienza aliena quando sei sempre stato abituato a puntare e fare clic.

Quando parlo con i nuovi utenti di Ubuntu, spesso sono a disagio con l'idea di parlare direttamente con il proprio computer.

Esiste una guida semplice e intuitiva per aiutare i nuovi utenti a familiarizzare con la riga di comando?

Hai qualche consiglio per rendere l'esperienza più facile o più divertente?


4
Per quello che vale, Ubuntu si impegna (almeno, più duramente di qualsiasi altra distribuzione Linux) a non farti usare la riga di comando se non vuoi. Ma ci saranno sempre cose che sono molto più facili / veloci da fare sulla riga di comando rispetto a una GUI. Quindi è una buona idea conoscerlo (e una buona domanda).
David Z,

Risposte:


17

Se stai cercando una buona guida per imparare la riga di comando, il mio preferito è LinuxCommand.org

La guida ti mostrerà le basi della riga di comando e ti guiderà anche nella scrittura di utili script di shell.

Detto questo, la maggior parte degli utenti non dovrà utilizzare la riga di comando per la maggior parte delle operazioni quotidiane. Non credo che la riga di comando dovrebbe scoraggiare gli utenti dalla migrazione a Ubuntu. Ma una volta appreso il potere della riga di comando, non sarai in grado di vivere senza di essa!


15

Ecco alcuni comandi comuni per manipolare il filesystem:

  • cp [src] [dest] - copia src in dest
  • mv [src] [dest] - sposta src in dest (usato anche per rinominare)
  • cd [dir] - cambia la directory corrente in dir
  • pwd - stampa la directory corrente
  • cat [file] - stampa il contenuto del file sullo schermo
  • rm [file]- rimuove un file 1
  • rmdir [dir] - rimuove una directory vuota

Il prefisso di uno qualsiasi dei comandi con sudocausa l'esecuzione del comando come utente root.

1 - non digitare sudo rm -rf /poiché cancellerà il filesystem


5
Heh, +1 per l'avvertimento sudo rm :)
Nicholas Knight,

2
Non dimenticare una nota sul famigerato forkbomb ": () {: |: &} ;:" che essenzialmente genera un numero infinito di nuovi processi e rallenta gradualmente il sistema fino a quando non si esauriscono le risorse che richiedono un riavvio del sistema. Per maggiori informazioni vedi en.wikipedia.org/wiki/Fork_bomb .
Evan Plaice,

12

1) Completamento scheda:

Un gigantesco risparmio di tempo. Se stai digitando un comando, devi solo digitare abbastanza del comando per fornire un segmento iniziale che può essere esteso in un solo modo e quindi puoi premere TAB una volta per espandere il segmento iniziale all'intero comando. Quindi, ad esempio, sul mio sistema si umo TABespande a umount. (Nel mio sistema in quanto i segmenti iniziali sono estendibili solo in un modo è una funzione di ciò che hai installato, ecc.) Se non digiti abbastanza per rendere il completamento inequivocabile, TAB non si espanderà, ma un secondo TAB visualizzerà un elenco di possibili completamenti. Quindi, sul mio sistema, um TAB TABproduce:

umask       umax_pp     umount      umount.hal

Il completamento delle schede funziona anche sui percorsi: cd /home/me/docs/reallylo TABse unico, si espanderà cd /home/me/docs/reallylongdirnamee, se non univoco, offrirà un elenco di continuazioni candidate come umsopra.

2) man some-commandoppure some-command --helpoppure some-command -h:

Se non riesci a ricordare come funziona un comando, puoi ottenere la documentazione proprio lì nella shell. mandi solito fornisce il maggior numero di dettagli. Di solito uno o entrambi gli argomenti --helpe -hdi un comando forniscono un breve riepilogo.

3) head:

man some-commandprende il controllo del terminale e ti impedisce di inserire comandi mentre viene visualizzato il testo man. man some-command | headvisualizzerà le prime 10 righe. man some-command | head -nvisualizzerà le prime n righe. In entrambi i casi, ricevi di nuovo il tuo prompt, in modo da poter avere il testo man sullo schermo mentre inserisci il tuo comando.


Quando uso man some-command, man mi permette di scorrere su e giù nella pagina. Non è normale?
Michael Crenshaw,

@ mac9416: In effetti. Non avevo mai provato prima: - [Modificata la risposta per tenerne conto. Grazie!
vanden,

Sì, manutilizza un cercapersone (di solito less). Se si desidera esaminare un file in modo simile, digitare less somefile. Se ti abitui vim, puoi usare i jktasti per scorrere.
Umang,

In tutta onestà, il completamento della scheda non è disponibile in tutte le shell.
Nathan Osman,

@ George Edison: abbastanza vero. Ma, se si tratta di un nuovo utente in questione (come è nella domanda), non sarà molto probabile che abbiano cambiato la shell dal valore predefinito e quindi avranno il completamento della scheda.
vanden,

7

Passa a zsh!

Sebbene sia molto simile a bash, ha molte altre funzioni aggiuntive pronte all'uso (come ad esempio la correzione dell'errore di battitura, anche in un componente del percorso precedente o un widget utile per chiamare aiuto per il comando corrente (tramite run-help; Premo ESC-h dopo aver digitato mplayer, ad esempio , e si apre la pagina man. Dopo averla chiusa sono tornato alla vecchia riga)).

Consiglio il seguente libro, che copre zsh, bash e alcune altre shell:
Da Bash a Z Shell: Conquistare la riga di comando . Anche se ha già qualche anno, sono contento che questo non mi abbia allontanato dall'acquisto. Questa raccomandazione vale anche se non si desidera passare a zsh.

Uso la riga di comando da alcuni anni (localmente e tramite SSH), solo di recente ho effettuato il passaggio a zsh (principalmente a causa del mio prompt bash personalizzato, che non è compatibile). Ecco la mia configurazione di zsh (integrata nel mio repository dotfiles ).

Puoi usare chsh -s /bin/zshper cambiare la tua shell (tramite / etc / passwd), o semplicemente chiamarla dalla tua shell corrente, cioè digita il zshtuo prompt di bash (probabilmente dovrai prima installarlo ( sudo apt-get install zsh).


5

"apropos" (o è equivalente: "man -k") per trovare un comando per fare qualcosa.

$ apropos [my query]

Ad esempio, per trovare il comando per copiare i file:

$ apropos copy

elencherà un gruppo di comandi, di cui

cp (1) - copy files and directories

è uno.

"cp" è il comando e "1" è la sezione dei manuali in cui appare. La sezione 1 è comandi generali dell'utente (altre sezioni includono cose come le chiamate in biblioteca, che non ti interesseranno). Per limitare la ricerca solo alla sezione 1, utilizzare:

$ apropos -s1 [my query]

Per scoprire di più sul comando usa "man". per esempio

$ man cp

+1 per essere il primo a menzionare man. Bravo!
jatanismo

4

Prova a usare il pesce

fish è una shell a riga di comando intuitiva per sistemi operativi simili a UNIX come Linux.

Tra le altre cose, presenta un completamento della scheda più avanzato rispetto a bash, che può essere molto utile durante l'apprendimento.

testo alternativo

https://www.pablumfication.co.uk/2010/02/26/fish/

http://fishshell.org/index.php


1
Adoro la funzione di ricerca della cronologia. Digita qualsiasi cosa, premi il tasto freccia su e stai cercando nella tua cronologia quelle stesse parole. Ottimo risparmio di tempo.
Javier Rivera,

il link a fishshell.org è obsoleto. fishshell.com è il nuovo.
NES,

2

history | grep SOMETHING - trova il comando che hai usato prima che contiene QUALCOSA.

fortune - :-)


2
Per questo, io uso Ctrl+R SOMETHING(con la differenza che questo dà l' ultima occorrenza). Ripetere l'operazione Ctrl+Rper trovare più occorrenze SOMETHINGnella cronologia dei comandi.
Bert Van Vreckem il

2

Per imparare come usare un comando aggiungi uno spazio e poi "--help" alla fine di esso - questo ti spiega come usarlo e ti dà un elenco di opzioni.

per esempio

cp --help

Attenzione, questo non funziona con tutti i comandi!
SilverWolf - Ripristina Monica il


2

Consiglio di utilizzare CLI Companion :

CLI Companion è uno strumento per archiviare ed eseguire comandi Terminal da una GUI. Le persone che non hanno familiarità con il Terminale troveranno CLI Companion un modo utile per conoscere il Terminale e sbloccarne il potenziale. Gli utenti esperti possono utilizzare CLI Companion per memorizzare il loro ampio elenco di comandi in un elenco ricercabile.

inserisci qui la descrizione dell'immagine

Lo ottieni eseguendo:

sudo add-apt-repository ppa:clicompanion-devs/clicompanion-nightlies
sudo apt-get update
sudo apt-get install clicompanion

Se non si desidera aggiungere il PPA, provare questo file per 12.04 (ultima versione 1.1-6, rilasciata il 14/04/2012 - consultare questa pagina per le versioni più recenti) - oppure rimuovere il PPA dopo l'installazione con sudo add-apt-repository -r ppa:clicompanion-devs/clicompanion-nightlies.


1

Trova un libro Ubuntu con un buon indice della riga di comando, zerox e posizionalo vicino al computer. Sforzati di usarlo. Una buona risorsa è il libro "Ubuntu Linux Toolbox 1000+ comandi", che copre tutto ciò che devi sapere (http://www.amazon.com/Ubuntu-Linux-Toolbox-Commands-Debian/dp/0470082933)

Tuttavia, se non si esegue un server, nel desktop di Ubuntu quasi tutto è disponibile con la GUI.


0

Ho imparato un sacco sull'uso della riga di comando e sul fatto di sentirmi a mio agio lavorando al suo interno leggendo il Bash Cookbook di O'Reilly and Associates. È un libro sugli script di Bash, ma i pezzi di dimensioni ridotte del formato del libro di cucina lo rendono molto accessibile. Come vantaggio secondario, se pensi "Accidenti, mi piacerebbe sicuramente fare X, ma non so come", puoi usare il sommario per cercare X (e Y e Z per quella materia) e avere una buona idea su come farlo (e una spiegazione decente di come funziona con i puntatori ad altre ricette e risorse che possono espandere ulteriormente la tua comprensione).


0

Ho letto il libro ufficiale Ubuntu Server, The (2nd Edition) per imparare l'amministrazione del sistema, e non solo sono diventato più abile nell'uso della riga di comando, ma ho anche iniziato a imparare il funzionamento interno del sistema operativo stesso.

L'utilizzo di Ubuntu Server Edition mi aiuta ad apprendere più facilmente la riga di comando, perché non ho la GUI su cui eseguire il fallback.

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.