domenica 15 febbraio 2009

Il terminale

Inauguro il blog vero e proprio con un post dedicato all'uso del famigerato terminale, strumento temuto da molti neofiti, ma di grandissima utilità.

I principali comandi usati sul terminale li potete trovare nella wiki italiana: Comandi di Base. Comunque riporto qui una breve riepilogo di alcuni di essi, proprio quelli essenziali.

Primo: come si apre il terminale? Per aprire il terminale dovete andare nel menu Applicazioni, poi Accessori e quindi selezionate Terminale (ma va?). Ora vi mostro come appare il mio:












Se volete impostare anche voi la grafica a fosfori verdi basta, nel terminale, aprire dalla barra degli strumenti Modifica, quindi Profili.... Selezionate il profilo in uso (il mio è Predefinito) e sulla destra cliccate su Modifica. Nella scheda Colori deselezionate Usate i colori del tema di sistema e in Schemi incorporati scegliete Verde su nero. Potete quindi chiudere le due finestre aperte e continuare a lavorare con il terminale.

Alcuni consigli e avvertimenti prima di cominciare. I comandi del terminale sono case sensitive (sensibili alle maiuscole), c'è quindi grande differenza fra Nome e nome. Un'altra cosa da sapere è come si indica lo spazio, per esempio nei nomi di file e cartelle. Se dobbiamo scrivere il nome del file chiamato Nome file come argomento di un comando, il terminale riconoscerebbe le parole Nome e file come due argomenti separati e potremmo avere dei risultati non desiderati. Per evitare ciò abbiamo due opzioni: 1) mettere il nome fra virgolette; 2) usare il carattere di escape \ (backslash). Nel concreto, per indicare il file sopra citato possiamo scrivere
"Nome file"
o
Nome\ file
ma NON
"Nome\ file"
altrimenti indicheremo erroneamente il file chiamato Nome\ file.
È comunque generalmente sconsigliato usare lo spazio all'interno di nomi di file o cartelle, preferendo piuttosto l'underscore [ _ ] o soluzioni simili. Nel terminale c'è anche la comodissima funzione di completamento automatico. Se dovete digitare un comando (ma questo vale anche per le opzioni e gli argomenti di un comando) potete scrivere le lettere iniziali e poi premere il tasto [ TAB ]. Se avete scritto un numero di lettere che permettono al terminale di distinguere univocamente il comando desiderato esso vi comparirà per esteso. Facciamo un esempio concreto: volete utilizzare il comando chmod. Scrivete nel terminale
ch
dopo di che premete [ TAB ]. Poiché le sole lettere ch non permettono al terminale di capire quale comando desiderate usare sentirete un suono di errore. All'ulteriore pressione di [ TAB ] vi comparirà l'elenco di tutti i comandi che cominciano con le lettere ch. Allora scrivete anche la lettera m, premete di nuovo [ TAB ] e comparirà scritto per esteso chmod. L'autocompletamento agisce anche sui nomi di file e cartelle presenti nel sistema, vi aiuterà a scrivere i nomi corretti dei file.

Cominciamo («Era ora!») con uno dei comandi più comuni: cd.Quando aprite il terminale esso si posiziona all'interno di una cartella predefinita, generalmente (se non diversamente impostato, ma non non vi spiegherò come si cambia, anche perché al momento non lo so di preciso) la cartella home del vostro utente. Per sapere in quale cartella vi trovate basta dare il comando
Vi uscirà qualcosa del tipo
/home/luke
Esiste anche un modo più rapido per sapere dove ci troviamo. Avrete notato che prima del cursore lampeggiante c'è scritto qualcosa del tipo
luke@luke-laptop:~$
Dove la parte prima della chiocciola indica il nome dell'utente, quella fra la chiocciola e i due punti il nome del computer e quella fra i due punti e il dollaro il percorso in cui vi trovate. Voi mi chiederete: «Quel simbolo lì sarebbe il percorso in cui mi trovo? Non stavo nella home?» e io vi risponderei: «Sì, vi trovate nella vostra home e il simbolo ~ (chiamato tilde, sulla tastiera si ottiene con [ ALT GR ] + [ ì ] oppure solo il tasto [ PAG ↓ ]) ed è l'alias della vostra home. In pratica, ogni qual volta dovrete indicare il percorso della vostra home vi basterà scrivere ~ ».
Ora, per spostarci nella cartella /home/luke/Documenti dobbiamo dare uno di questi due comandi, tra loro equivalenti (a una condizione che spiegherà fra poco):
cd /home/luke/Documenti
cd Documenti
Con il primo comando ci sposteremo nella cartella di indirizzo assoluto (o percorso assoluto) /home/luke/Documenti, mentre con la seconda entreremo nella sottocartella Documenti della posizione in cui ci troviamo. Questo secondo metodo di indicare un percorso si chiama indirizzo relativo (o percorso relativo), proprio perché ci riferiamo alla posizione in cui già ci troviamo. Capite bene, quindi, che il secondo comando è equivalente al primo solo quando siamo presenti nella cartella /home/luke/, altrimenti entreremo nella sottocartella Documenti (se esiste) della posizione in cui ci troviamo. In generale, fate molta attenzione alla posizione in cui vi trovate quando date dei comandi. Ah, se tutto è andato bene, noterete che prima del cursore lampeggiante leggerete
luke@luke-laptop:~/Documenti$
quindi sapete che vi trovate nella cartella ~/Documenti ovvero /home/luke/Documenti
Una chiara guida su come navigare nelle directory sotto GNU/Linux la potete trovare all'indirizzo http://guiodic.wordpress.com/2008/08/07/guida-per-principianti-a-gnulinux-navigare-nelle-directory/

Una volta che ci troviamo in una cartella magari vorremo anche sapere cosa c'è dentro. Per fare ciò utilizziamo il comando
che elenca i file, cartelle, collegamenti (detti anche link o lanciatori) presenti nella cartella.

Ora che ci sappiamo spostare da una cartella all'altra possiamo anche creare nuove cartelle. Il comando per creare cartelle è mkdir. Se vogliamo creare la cartella Cartella all'interno della posizione in cui ci troviamo dobbiamo usare il comando
mkdir Cartella
Se ci troviamo in ~/Documenti e vogliamo creare la cartella ~/Scrivania/Cartella dobbiamo utilizzare il percorso assoluto. È possibile anche utilizzare il percorso ../Scrivania/Cartella sapendo che i due puntini ( .. ) indicano la cartella superiore rispetto a quella in cui ci troviamo. Un altro utile alias da conoscere è quindi il punto ( . ) che indica la cartella attuale in cui siamo presenti.

Dopo aver creato una cartella ci vogliamo anche mettere dei file, magari copiandoli da qualche altra parte. Il comando che fa per noi è cp. E se non vogliamo copiare e incollare un file/cartella ma proprio spostarla da una parte all'altra? Usa mv! E per cancellare questi file o le cartelle che non mi servono più? Ci sono rm e rmdir.

Ora vediamo un comando specifico di Ubuntu (e di altre distro simili, come Debian GNU/Linux). Si tratta del comando apt-get. Non è mia intenzione illustrarvi le varie modalità di installazione di programmi o pacchetti (con una ricerca potete trovare decine e decine di guide su Internet a tal proposito, come al solito vi rimando alla wiki italiana di Ubuntu: Installare Programmi). Piuttosto voglio farvi vedere come si installano da terminale i pacchetti presenti nei vostri repository. La sintassi è
sudo apt-get install nome-pacchetto
dove a nome-pacchetto va sostituito il pacchetto che vi interessa. Noterete quella parolina sudo all'inizio del comando: per maggiori informazioni consultate la guida della wiki dedicata al comando sudo. Per chi è terribilmente spaventato dall'uso del terminale, segnalo che comunque i pacchetti si possono installare anche per via grafica utilizzando Synaptic (con GNOME).

E per finire il comando più utile di tutti:
man
il manuale dei comandi! Per i vari comandi presenti in questa pagina ho illustrato gli utilizzi base, ma scrivendo man seguito dal nome del comando che vi interessa otterrete la documentazione completa (in lingua inglese) relativa a quel comando. Quindi, per esempio, se vogliamo maggiori informazioni relative al comando ls dobbiamo scrivere
man ls
e potremo leggere tutte le opzioni che si possono utilizzare con il comando ls. Per uscire dal manuale premete il tasto [ Q ]. Di qualche comando (come cd) non troverete nessuna guida (in realtà non la troverete usando il comando man cd ma potete leggere la guida dando man bash), ma quasi tutti i comandi hanno un proprio manuale. Se proprio non capite nulla di lingua inglese e volete i manuali in italiano dovete installare il pacchetto manpages-it, quindi con il comando
sudo apt-get install manpages-it
Il problema, però, è che i manuali in italiano potrebbero non essere aggiornati, quindi se sapete un minimo di inglese sforzatevi di leggere i manuali originali. Se siete dei programmatori potrebbe interessarvi il pacchetto manpages-dev. A proposito dei manuali dei comandi segnalo l'utilissimo sito http://manpages.ubuntu.com/ che contiene tutte le guide che potreste leggere dal terminale.

22 commenti:

  1. Ottimo grazie tantissimo - Jhoee

    RispondiElimina
  2. molto utile per iniziare a muoversi con ubuntu mi ha schiarito tanto le idee riguardo i commandi del terminale spero che in seguito ci illuminerai in tante altre cose innerenti a ubuntu
    grazie e buon lavoro

    RispondiElimina
  3. Grazie mille ho trovato un pò di info sul terminale...ma adesso vorrei sapere come si chiama il file del terminale cioè il file che contiene il codice del terminale mi psiego meglio...Io devo far paretire un'applicazione con il terminale però ogni volta ke la voglio far partire devo sempre andare nel terminael scrivere il percorso della cartella e poi fare ./programma_da_eseguire io invece vorrei che cliccandoi sul file si apra in automatico il terminale con il file come faccio??

    RispondiElimina
  4. Se usi GNOME il terminale si può lanciare con il comando `gnome-terminal' (senza apici). Per avviare il terminale in modo che esegua un determinato comando devi usare l'opzione `-x' (maggiori informazioni le trovi sempre leggendo il manuale: `man gnome-terminal'), in questo modo: `gnome-terminal -x /percorso/del/programma/da/eseguire'. In realtà, per fare quello che ti serve la cosa migliore credo che sia cambiare le impostazioni di Nautilus (se è questo il file manager che usi) e fare in modo che facendo doppio clic su un eseguibile venga automaticamente eseguito e non compaia la finestra di scelta dell'operazione da fare. Ora non ricordo precisamente quale sia l'impostazione da modificare (forse sta nella scheda `Comportamento' o qualcosa di simile). Ciao

    RispondiElimina
  5. Ciao, senti ma se io volessi uscire da una cartella? fare il percorso all'indietro? non mi dire "chiudi e riapri il terminale" ahahaah!

    RispondiElimina
  6. Cosa intendi per "uscire da una cartella"? Il terminale è comunque posizionato in in una cartella. Semmai potresti tornare alla cartella precedente con il comando
    cd $OLDPWD
    (la variabile OLDPWD contiene il valore della cartella in cui si trovava prima di spostarsi), oppure se vuoi ritornare alla cartella iniziale (che salvo casi particolari dovrebbe essere la home dell'utente) puoi usare semplicemente il comando
    cd
    senza altri argomenti. Ciao!

    RispondiElimina
  7. Scusate se approfitto per chiedervi una cosa. Aprendo il terminale e dando i comandi giusti (credo) mi dice sempre file e directory non trovati. Sto cercando di installare JDowloader, la cartella si trova nella home eppure....
    Se qualche buonanima mi aiutasse
    Ciao e grazie Kevin666

    RispondiElimina
  8. In che modo stai provando a installarlo? Hai un pacchetto deb? Se non dai maggiori informazioni non ti posso aiutare ;)

    Comunque un modo per essere certi di aver scritto il nome di un file che esiste davvero sul proprio computer è quello di usare l'autocompletamento con TAB (è spiegato anche nel post). Per esempio, se il file si trova nel percorso /home/pippo/Scrivania/jdownloader.foo, scrivi nel terminale (quando devi dare il comando opportuno)

    /home/pippo/Scrivania/jd

    e premi TAB (se non te lo completa la prima volta premilo due volte per vedere se si sono presentate ambiguità). Se la shell non ti completa il nome del file significa che il file non esiste in quella posizione! Ciao

    RispondiElimina
  9. Si ci sono riuscito a vedere la cartella JDownloader, ed adesso per installare JD devo vedere l'exe o no? Quindi:
    sudo apt-get install JDownloader.exe
    Grazie , Posso chiederti anche qualche buon programma per traduzioni ( usavo Babylon )
    Ciao Kevin

    RispondiElimina
  10. Aspetta un attimo, gli eseguibili .exe non funzionano sui sistemi GNU/Linux (a meno che non usi Wine), ma ho visto che questo programma Jdownloader ha una propria versione per GNU/Linux, perché non hai scaricato quella? Prova inoltre a leggere questa guida: http://wiki.ubuntu-it.org/EmanueleCisotti/Prove2
    Ciao!

    RispondiElimina
  11. Quasi quasi ci sono riuscito, ma per aprire JD lo posso fare solo andando sul Jar e con il Dx apri con Java. Il lanciatore non va
    Ciao kevin

    RispondiElimina
  12. Non conosco questo programma, di più non posso aiutarti, posso solo consigliarti di fare un giro su Google, ho trovato diversi risultati cercando "jdownloader ubuntu" (senza virgolette). Ciao

    RispondiElimina
  13. Si, si, sono riuscito ad aprirlo ( è un download manager per
    Megaupload ecc molto valido) Solamente non posso farlo partire con il lanciatore.
    Ti ringrazio e complimenti per il sito, penso che dopo aver provato Ubuntu (io l'ho provato perchè Xp era andato e mi sono detto proviamo) molti ci rimarranno anche se adesso mi piacerebbe provare Win 7 insieme. Avrei altre domande da farti, ma con calma.
    Bene ciao Kevin

    RispondiElimina
  14. Chiedo a te perchè sei molto chiaro nelle risposte.
    Quando ho installato ubuntu ho dato tutto lo spazio a lui.Vorrei partizionare il disco, ma Gparted non me lo permette e mi dice di farlo manualmente. Come devo fare?
    Posso usare il cd d'installazione senza perdere i dati?
    Ti ringrazio anticipatamente se vorrai rispondermi
    Ciao kevin

    RispondiElimina
  15. Hai provato a usare Gparted in Ubuntu installato sul tuo computer? Te lo chiedo perché le operazioni di modifica delle partizioni vanno fatte con il filesystem non montato, quindi puoi farloe con il disco di installazione di Ubuntu (seleziona l'opzione Prova Ubuntu e lì troverai Gparted fra i programmi che puoi usare). Se ridimensioni la partizione i dati non verranno cancellati, sappi però che è una operazione un po' delicata, più che altro perché una malaugurata mancanza di corrente può compromettere l'hard disk.

    Comunque se hai bisogno di risposte a molte domande ti consiglio di (1) cercare su google o (2) iscriverti su un forum (vedi per esempio lo specchietto "Hai problemi?" sulla destra), ti sapranno aiutare sicuramente meglio di quanto possa fare io ;-)

    RispondiElimina
  16. Si ho provato ad usare gparted, ma non mi permette di ridimensionare la partizione, ma solo smontarla e così perderei i dati. proverò a farlo nel secondo modo
    Ciao

    RispondiElimina
  17. grazie la tua guida mi è stata molto utile

    Michele

    RispondiElimina
  18. Ciao a tutti. Ho un problema:
    Se voglio aprire una cartella che ha un nome fatto da 2 parole non riesco ad aprirla, quando scrivo:
    cd /library/Application Support
    non me la apre, neanche se metto l'underscore tra le due parole.
    Qualcuno mi saprebbe aiutare per favore?

    RispondiElimina
    Risposte
    1. Ciao, come spiegato all'interno del post devi mettere il percorso fra virgolette "/library/Application Support", oppure fare l'escape dello spazio con il backslash: /library/Application\ Support

      Ciao

      Elimina
  19. ottimo articolo :) ho parecchie immagini jpg con uno spazio in mezzo al nome del file (lo so è sconsigliato ma sono stati fatti così non da me come per esempio "inviato da laura estate 2017 formiche in stanza.jpg") e vorrei rinominarli con uno script come per esempio

    for x in *.jpg; do mv "$x" "${x/testo_da_togliere/}"; done

    e ovviamente non funziona perché i file hanno spazio all'interno e ogni riga da errore

    mv: l'obiettivo 'parte_finale_file.jpg' non è una directory

    come faccio a risolvere? tnx :)

    RispondiElimina

I commenti inseriti vengono lasciati dall'autore degli stessi accettandone ogni eventuale responsabilità civile e penale.
Il curatore del blog si riserva la possibilità di eliminare messaggi contenenti frasi offensive o spam.