My World
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.

Il terminale, questo sconosciuto

Andare in basso

Il terminale, questo sconosciuto Empty Il terminale, questo sconosciuto

Messaggio  Wotan Gio Ago 07, 2008 1:02 am

chiunque abbia mai usato un sistema GNU/Linux o comunque Unix like (anche Mac osx in realtà) ne ha avuto a che fare

L'utente Windows ne ha un assaggio dal prompt dei comandi Dos.

la "riga di comendo" o "terminale", più propriamente SHELL è un interprete di comandi che permette la comunicazione con il sistema operativoe anche, nel caso GNU/Linux, con il Kernel (moduli importantissimi di codice che permettono di dialogare con l'hardware)

Perchè i linuxiani convinti sono tanto fissati con questa benedetta riga di comando?
A prima vista in effetti si direbbe obsoleta, poco intuitiva, poco funzionale.
Eppure vi sono pochi strumenti più utili della shell Bash.

La shell Bash (acronimo per Bourne Again SHell) è una rivisitazione della vecchia Bourne Shell usata da Unix, e possiede potenzialità enormi: con essa non solo è possibile eseguire qualunque tipo di operazione base (copia, rinomina, elimina, esegui ecc) ma di farlo con notevoli vantaggi

Primo fra tutti secondo me, che sono molto pigro, è ITERATIVA;
es: qualche giorno fa dovevo ridimensionare una serie di video scaricati da youtube (per metterli nel mio i pod). Ora, farlo a mano implica che io apra il file con un programma di editing adatto, effettui le modifiche e le salvi.
E qui entra in gioco la shell: con un SINGOLO comando ho dato in pasto i video a un tool non grafico ma funzionale (ffmpeg) e ho detto dove mettere i risultati.

Questo risulta possibile perchè mediante quella riga si può ridirigere input/output, passarli a programmi, attivare opzioni, usare un semplice linguaggio logico (if/then/else, comparazione, ricerca di elementi mediante il comando grep)

mettiamo che io ho 40 file da processare con un programma particolare "mioprog.ext"
invece che eseguire 40 volte il programma posso usare un metodo più ingegnoso: metto i nomi dei file da processare su un file di testo semplicissimo che chiamo lista.txt, dopodichè apro il terminale e digito
$ cat lista.txt > mioprog.ext
e ho finito
converrete che ha i suoi vantaggi

Un altro motivo fondamentale è la possibilità di creare script, ovvero files eseguibili che contengono nientaltro che comandi per la nostra shell bash, la quale, una volta ricevuto l'ordine di esecuzione, li legge uno dietro l'altro.
Si possono dichiarare variabili, usare espressioni booleane, iterazioni, concatenare comandi (output di un comando come input di un secondo) insomma farci davvero di tutto.


Non dimentichiamo inoltre che a causa della particolare struttura di sicurezza di Linux, in sostanza l'unico modo rapido per accedere ai files di sistema è appunto la shell.

Un altro ottimo motivo è che l'esecuzione dei programmi lanciandoli da shell permette di leggere in real time sul terminale quello che il programma fa a livello di codice, e, in caso di errore, ce ne restituisce un utilissimo log (vi assicuro che mi ha salvato una marea di volte); se infatti non siete degli esperti e cercate aiuto in un forum tecnico, frasi come:"Dunque, dal mio pannello del programma x spunto la casella dell'opzione y, ma poi si vede tutto male e il programma si chiude" renderebbero irritabile anche la persona più ben disposta (che dovrebbero dirvi? mica sono telepati) laddove un bel post del log di errore permette una facile identificazione e spesso soluzione del problema.

Non mi dilungo a decantare le lodi di questo attrezzo che per quanto mi riguarda è ormai parte della quotidianità, ci sarebbero molti altri motivi per farlo;
lascio invece un ultimo spunto: ma volete mettere quanto più "geek" (Hacker) fa usare la shell rispetto a un punta e clicca???!!!

P.s.: comincio a pensare che se vado avanti così necessito di un topic ad hoc. Oppure di un ban.
Wotan
Wotan

Messaggi : 87
Data di iscrizione : 23.06.08
Età : 35
Località : Treviso

Torna in alto Andare in basso

Torna in alto

- Argomenti simili

 
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.