Octave, installazione, personalizzazione e i numeri sul calcolatore

1 03 2011

Voglio fare una piccola premessa.
Io il programma lo ho testato su un sistema Debian ma tutte le indicazioni fatte, rimangono invariate per tutti i sistemi (escluse le considerazioni fatte sui percorsi, su Windows saranno un po’ diversi).
Per l’installazione dovete usare i package manager presenti nella vostra distro, come aptitude oppure yum. È consigliato inoltre installare oltre al pacchetto octave anche octave-doc e octave-info per avere la documentazione. Se usate Windows o se Octave non è presente nei vostri repository recatevi al sito di Octave, i pacchetti che ho installato sul mio sistema terminale sono octave octave-doc octave-info
Come editor di testo (vedremo più avanti perché ce ne servirà uno) uso personalmente gedit, in quanto è in grado di riconoscere la sintassi di Octave, ma vi sono tantissimi editor in grado su farlo. Su Windows di default insieme ad Octave verrà installato noteppad++, ovviamente in grado di riconoscere la sintassi.

Octave, durante questo laboratorio, verrà usato dal terminale (non abbiamo infatti installato nessuna interfaccia grafica, ma niente vi vieta di cercarne una).
Ogni riga comincia con

>

I comandi scritti verranno interpretati solo dopo essere andati a capo (premere tasto enter).
Nel caso di errori di sintassi Octave produrrà un output segnando dove si trova l’errore oppure il tipo di errore commesso
Per chiudere il programma Octave basta dare il comando

>quit

oppure

>exit

Alcuni comandi che vengono normalmente usati in un sistema Gnu che si ritrovano all’interno di Octave sono:
pwd (mostra dove ci troviamo all’interno del sistema)
mkdir (serve per creare cartelle
ls (serve per visualizzare il contenuto della cartella in cui ci troviamo)
cd (serve per muoversi da una cartella all’altra)
Esempio:

>pwd
/home/fekir
>ls
Documenti	Multimedia
>mkdir Laboratorio
>ls
Documenti	Multimedia	Laboratorio
>cd Laboratorio
>pwd
/home/fekir/Laboratorio

Attenzione perché i comandi sono case sensitive, se avessimo scritto

>cd laboratorio
error: laboratorio: No such file or directory

Avremmo ottenuto un errore, che ci informa, che tale cartella (o file, ma non in questo caso) non esiste.

Spesso si inoltre a che fare con diverse funzioni predefinite e può darsi di non sapere bene come funzionano.
I comandi help e doc servono a capire come funzionano, ad esempio:

>help sqrt
>doc sin

Inoltre in Octave è possibile impostare una cartella dove posizionare le function che scriveremo. Vedremo più avanti cosa sono e come funzionano, ma possiamo già impostare una cartella.
Se abbiamo i permessi di amministratore andiamo a modificare il file

/usr/share/octave/3.2.4/m/startup/octaverc

(notate che se la vostra versione è diversa dalla 3.2.4 dovrete cambiare il percorso), dovreste trovare una linea del tipo

addpath (genpath ("/usr/local/share/octave/site-m"), "-begin");

sotto di questa aggiungiamo semplicemente

addpath("~/.octave/function")

. Dobbiamo poi creare nella nostra home la cartella .octave/function, e qui andremo, nei laboratori successivi, a inserire le function che vi darò o scriverete.
Altrimenti (sopratutto se non avete i permessi di amministratore) potete farlo direttamente da Octave dando il comando

addpath("~/.octave/function")

Il vantaggio di fare l’operazione da amministratore era nel caso aveste un computer con più utenti, in tal caso la modifica avrebbe interessato tutti gli utenti, in questo modo invece soltanto il vostro profilo.
Se volete rimuovere tale percorso basta rimuovere la riga scritta oppure dare da Octave il comando

rmpath("~/.octave/function")

Questa nota vale agli utenti che usano Windows, in quanto sui Sistemi Microsoft il terminale appare molto povero. Mentre sui sistemi Gnu/Linux il programma octave parte con le impostazioni predefinite del vostro terminale, su Windows (almeno nel mio caso quando ho fatto una prova), partiva con dei caratteri un po’ bruttini e troppo piccoli.
È per fortuna possibile personalizzare l’ambiente, facendo click destro sul collegamento a Octave (o direttamente con l’eseguibile) si può impostare i font da usare, la dimensione dei caratteri, i colori, e molto altro.

I numeri a virgola mobile
Vediamo adesso di dare una veloce (molto veloce) rappresentazione dei numeri sul calcolatore.
Sui calcolatori, si sa, la memoria disponibile è finita, quindi è ad esempio impossibile scrivere numeri irrazionali, che dopo la virgola hanno infinite cifre. Dal momento che quindi è impossibile rappresentare la maggior parte dei numeri reali, sui calcolatori si lavora con i numeri floating point, altrimenti chiamati numeri a virgola mobile.
Questi numeri rappresentano i numeri reali fino ad una certa cifra, dopo di essa vi è un troncamento. Normalmente gli errori sono molto piccoli, “invisibili” all’occhio umano, però, un errore, per quanto piccolo sia, si può propagare e aumentare, portando a dei risultati “sbagliati”.
Vediamo un semplice esempio, scriviamo in Octave:

>n=2;
>while (n>0)
>n=n/2;
>end
>n

Vediamo cosa abbiamo pressapoco scritto. Dapprima abbiamo assegnato ad n il valore due, poi diciamo ad Octave che finché n non è pari a 0, n verrà dimezzato.
Ovviamente questo ciclo dovrebbe risultare infinito. Nel senso che se dividete un numero in due, la sua metà sarà ancora diversa da zero. Ovviamente se pensate al significato analitico di quello che abbiamo scritto, stiamo facendo tendere n a 0, ma vi ricordo che questo è un limite per quando facciamo infinite operazioni. Eppure Octave si ferma dopo poco e valuta n come se fosse nullo proprio perché l’errore di cui vi ho parlato prima rende n e il numero 0 uguali.
Se riscrivete il ciclo di prima, senza il “;” dopo n=n/2, vi verrà mostrata ogni iterazione, e potrete notare come viene dimezzato n di volta in volta, fino a diventare un numero piccolissimo: 4.9407e-324
Vuol dire che ci sono 324 zeri prima che appaia una cifra diversa da zero. L’errore è senz’altro minuscolo, però rischia appunto di aumentare se il numero n venisse poi usato per altri calcoli, poiché (in questo caso specifico) moltiplicare per 0 o un numero diverso costituisce una grossa differenza. E sono state necessario “solo” 1076 iterazioni per annullare n.
Questi numeri possono apparire assurdi, ma durante la simulazioni di modelli matematici poter gestire numeri minuscoli o giganteschi mette a dura prova la precisione dei calcolatori.
Esistono poi dei numeri un poco particolari: Inf, -Inf, NaN, cioè infinito, meno infinito e Not a Number.
I primi due numeri si ottengono quando ad esempio state considerano numeri (in valore assoluto) troppo grandi. Visto che la memoria del calcolatore è finita, da un certo numero in poi (un numero a 308 cifre) i numeri verranno trattati come infinito. NaN è una espressione che si ottiene moltiplicando un numero infinito con un numero nullo, oppure facendo la differenza tra due infiniti, casi in cui, a priori, è impossibile dire quale sarà il risultato.
Ci sarebbe ancora tanto da dire sulla rappresentazione numerica sui calcolatori, ad esempio non valgono sempre le proprietà commutative o associative, ma penso che questa piccola parte sia sufficiente per capire un poco cosa succede dietro lo schermo e perché esistono gli errori di arrotondamento.





Gnuplot, qualcosa oltre i grafici

23 05 2010

Nelle guide passate in cui vi ho presentato Gnuplot vi ho mostrato come elaborare i dati, disegnare funzioni ad una o due variabili e a come salvare le vostre immagini.

Questa volta vi voglio invece mostrare come Gnuplot si comporta con altri programmi/protocolli. Non sto ancora parlando di programmi di studio come Maxima, o Octave (cosa che prima o poi farò), ma di come usare il terminale, come creare immagini per il Latex (che vi avevo gia presentato) e di come creare dei file per salvare il vostro lavoro (e non solo l’immagine).

Cominciamo quindi a vedere come interagire con il terminale:
Nella guida in cui parlavo dell’elaorazione dei dati ho sottolineato l’importanza di eseguire gnuplot nella cartella in cui erano salvati i nostri dati. Può però nascere il problema che ad un certo punto ci accorgiamo che alcuni dati non si trovano nella cartella che c’interessa, e quindi è neccessario spostarsi. Potrebbe anche darsi che magari non ci ricordiamo il nome del file e per dare una veloce occhiata non vale la pena aprire cartelle differenti e sarebbe molto più comodo dare un sorta di “ls” per poter vedere il contenuto della cartella.
Per fortuna per poter dare i comandi esattamente come se fossimo in una shell (cioè di fronte ad un terminale senza gnuplot avviato) basta dare!comandodove per comando potete dare un qualsiasi comando riconosciuto dal vostro sistema (potete vedere qua, qua e qua una piccola lista di comandi riconosciuti da sistemi operativi basati su debian), da questo momento in poi partirò dal presupposto che usiate un sistema basato su debian (come esempio esplicativo nell’immagine che potete vedere sto aggiornando il sistema).
In questo modo possiamo vedere facilmente il contenuto della nostra cartella (comando “ls”), oppure andare a prendere i dati di cui dobbiamo disegnare un grafico ovunque si trovino copiandoli nella nostra directory (comando “cp”)

Visto che a questo punto sul terminale non rimane molto altro da spiegare, direi di passare al salvataggio del nostro lavoro.
Ad esempio ho creato il seguente file (per semplicità chiamato file ;) ):

set title 'grafico bello'
set pm3d #colora la mappa
set xrange[-3:3]
set yrange[-3:3]
set zrange[-0.5:1]
set hidden3d
set isosample 40,40 #comando analogo a set sample, necessario per i grafici in 3d
splot exp(-x**2-y**2)

Per caricare il nostro salvataggio basta dare load 'file' ed è come se tutto quello che abbiamo scritto sul documento venisse riscritto sul terminale.
Gia che c’ero ne ho aprofittato per aggiungere un paio di comandi “nuovi”, ne senso che non gli avevo ancora presentati, li notate subito perchè dopo di essi ho messo un commento (che chiaramente non vengono letti da gnuplot)
In questo modo possiamo salvare facilmente tutte le nostre impostazioni e i nostri grafici se li vogliamo ridisegnare e rielaborarle.

Infine, ultima parte che voglio presentare oggi, è la possibilità di salvare i grafici fatti con gnuplot in un documento latex. Il metodo che vi presento io è il più “spartano”.
Per mostrarvi come funziona il tutto prendo come esempio il documento che ho scritto in questo articolo (ma qualsiasi documento può andare bene), che è un documento molto semplice.
A questo punto da gnuplot digitiamoset terminal latex
set output 'plot.tex'
load 'file'

Adesso se controllate nella vostra cartella troverete un file chiamato plot.tex, con dentro un codice, che basta copiare nel nostro documento di latex e che potete compilare con il comandolatex file.texdove per file mettete il nome del file.

Per tornare al terminale predefinito (o continuerete a generare soltanto documenti .tex) dovete dare:set terminal wxt

Non perchè questo sarà l’ultimo articolo che riguarderà gnuplot, ma mi sembra doveroso segnalarvi dove potete trovare praticamente tutta la documentazione (se il link non lo ho messo negli articolo precedenti è perchè non lo conoscevo ancora)





Terminale, installazione/rimozione pacchetti

20 03 2010

Update:
Trovate qui una guida più aggiornata.

Come promesso, eccovi un altro tutorial sul terminale.

Questa volta vi mostrerò le principali operazioni che possiamo compiere per la (dis)installazione dei programmi

1) Servono i giusti permessi
Per amministrare il sistema servono ipermessi da amministratore, a patto che non venga menzionato diversamente per tutti i comandi sucessivi dovrete davanti al comando stesso il comando “sudo”, oppure potete dare all’inizio il comando “sudo -s”
Facciamo un paio di esempi:
per installare firefox dovete dare “apt-get install firefox”, con i permessi di amministratore, quindi:
sudo apt-get install firefoxoppure
sudo -s
apt-get install firefox
notate che se usate la seconda procedura sudo -s dovrete digitarlo solo una volta, e di seguito tutti i comandi verranno eseguiti da amministratore, per tornare utenti normali basta digitare exit
quando vi verrà chiesta la password non spaventatevi se non vedete scrivere niente, è per questioni di sicurezza.

2) Aggiorniamo il sistema
Per aggiornare i repository, dove si trovano le informazioni sui programmi da aggiornare e da installare, digitiamo apt-get update per installare quindi i pacchetti nuovi diamo apt-get upgrade e rispondiamo s alla domanda.

3) Installiamo nuovi programmi
È buona pratica aggiornare i repository (se non anche tutto il sistema operativo) prima di installare nuovi programmi, così da non dover installare un programma vecchio e successivamente aggiornarlo.
Per installare un programma, digitiamo apt-get install nomeprogramma per esempio per installare Firefox (come nell’esempio precedente) basterà digitare “apt-get install firefox”.

5) Ecco come rimuoverli
Se invece vogliamo rimuovere un programma, digitiamo apt-get remove nomeprogramma in modo del tutto analogo per l’installazione di programmi.
Prima di chiedere conferma ci verranno mostrati quali altri pacchetti verranno disinstallati, a volte è bene fare attenzione, in quanto potremmo accorgerci che stiamo rimuovendo qualcosa da cui dipendono altre applicazioni (e quindi anch’esse appariranno nella lista) che invece c’interessano.
Se vogliamo rimuovere completamente un programma, quindi anche i suoi file di configurazione, diamo il comando apt-get purge nomeprogramma

6) Un minimo di pulizia
Per fare un po’ di pulizia tra le applicazioni installate, digitate apt-get autoremove e rispondete “s” per dare conferma, in questo modo verranno rimossi tutti i pacchetti che non servono più.
Se diamo invece apt-get clean e/oppure apt-get autoclean verranno rimossi i pacchetti d’installazione, guadagnando così un po’ di spazio sul vostro disco

7) Aggiungere Repository
I programmi che installiamo così comodamente con apt-get si trovano tutti nei repository, ma cosa dobbiamo fare se vogliamo installare un programma che non è presente oppure ci serve una versione più recente?
Il metodo più semplice è quello di aggiungere i nuovi repository. Per fare ciò digitiamo editorditesto /etc/apt/sources.list e aggiungiamo il repository che c’interessa. Al posto di editorditesto inserite l’editor che usate normalmente, oppure aproffittatente per cominciare ad usare vi o nano.
Se dovessero essere necessari ulteriori passaggi questi vengono sempre segnati nel sito da cui state prendendo i repo, prendiamo ad esempio il progetto del browser chromium, sulla pagina del progetto possiamo leggere che dobbiamo aggiungere ai repo le righe

#Chromium
deb http://ppa.launchpad.net/chromium-daily/ppa/ubuntu karmic main
deb-src http://ppa.launchpad.net/chromium-daily/ppa/ubuntu karmic main

e poi dare il comando

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4E5E17B5

che serve per l’autenticazione dei pacchetti.
Mi raccomando, non cominciate ad aggiungere repo da destra e manca, oltre a poter procurare problemi con le versioni dei pacchetti (magari un programma richiede una versione più vecchia) e quindi di instabilità (i pacchetti nuovi non potrebbero esser stati altrettanto testati) vi sono anche quelli di sicurezza, in quanto state installando programmi di cui non conoscete la provenienza ed essi potrebero essere malevoli, occhio a quello che fate quindi.

8 ) Installare programmi fuori dai repository
Può anche raramente capitare che non esiste il repository di un particolare programma che vogliamo installare, se però troviamo un file .deb, allora possiamo installarlo semplicemente con:dpkg -i file.deb
Se invece troviamo un pacchetto .rpm, possiamo convertirlo in un pacchetto .deb, per fare questo basta installare alien e poi convertire il file, assicuratevi di trovarvi nella cartella in cui è presente il .rpm prima di dare il comando.apt-get install alien
alien -k file.rpm

9) Panoramica
Synaptic e un programma comodissimo per la gestione dei pacchetti, però se non stiamo usando una interfaccia grafica non ci torna utile. Aptitude potremmo quasi definirla la sua controparte da terminale. Date nel terminaleaptitudeAttraverso le freccie e i tasti che ci vengono mostrati nel menu possiamo muoverci in tutto il programma, chiaramente synaptic rimane molto più comodo da usare

E questo è tutto

Tips & Tricks: Se il terminale sembra bloccarsi dato un certo comando, digitate la combinazione di tasti Ctrl+C. In questo modo viene bloccata l’esecuzione del comando dato in precedenza e potete muovervi di nuovo liberamente.

Update:
Trovate qui una guida più aggiornata.





Terminale, editor di testi

18 03 2010

In questo brevissimo articolo continua la raccolta su come usare il terminale.

La volta scorsa abbiamo imparato a creare files con il comando touch, adesso vediamo come possiamo scriverci dentro qualcosa, come prima cosa creiamo un file testo:
touch prova

1) vi oppure vim
vi, oppure vim (dipende dalla vostr distro) contiene quest potente editor di testo indirizzato per la programmazione, quindi è molto avanzato come editor (sebbene chiaramente per poterlo usare nel modo adeguato ci vuole un poco di esperienza), ma è comunque possibile utilizzarlo per semplici scopi, come la modifica o scrittura di semplici righe di testo.

Diamo nel terminalevi prova (indipendentemente dal fatto che abbiate vi o vim) ci apparirà una schermata nel terminale con il seguente testo:
~
~
~
~
“prova” 0 lines, 0 characters

1.1) Iniziare a scrivere, command mode e input mode
per cominciare a scrivere dobbiamo premere il tasto “a” (add), oppure “i” (insert), con il primo il testo viene inserito alla destra, con il secondo alla sinistra del cursore. Dopo aver premuto uno di quei due tasti vi trovate nella input mode. Per tornare al command mode (la modalità nella quale si danno i comandi descritti in seguito) dovete premere il tasto esc

Nota: Ora potete scrivere quello che volete, non usate il tasto freccia oppure backspace per evitare problemi, verrà tutto chiarito a momenti

1.2) ho fatto un errore, devo cancellare
Torniamo al command mode e posizioniamoci sopra la lettera da cancellare, a questo punto premiamo “x”.

1.3) Salvataggio dati
Per salvare le modifiche apportate al file possiamo agire in diversi modi (naturalmente ci dobbiamo trovare in input mode), i comandi sono all’interno delle virgolette:
:w” salva i cambiamenti (non esce)
ZZ” oppure “:wq” salva i cambiamenti ed esce
:q!” esce senza salvare
:q” esce, funziona solo se non sono stati fatti cambiamenti

1.4) Cercare nel testo
eccovi un paio di esempi più che esplicativi:

/ciao” cerca la parola ciao in avanti
?ciao” cerca la parola ciao all’indietro
?[Cc]iao” cerca la parola ciao e la parola Ciao (ripeto: il terminale è case sensitive, quindi contano minuscule/maiuscule, anche qua) all’indietro

1.5) Altri comandi che possono tornare utili
Come detto prima, è un editor molto potente e pieno di dunzionalità, ecco altri comandi che potrest trovare utili:
u” (undo) torna indietro di un cambiamento, una sorta di annulla
“ctrl+r” (redo) questa combinazione di tasti è l’equivalente del tasto avanti (è un annulla di un annulla…)
:! COMANDO” sostituendo COMANDO con un comando da dare al terminalevi è possibile inquesto modo poter digitare comandi durante la scrittura di un testo in vi senza uscire dall’editor, eseguito il comando basta dare enter per tornare nell’editor vi
w” muove il cursore all’inizio della parola successiva
b” muove il cursore all’inizio della parola precedente

2) nano
Per modificare il file precedente digitiamonano prova1) come un normale editor

possiamo scrivere e cancellare (con il tasto canc e backspace) senza dover cambiare tra input e command mode, il che rappresenta una grandissima comodità.

2) comandi
Per dare i comandi dovete fare quanto segue. In fondo al terminale dovreste vedere i comandi principali, basta cliccare ctrl+”carattere segnato per effettuare il comando”, ad esempio ctrl+g ci mostra la guida, piena di informazioni utili, ctrl+x ci fa uscire dall’editor e alla chiusura ci chiede se vogliamo salvare il file, cliccando s/n rispondiamo si/no, con ctrl+c annulliamo (come descritto in fondo all’editor).

A questo punto la maggior parte di gente si starà chiedendo:
Ma perché mostrare i due editor di testi, non mi bastava il secondo che è molto più semplice?

La risposta è: personalmente trovo vi (oppure vim che è praticamente vi migliorato a seguire il man) più complicato da usare in confronto al nano, sopratutto se l’editor di testo ci serve per scrivere due o te righe e non programmare.
Eppure mi sembra doveroso mostrare questo editor una volta che si sa veramente come usarlo diventa uno strumento molto comodo e potente per la programmazione, al contrario di nano che rimane più limitato.

La scelta su cosa usare la lascio comunque ai lettori, io ho scritto la mia impressione e i comandi di base, naturalmente esistono molti altri editor, come ad esempio pico oppure emacs.

3) Diamo una ochiata al contenuto
Se c’interessa soltanto vedere il contenuto di un file possiamo evitare di aprire un editor di testo, memorizzare quello che vi è scritto dentro e poi chiuderlo per poter dare un comando (fate conto che state lavorando senza interfaccia grafica e quindi non potete aprire 3 o 4 terminali…) Per poter vedere il contenuto di un file, basta digitare nel terminalecat filesostituendo a file il nome del file che c’interessa visualizzare, se quindi digitiamo “cat prova” dovreste visualizzare tutto quello che avete scritto prima con vi oppure nano.

4) Aprire programmi con interfaccia grafica
Chiaramente dal terminale è possibile far partire programmi con una interfaccia grafica, ad esempio gedit su gnome se digitiamo
gedit ci si aprirà l’edito di testo, se digitiamo
gedit provasi creerà un file di nome file non appena salviamo i cambiamenti

Se invece ci serve l’editor con i permessi di amministratore (e questo vale per tutti i programmi) in ubuntu basta anteporre sudo davanti al comando, ad esempio consudo gedit apriremo l’editor di testo come se fossimo l’amministratore di sistema.

Adesso ho usato come esempio gedit, chiaramente possiamo aprire qualsiasi programma in questo modo.

Se vi state domandando a cosa posa servire, beh, una pratica molto usata per capire eventuali problemi se un programma non parte o si spegne improvvisamente è proprio quella di far partire il programma da terminale per poter vedere eventuali messaggi d’errore.
Se non sappiamo il comando da dare per far partire un determinato programma (sebbene quasi sempre è esattamente il nome del programma stesso), basterà andare a modificare il menu del vostro sistema, e sotto proprietà vedere il comando dato.

Bene, finisco qui questo mini articolo (non sapevo cos’altro scrivere su come modificare files da terminale…), la prossima volta scriverò qualcosa su come amministrare il sistema (ad esempio installazione/disinstallazione dei programmi..), se avete consigli su qualcosa da aggiungere commentate pure ;)

Aggiornamento: aggiunta del comando cat





Terminale 1° approccio

16 03 2010

Tutti parlano del terminale, chi usa Gnu/Linux da un po’ lo adora, chi è nuovo lo odia, senza capire come possa piacere a qualcuno qualcosa che vada a riga di comando.
Eppure ci vuole poco a convincersi della sua potenza, attraverso di esso possiamo muoverci all’interno del computer, creare files e cartelle, copie di backup, scompattare/creare archivi, aggiornare il sistema installare programmi e molto altro.

Spesso se chiedete aiuto in un qualsiasi forum Gnu/Linux vi viene chiesto di dare uno o due comandi nel terminale e di scrivere l’output al posto di muovervi in cartelle di sistema e annotarvi dei dettagli (come succede spesso in Windows, in quanto la shell che esso ci offre non è altrettanto potente e intuitiva), il che è molto comodo visto che bastano un paio di copia-incolla, nessuna installazione di un nuovo programma, e spesso i comandi funzionano per tutte le distro gnu/linux e funzionano indipendentemente dall’interfaccia grafica!

Il problema è che spesso non sappiamo quello che stiamo facendo e ci dobbiamo fidare completamente di gente estranea, inoltre così diventa molto difficile imparare qualcosa per poter, più in avanti, sperare di risolvere da soli i propri problemi con il pc, quindi pensavo di cominciare a descrivere dei “comandi di base”, che sicuramente vi aiuteranno a capire pian piano comandi composti e più complessi.

Una volta imparati i primi comandi di base, diventa molto più facile capire l’aiuto che ci viene dato o scoprire la causa di eventuali problemi, il problema è però conoscere questi comandi. Anche io all’inizio tendevo sempre ad evitare il terminale e tentavo sempre la via grafica per risolvere i vari problemi che ho avuto, finché alla fine non ho capito quanto fosse semplice, comodo e intuitivo.

Ho appena detto che il terminale è molto facile da usare, è però anche vero che si deve avere un poco di esperienza, saper un minimo di cosa si sta facendo, e prima si comincia meglio è, altrimenti si tenterà di evitarlo sempre.
Detto questo siamo pronti a iniziare!

1) Informiamoci!
Uno dei comandi che ho apprezzato subito è “man”. Provate a digitare “man man” e vedere cosa vi esce fuori.
Da come potrete leggere man è “un’interfaccia ai manuali”. Digitando

man comando

potrete ottenere informazioni su un comando (o un pezzo di comando) o un programma che avete intenzione di dare. Per uscire dal manuale basta premere il tasto “q”

2) Cosa abbiamo qui?
Vi presento il comando

ls

Esso ci mostra cosa si trova nella cartella in cui ci troviamo. Di default la cartella sarà la nostra home. Files di tipo diverso potrebbero avere colori diversi per facilitare la visualizzazione. Provate ora a digitare

man ls

per avere ulteriori informazioni su questo comando. Troverete scritto che aggiungendo “-a” alla fine, quindi se diamo il comando “ls -a”, non verranno ignorati i file il cui nome comincia con . (quindi i files invisibili), mente se appendiamo “-l” ci verranno mostrato i files in lista con dei dettagli sulle proprietà dei files.
Naturalmente possiamo anche mettere insieme i vari comandi, possiamo digitare “ls -a -l”, oppure “ls -al” o “ls -la” per ottenere tutti i files di una determinata cartella (anche quelli invisibili).

3) E se volessimo cambiare cartella?

cd percorso

