shellComandi Linux – Qualche articolo fa abbiamo visto che la shell di linux può essere utilizzata per svolgere svariate attività. Ancora oggi infatti che le interfacce grafiche come Xfce, Kde, Lxde, Gnome, Unity e le altre attualmente in pieno sviluppo, la conoscenza dei comandi della shell permette di gestire al meglio i propri files e di togliersi d’impiccio in alcune situazioni “difficili”.

Oggi iniziamo una serie di articoli di approfondimento che ci permetteranno di scoprire la shell in maniera più approfondita. Passeremo dai comandi principalmente utilizzati alle caratteristiche più peculiari e meno conosciute di questo potente strumento.

La shell però oltre ad essere una finestra di comando diretto verso il nostro sistema, può anche essere un’ambiente di sviluppo. Questo vuol dire che esiste un linguaggio proprio che permette la realizzazione e l’esecuzione di script. La shell ci permette insomma anche di programmare…ma uesto lo vedremo più avanti. Iniziamo passo passo riprendendo un pò quello che abbiamo già visto insieme….

Quando clicchiamo sull’icona del terminale viene lanciato l’eseguibile relativo al terminale che fa in modo che si apra una finestra con dentro il programma del terminale in esecuzione. Abbiamo lanciato un’istanza del terminale. Verifichiamo dove ci troviamo digitando:

ls

il terminale risponderà elencando le directory disponibili a quel “livello”. Ci troveremo nella home. Il comando ls listerà il contenuto della home. limitandosi solo a mostrare solo i nomi delle cartelle e degli eventuali files. Per avere un listato più completo digiteremo allora

ls -l

e il listato si arricchirà di molte informazioni

drwxr-xr-x     5     vivilinux     vivilinux     4096     gen      3     17:29     Documenti

per avere maggiori informazioni su quali opzioni è possibile invocare insieme al comando ls digitiamo man ls e ci accorgeremo che le opzioni disponibili per un comando possono essere incredibilmente varie.

In relazione al comando ls alcune delle “desinenze” più utili sono

-l     che restituisce un elenco dettagliato di files e cartelle della directory attuale

-a    che elenca anche i files nascosti

-R   che elenca in maniera ricorsiva le directory e le sottodirectory native dal livello presente fino a livello di file.

…e molto altro.

Per cui abbiamo digitato dei comandi nella riga di comando della shell che ha “risposto” fornendoci le informazioni che desideravamo. Potrebbe essere utile sapere che i comandi che digitiamo vengono “registrati” su un file particolare posto come al solito all’interno della nostra cartella home. Il file interessato si chiama bash.history e lo si può consultare imputando nel terminale il comando history che ci fornirà un elenco ordinato degli ultimi comandi digitati per utente. Questo significa che ogni utente ha la sua home e che ogni utente che ha accesso a quel sistema e che ha pertanto creato un proprio profilo ha creato una home personale con un personale file bash.history riportante il numero corrispettivo del comando imputato e il comando vero e proprio riportato per esteso. Potrebbe ritornare molto utile.

Un primo esempio di programmazione potrebbe essere la creazione e l’utilizzo di alias. Un alias è un nome utilizzato per richiamare ad esempio un comando complesso da digitare di volta in volta oppure per forzare una caratteristica di un comando. Prendiamo ancora una volta come esempio il comando ls. Sappiamo che digitato semplicemente ls fornisce solo la lista delle directory… il che non è molto utile. Supponiamo allora di creare un alias denominato ls che però ci fornisca le informazioni ottenute dal comando ls -l. Accediamo al terminale e digitiamo:

alias ls=’ls -l’

A questo punto digitando sul terminale

ls

otterremo come risultato lo stesso listato complesso che si otterrebbe digitando sul terminale ls -l.

Comodo no?

Per annullare l’effetto dell’alias basterà digitare sul terminale

unalias ls

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS