BASH : Impariamo a utilizzare la Shell più utilizzata di Linux.

Linux Command Terminal
Linux Free Software

 

 

Slogan Operativo

Linux un sistema libero di Studiare, Lavorare come il Libero Arbitrio nei pensieri di ogni uomo .

 Introduzione

Linux è il programma che vede la luce propria con il  kernel  di Linux  nell’agosto 1991 grazie al giovane studente finlandese Linus Torvalds.

Io Linustrike nick name che mi porto dietro da quando andavo nel 1987 nella scuola superiore di Elettronica e Sistemi a Milano e dopo tanti anni di conoscenza di Linux nella versione di utente Windows  adesso voglio seriamente impegnarmi a studiare Linux attraverso l’uso della riga di comando da Terminale su una Shell di  Bash.

In Internet trovi manuale dove spiegano in modo semplice e in modo complicato questo argomento.
Per imparare bene l’unica cosa è fissare bene le basi della scrittura su Terminale sulla Shell Bash e in seguito la Programmazione degli Script.
Grazie per il vostro contributo di tutti i volontari che hanno sviluppato in tutti questi questi anni il sistema che diventato la parte umile del mondo Informatico. Il perchè di quello che scrivo è quello che se uno  scrive e spiega in modo : Semplice , Naturale e Effervescente ogni persona impara in modo naturale.come deve essere la filosofia di un programma “Open Source” che sfrutta le conoscenze degli esperti con libertà nato dalla filosofia del “Libero Arbitrio di Linux”.
Il nucleo principale dove lavora SO del Kernel Linux per interagire tra il componente Hardware e la parte Software chiamato Terminal di Linux.
Nel nostro studio impareremo a fondo come prima cosa tutti i comandi base della Shell Bash di Linux.
Una buona parte di questi comandi ci serviranno per scrivere dei programmi chiamati Script su un Editor di testo installato nella nostra Linux Distribution o Distro Open Source (Linux Debian , Linux Ubuntu , Suse Linux , Linux Red Hat e altre distro ) e automatizzati dal terminal di Linux.
La filosofia di questo Sistema Operativo chiamato Linux è l’immagine che gli viene da dal suo inventore l’architetto di sistemi Linus Torvalds che con grande intelligenza con un gioco di parole a trasformato un suo sistema chiamato computer in un Operating System molto leggero che può essere installato su tutti i tipi di computer per via di una licenza Open Source quindi Free di cui per i vecchi processori 386 è un SO molto leggero.
Io Linus Torvalds aggiungo metaforicamente un X che è quella di Unix è creo da Unix un muovo SO usando il mio nome sostituendo la S con la X per diventare il sistema creato da Linux Torvalds.
Unix sta a Linux per via del suo sistema di lavoro partendo dal suo terminale che utilizza i comandi a modo di specchio che vuole dire scrivere dei comandi in Unix equivale a scrivere dei comandi in Linux.
Ogni persona che impara Linux sa oppure si deve ricordare che di fronte si può trovare le stesse cose nella maggior parte dei casi nei comandi da un terminale di  Unix.
La storia dei Comandi da Terminale da imparare parte con il Simbolo che ci troviamo di fronte quando apriamo in Linux un Terminale
Il Simbolo utente e identificato con il carattere dollaro $ che è la base di partenza di tutti utenti quando parono il terminale di Linux dopo l’installazione.
Il Simbolo di Amministratore della macchina con i privilegi di Super-User viene identificato con il simbolo Cancelletto #.
Quindi adesso noi possiamo confermare che il  Terminal sta in Linux come il MS-DOS sta Windows.Questo paragone è una immagine riassunta per tutte le persone che conoscono bene le SO di Windows  e vogliono imparare un pò del SO di Linux sempre utile in questo periodo di recessione per via di un Sistema Operativo Free cioè gratuito..
Il primo comando che studieremo è pwd da scrivere nella riga del terminal.
Quando accendo una Distribuzione di Linux in molte delle nuove distribuzioni si apre un desktop come Windows e per aprire velocemente il Terminal di Linux si può cliccare insieme un comando scorciatoia (CTRL+ALT+T).
Cliccando insieme questi tasti si apre il Terminal di Linux.
Comandi Base

Il comando PWD

pwd (abbreviazione dalla lingua inglese di print working directory, stampa la directory corrente) è un comando dei sistema operativo Unix e Unix-like, e più in generale dei sistemi POSIX, che mostra sullo standard o il path name assoluto della directory corrente.

La sintassi generale di pwd è la seguente:

pwd [opzioni]

Tra le opzioni vi sono:

-L  
usa il valore della variabile d’ambiente PWD ma solo se nelle componenti del pathname assoluto in esso indicato non sono usate le directory speciali “.” e “..“.
-P
risolve eventuali collegamenti simbolici  presenti nelle componenti del pathname assoluto.

La versione GNU di pwd non supporta le opzioni -L e -P, ma occorre tener presente che in tali sistemi viene in realtà eseguito l’omonimo comando interno della shell testuale, che invece supporta tali opzioni.

Esempi

Mostra il pathname assoluto della directory corrente:

$ pwd
/home/utente/documenti

Mostra il pathname assoluto della directory corrente, evitando di indicare collegamenti simbolici (documenti era un collegamento simbolico a doc):

$ pwd -P
/home/utente/doc

 Il comando LS

ls (abbreviazione dalla lingua inglese di list segments, elenca segmenti) è un comando dei sistemi operativi Unix e Unix-like che elenca informazioni su file ed il contenuto delle directory.

Il comando ls è definito nelle specifiche POSIX e dalla Single UNIX Specification.

La Storia del comando

Il comando ls è apparso nella versione originale di Unix dell’AT&T. Il suo nome deriva da un analogo comando di Multics che elencava i segmenti di memoria (in Multics file e segmenti di memoria erano tra loro sinonimi).

Al giorno d’oggi esistono varie implementazioni di ls. Due implementazioni particolarmente popolari sono:

  • la versione inclusa nel pacchetto GNU Coreutils della Free Software Foundation, disponibile come software libero;
  • la versione per le varianti di BSDcome FreeBSDOpenBSDNetBSD e Darwin per i computer Apple, disponibili come software open source.

Le istruzioni del suo utilizzo

La sintassi generale di ls è la seguente:

ls [opzioni] [--] [file_o_directory1 …]

I parametri file_o_directory specificano i file e/o le directory da elencare. In loro assenza sono elencati i file presenti nella directory corrente (ovvero la directory corrente del processo che avvia ls, tipicamente una shell testuale).

Il doppio trattino -- (facoltativo) indica che i parametri successivi non sono da considerarsi opzioni.

Se non indicato diversamente, l’elenco è ordinato alfabeticamente. Se lo standard output di ls è un terminale interattivo, ls produce un elenco compatto dei soli nomi dei file distribuiti su più colonne in modo da occupare la larghezza del terminale, altrimenti (quando ad esempio usato in una pipeline software  produce un elenco dei soli nomi su un’unica colonna (un nome per linea).

Tra le opzioni significative vi sono:

-a
Include nell’elenco anche i file e directory il cui nome inizia per punto (che, per convenzione, non sono normalmente mostrati).
-d
Elenca le proprietà delle directory specificate come parametri invece di elencare il loro contenuto.
-n
Indica proprietario e gruppo assegnato usando rispettivamente lo User identifier ed il Group indentifier numerici invece dei loro nomi.
-l
Produce un elenco esteso, una linea per ogni file, indicando da sinistra a destra:

  1. i permessi
  2. il numero di collegamenti fisici al particolare file o directory
  3. il proprietario
  4. il gruppo assegnato
  5. le dimensioni apparenti in byte (quelle reali possono essere inferiori in caso di file sparsi, oppure il major number ed ilminor number che caratterizzano un dispositivo a blocchi o un dispositivo a caratteri
  6. la data di ultima modifica in forma compatta
  7. il nome
  8. in caso di collegamenti simbolici, “->” e la destinazione del collegamento
-F
Aggiunge in coda a ciascuno dei nomi dei file elencati un carattere che ne rivela la natura:

  • * – indica un file eseguibile
  • / – indica una directory
  • | – indica una named pipe
  • @ – indica un collegamento simbolico
  • = – indica un socket in dominio Unix
  • I file normali non eseguibili non hanno alcun suffisso.
-R
Elenca ricorsivamente anche il contenuto di eventuali subdirectory incontrate.
-r
Inverte il senso di ordinamento dell’elenco.
-t
Ordina l’elenco per data e ora di ultima modifica anziché alfabeticamente.

In alcuni sistemi l’uso dell’opzione --color (per GNU ls), o -G (FreeBSD ls) fa in modo che ls evidenzi i file con un colore diverso a seconda del loro tipo (a differenza dei caratteri usati dall’opzione -F). Per determinare il colore da usare per un file, GNU ls ne controlla il tipo, i permessi e l’estensione, mentre in FreeBSD viene controllato soltanto il tipo di file ed i permessi. Il risultato potrebbe essere simile al seguente:

 brw-r--r--    1 unixguy staff 64,  64 Jan 27 05:52 block         
 crw-r--r--    1 unixguy staff 64, 255 Jan 26 13:57 character     
 -rw-r--r--    1 unixguy staff     290 Jan 26 14:08 compressed.gz 
 -rw-r--r--    1 unixguy staff  331836 Jan 26 14:06 data.ppm      
 drwxrwx--x    2 unixguy staff      48 Jan 26 11:28 directory     
 -rwxrwx--x    1 unixguy staff      29 Jan 26 14:03 executable    
 prw-r--r--    1 unixguy staff       0 Jan 26 11:50 fifo          
 lrwxrwxrwx    1 unixguy staff       3 Jan 26 11:44 link -> dir   
 -rw-rw----    1 unixguy staff     217 Jan 26 14:08 regularfile   

File nascosti

Il comportamento predefinito di ls nel presentare il contenuto di una directory prevede di non elencare i file e directory il cui nome inizia per punto (“.“), ad esempio “.profile” o “.emacs“.

Tali file sono detti file nascosti, e per visualizzare anche essi è necessario usare l’opzione -a.

Uno dei motivi che stanno alla base di questo comportamento deriva dalla grande quantità di file e directory di configurazione che i programmi collocano nelle home directory degli utenti per memorizzare le impostazioni utente, unitamente al fatto che, a differenza ad esempio dei sistemi MS-DOS o Microsoft Windows, non vi è un meccanismo specifico per nascondere dei file con nomi arbitrari.

Il meccanismo dei file nascosti è semplice, ben compreso e rispettato anche dalle interfacce grafiche, e permette di evitare di appesantire inutilmente gli elenchi dei file contenuti nella home directory dell’utente (o di qualsiasi altra directory).

Esempi

Elenca il contenuto della directory corrente con il formato esteso:

$ ls -l
totale 44
drwxr--r-- 2 fred fred    48 25 mag 22:11 drafts
-r-xr-xr-x 1 fred fred  8460 25 mag 22:12 edit
-rw-r--r-- 1 fred fred 30405 25 mag 22:12 edition-32
lrwxrwxrwx 1 fred fred     4 25 mag 22:16 editor -> edit

Elenca il contenuto della directory corrente con il formato esteso visualizzando anche i file nascosti:

$ ls -la
totale 60
drwxr-xr-x  4 fred fred    312 25 mag 22:19 .
drwxrwsr-x 10 root staff   248 25 mag 22:11 ..
-rw-r--r--  1 fred fred    220 25 mag 22:11 .bash_logout
-rw-r--r--  1 fred fred    414 25 mag 22:11 .bash_profile
-rw-r--r--  1 fred fred   2227 25 mag 22:11 .bashrc
drwxr-xr-x  2 fred fred     48 25 mag 22:19 .directory_nascosta
drwxr--r--  2 fred fred     48 25 mag 22:19 drafts
-r-xr-xr-x  1 fred fred   8460 25 mag 22:12 edit
-rw-r--r--  1 fred fred  30405 25 mag 22:12 edition-32
lrwxrwxrwx  1 fred fred      4 25 mag 22:16 editor -> edit
-rw-r--r--  1 fred fred      6 25 mag 22:19 .file_nascosto

Elenca il contenuto della directory corrente con il formato compatto e con i caratteri che indicano il tipo di file:

$ ls -F
drafts/  edit*  edition-32  editor@

Elenca il contenuto della subdirectory drafts col formato esteso:

$ ls -l drafts
totale 12
-rw-r--r-- 1 fred fred  8 25 mag 22:21 doc1.txt
-rw-r--r-- 1 fred fred 19 25 mag 22:21 doc2.txt
-rw-r--r-- 1 fred fred 34 25 mag 22:22 doc3.txt

Elenca la directory drafts in sé invece del suo contenuto:

$ ls -ld drafts
drwxr--r-- 2 fred fred 120 25 mag 22:22 drafts/

Elenca gli ultimi dieci file o directory modificati più di recente in una directory molto affollata (più di duemila voci); ls produce l’elenco ordinato per data di modifica, e viene posto in pipeline software con il comando tail per visualizzare solo le ultime dieci linee dell’elenco:

$ ls -lrt /usr/lib | tail
-rw-r--r--  1 root root  1379652  8 mag 20:40 libcrypto.so.0.9.8
-rw-r--r--  1 root root  2200134  8 mag 20:40 libcrypto.a
lrwxrwxrwx  1 root root       15 18 mag 10:18 libssl.so -> libssl.so.0.9.8
lrwxrwxrwx  1 root root       18 18 mag 10:18 libcrypto.so -> libcrypto.so.0.9.8
drwxr-xr-x  4 root root     3280 18 mag 10:18 pkgconfig
drwxr-xr-x  2 root root      192 18 mag 10:18 i586
drwxr-xr-x  2 root root      192 18 mag 10:18 i486
lrwxrwxrwx  1 root root       19 18 mag 10:18 sftp-server -> openssh/sftp-server
drwxr-xr-x  2 root root      112 18 mag 10:18 openssh
drwxr-xr-x  3 root root      136  1 giu 11:14 squeak

Con la spiegazione di basso livello dei primi 2 comandi principali Linux pwd e ls si conclude la prima lezione del corso base che vi porterà ad acquisire passo dopo passo tutti i comandi per arrivare ad utilizzarli per fare dei programmi Script Shell Bash da un Terminale Bash.

Linux ci insegna che questo sistema operativo è Open Source quindi è libero per essere utilizzato e prima ancora essere studiato come Linustrike vi rende liberi se volete iniziare con me questo percorso di studio.

Il mio corso è anche questo Open Study che filosoficamente parlando vuole dire un Studio Aperto a tutti analizzando in modo semplice il mondo gratuito di un Sistema Operativo Libero

Nel mondo informatico moderno la libertà di usare dei servizi gratuiti è molto importante per sviluppare a kilometro 0 come si dice per prodotti della natura coltivati nel proprio orto, chissà se in futuro si inizierà a parlare di questa filosofia nei linguaggi di programmazione come il COBOL.

Il guadagno di uno sviluppo a kilometro 0 sta nel fatto che l’immagine di chi sa usare e propone il suo creato scatena una concorrenza a chi fornisce un immagine del prodotto più commercializzata e di conseguenza più venduta.

La pubblicità di un servizio per un prodotto è la nuova anima del Commercio Internazionale.

Un vecchio detto diceva “Chi ha orecchie per intendere Intende”.

Quindi vi dico dopo queste parole siete liberi di bel “Carpe Diem” o semplicemente un “Libero Arbitrio” e di liberarvi di questa mia lezione chiudendo il link del BlogVisio oppure di proseguire o interagire con me in questo studio base del SO Linux.

Arrivederci alla prossimo lezione con un Ciak di gira se rimanete sintonizzati su questa frequenza comunicativa.

Andale Andale Yepa Yepa Vamonos Linux…………………………

[banner]

 

Pubblicato da itpaservicepad

Supporto sui Servizi Informatici basato su una ottima esperienza a livello pubblico e privato aziendale.