ecco il comando che serve per muoversi dove per percorso mettete il percorso da seguire. Per esempio se nella home del vostro utente avete una cartella chiamata dir1, digitando “cd dir1″ oppure mettete il percorso completo

cd /home/nomeutente/dir1

inserendo il nome del vostro utente al posto di nomeutente vi sposterete nella cartella dir1.
Se invece digitiamo

cd ..

usciremo dalla cartella attuale per trovarci in quella che la conteneva, quindi se vi trovavate in dir1, ora siete di nuovo nella cartella del vostro utente.

5) Ho perso la strada…
Per avere maggiori informazioni su dove vi troviate, digitate

pwd

in questo modo vi verrà dato il percorso completo fino a dove vi trovate.

6) Creare cartelle e files
Ora che sappiamo come muoverci, sarebbe interessante sapere come creare file e cartelle. Per creare una cartella basta digitare

mkdir nomecartella

sostituendo a nomecartella il nome della cartella che volete usareper esempio se digitate “mkdir dir” e successivamente “ls”, noterete che vi sarà una cartella chiamata dir. Volendo potete anche digitare

mkdir percorso

e le parti inesistenti del percorso verranno create.
Per creare invece un file, dovrete digitare

touch file.estensione

oppure

touch percorso/file.estensione

sostituendo a file il nome del file, a percorso il percorso di dove si trova il file, mente l’estensione in unix potete spesso non usarla per creare semplice file di note. Se digitamo ad esempio “touch ciao.txt” avremo creato un file di testo chiamato ciao nella cartella in cui ci troviamo (usiamo sempre il comando “ls” per controllare).


7) Rimuovere cartelle e files
Se invece vogliamo rimuovere un file, digitiamo

rm file.estensione

oppure

rm percorso/file.estensione

se scriviamo “rm ciao.txt” elimineremo il file “ciao” creato prima.
Per rimuovere una cartella dovremo invece digitare

rm -r percorso

verrà rimossa l’ultima cartella del percorso e tutto il suo contenuto. Se digitiamo “rm – r dir” (se ci troviamo in /home/nomeutente) o “rm -r /home/nomeutente/dir” cancelleremmo la cartella dir creata prima (se avete seguito questa guida) e tutto il suo contenuto.

8 ) Spostare cartelle e files

Se invece vogliamo muovere un file da una cartella all’altra, allora dobbiamo digitare

mv file percorso

scrivendo per file il nome del file da spostare e per percorso la posizione in cui va messa il file. Altrimenti possiamo scrivere “mv file dir” se vogliamo spostare file in dir (sempre che non l’abbiate cancellata prima, altrimenti ricreatela) che si trova nella directory in cui ci troviamo. Possiamo anche scrivere “mv file file2″ per cambiare il nome di file in file2.

9) Copiare cartelle e files
Oltre a muovere un file naturalmente possiamo anche copiarlo. Se digitando

cp file percorso/copia

il file file verrà copiato alla fine del percorso con il nome copia, se invece non specifichiamo nessun percorso, e digitiamo quindi

cp file copia

stiamo copiando file con il nome copia nella stessa cartella in cui ci troviamo.

10) That’s all folks
Il comando

exit

vi farà uscire dal terminale.

Per oggi abbiamo finito, abbiamo imparato a muoverci nel nostro pc senza dover usare l’interfaccia grafica, inoltre siamo anche in grado Di creare cartelle e files, prossima volta vedremo come leggere e scrivere contenuti nei files (cosa particolarmente utile tanti file vuoti nel pc :P )

Un’ultima nota:
Il terminale è case sensitive, vuol dire che fa distinzione tra lettere minuscole e maiuscole. Quindi se lavorate su un file o una cartella con lettere minuscole/maiuscole state attenti di scrivere anch’esse allo stesso modo nel terminale.
Personalmente vi sconsiglio di creare cartelle e files con lettere maiuscole e minuscole., evitate inoltre di creare files o cartelle composte da più parole o lettere distaccate da uno spazio.