Manuali, links, fotografie e tanto altro
alla portata di un semplice click!
 
 Benvenuto Ospite
Manuali, immagini, fotografie e tanto altro a portata di un click

Cartoline virtuali

Cartolina n° 1098



Sono presenti 1307 cartoline virtuali. Entra ora


Giochi online
Maze


1. ermesiti: 25
2. Daygo: 24
3. Mike86: 17

Visualizza tutti i giochi.

News Reader















Bash, EOLOTRICKS
.: Data Pubblicazione 07-Feb-2005 :: Letture:: 563 :: Recensione :: Stampa solo questa pagina :: Stampa pagina con tutte le sottopagine:.

Quando vi loggate la prima volta in un sistema UNIX, vi si presenta qualcosa del genere: 33#33 Si chiama prompt.
Come puo suggerire il nome, vi chiede di inserire un comando. Ogni comando UNIX e una sequenza di lettere, numeri e caratteri, senza spazi.
Alcuni comandi validi sono : mail, cat e CMU_is_Number-5,ecc . Alcuni caratteri non sono permessi, verranno elencati piu avanti.
UNIX e anche case-sensitive (sensibile al maiuscolo/minuscolo) ; cioe cat e Cat sono comandi diversi....
Il prompt viene visualizzato da un programma speciale, la shell.
La shell accetta comandi e li esegue ; esistono anche programmi scritti in un linguaggio proprio della shell , e si chiamano "shell script''.
In UNIX ci sono due tipi principali di shell, le Bourne shell e le Cshell.
Le Bourne shell prendono il nome dal loro inventore, Steven Bourne.
Steven Bourne ha scritto la shell UNIX originale, sh , e da allora la maggior parte delle shell hanno nomi che finiscono in sh per indicare che sono estensioni dell'idea originale. Ci sono molte implementazioni della sua shell, e si chiamano tutte Bourne shell.
E comune anche un'altra classe di shell, la C shell ( originariamente implementata da Bill Joy ) . Tradizionalmente , le Bourne shell vengono usate per gli script di shell e per compatibilita con l'originale , e le C shell sono usate per l'uso interattivo ( le C shell hanno il vantaggio di avere caratteristiche di interattivita migliori, ma sono piu difficili da programmare ).
Linux viene fornito con una Bourne shell chiamata bash,scritta dalla Free Software Foundation.
bash sta per Bourne Again Shell, uno dei tanti brutti giochi di parole in Unix.
E una Bourne shell  "avanzata'' : contiene le caratteristiche standard di programmazione normalmente presenti nelle Bourne shell, insieme con molte caratteristiche di interattivita normalmente presenti nelle C shell.
bash e la shell di default che viene usata con LINUX ...!! .
Quando vi loggate, il prompt viene mostrato da bash, e state eseguendo il vostro primo programma Unix, la bash shell.
Finche sarete loggati, la bash shell continuera a girare.
La shell negli ambienti Unix, e non fa eccezione Linux, e un elemento fondamentale del sistema operativo.
Solo chi sa usare correttamente questo ambiente puo dire di conoscere unix/linux, altrimenti e un semplice utilizzatore.
Passo a darne una definizione: la shell di un ambiente Unix, e un interprete a linea di comando che permette di interagire con il sistema operativo, impartendogli dei comandi di sistema fino a creare un programma vero e proprio, generalmente detto script.
Questa definizione merita qualche spiegazione.
Prima di tutto per comandi di sistema si intendono tutti quei comandi forniti dal sistema operativo, ad esempio il caricamento di un programma, la data e l'ora, comandi di ricerca, ordinamento e cosi via.
Ogni programma unix e creato per essere caricato dalla shell, quindi e predisposto per questo, ed ha una notevole flessibilita offrendo la possibilita di essere parametrizzato.
Attraverso la parametrizzazione e possibile guidare un'applicazione unix, nell'input, nell'esecuzione e nell'output.
Una pratica comune e quella di creare delle "pipe" ( argomento questo,a cui dedichero prossimamente un articolo....).
Dei "tubi" tra applicazioni, l'output di una e l'input per un'altra, e questo si puo fare solo attraverso la shell.
Nella definizione si dice che: "la shell e un interprete a linea di comando", questo significa che e essa stessa un programma che interpreta altri programmi o semplicemente comandi, quindi non e necessariamente unica, e infatti nella realta esistono varie shell, ma i concetti fondamentali :
interazione con il sistema, programmabilita, interfaccia a caratteri- rimangono per tutte uguali.
Le shell piu famose sono: bash ( Bourne Again Shell), sh, tclsh e tcsh ,comunque ve ne sono molte altre. Descriveremo qui di seguito la shell bash, che e in pratica quella standard per ogni sistema unix.
Per programmabilita si intende che l'interprete offre un certo numero di strutture di controllo, costanti e variabili tipiche di ogni linguaggio di programmazione.
La shell deve essere necessariamente a linea di comando per offrire la flessibilita necessaria, molti ambienti di tipo visuale, quali windows e macos hanno delle utility con l'obbiettivo di fornire qualcosa di simile, non arrivando mai alle potenzialita della shell unix, non per l'incapacita di creare un interprete cosi potente, ma per come sono creati i programmi applicativi.
Nell'ambiente unix, fin dall'inizio era presente la shell, anzi era il solo modo per interagire con il sistema operativo, i programmi erano creati da programmatori per altri programmatori, quindi enorme flessibilita ed un occhio di riguardo per la programmabilita.
Per questo motivo se si guardano i parametri di caricamento di un qualsiasi programma se ne trovano almeno una decina.
Tutto questo non vale per i sistemi operativi con interfaccia grafica, i cui utenti avendo scelto questo modello non vogliono di certo la programmabilita, l'obbiettivo per le applicazioni in questi ambienti e l'usabilita da parte di qualsiasi utente.
Se dovessi scegliere uno degli elementi distintivi tra un sistema unix e gli altri, quello descritto sopra sarebbe uno tra quelli fondamentali.

Quella che segue e una lista essenziale dei comandi unix, ho descritto le opzioni piu usate senza prenderle in considerazione tutte, per quelle si puo usare il comando man, mentre ho cercato di privilegiare gli esempi.

alias  : Crea oppure rimuove lo pseudonimo di un comando.

Attenzione quando si termina la sessione di lavoro vengono eliminati anche gli alias, per mantenerli e necessario inserirli nel "profile" della console.


 cd  : Questo forse e il primo comando da imparare, serve per muoversi attraverso le directory.

Esempio :
albero delle directory:
/home/antonio/documenti/personali/fattura10.txt

posizione corrente:
/home/antonio

per portarsi nella directory dove si trova il documento fattura 10, digitare il seguente comando :

cd documenti/personali

Per portarsi nella propria directory home digitare il comando  cd  mentre per portarsi nel primo livello dell'albero delle directory digitare  cd /  mentre con  cd  .. si va alla directory superiore.


chgrp  :  campia il gruppo associato ad un certo file.

Parametri principali:

-R Cambia ricorsivamente la proprieta delle directory.

es: chgrp -R users /home/pippo/Documenti                questo esempio associa le directory contenute in Documenti, ed i relativi documenti al gruppo users.


chmod  : Mediante questo comando e' possibile cambiare i permessi ad un file.

es: chmod +w pippo        abilita il permesso di scrittura da parte dell'utente sul file pippo.

es: chmod -r-w-x pippo         non permette l'accesso al file pippo in lettura, scrittura ed esecuzione.

es: chmod +r+w+x           abilita l'esecuzione e la lettura da parte di tutti e la scrittura da parte del solo utente.


chown  : cambia il proprietario di un file.

es: chown pippo:users documento.txt         Setta il proprietario di documento.txt a pippo e il gruppo a users.


cp  : Comando utilizzato per fare la copia di files.

cp fileSorgente fileDestinazione

es: cp Doumenti1/*.bz2  Documenti2                      Questo esempio copia tutti i files contenuti nella cartella Documenti con estensione  bz2 nella directory Documenti2 (la directory Documenti2 deve gia' esistere).


date  :  imposta la data e l'ora del sistema

es: date     

Eseguendo semplicemente il comando date, riporta la data e l'ora corrente.

es: date -s '02 May

2000 10:55:10'

Questo esempio setta la data al 2 Maggio 2000, e l'ora alle 10:55:10, omettendo l'ora setta automaticamente all'ora 00:00:00

es: date --date '20 days ago'             Stampa la data di 20 giorni fa

es: date --date '3 months ago'                Stampa la data equivalente al giorno corrente di 3 mesi fa.

es: date --date '1 month 1 day'                Stampa la data corrispondente a quella fra un mese ed un giorno.

es: date --date '1 month 1 day ago'          Stampa la data di un mese ed un giorno fa.

es: date +'%T'         Stampa l'ora corrente nel formato ore:minuti:secondi


df  :  riporta l'occupazione dei file system montati rispetto allo spazio a loro riservato.

es: df       Riporta l'occupazione del file system in percentuale.

es: df -k        riporta l'occupazione del file system in kilobyte.

es: df -m        riporta l'occupazione del filesystem in Megabyte.


diff  : Trova le differenze tra due files.

es: diff file1 file2 > differenze.txt


du  : mostra la dimensione di un file.

es: du pippo       Mostra la dimensione occupata da pippo in kb.


file  :  determina il tipo di file facendo un'analisi del suo contenuto.

es: file pippo        Se pippo e' un file compresso di tipo bz2, il risultato del comando sara' qualcosa di simile:
pippo.bz2: bzip2 compressed data, block size = 900k.


find  : attraversa l'albero delle directory raccogliendo tutti i file ivi contenuti.

es: find . -print | grep documentoxy           Questo raccoglie tutti i file e le directory partendo dalla posizione corrente, e attraverso il comando grep ricerca il documentoxy.


grep  :  significa General Regular Expression Parser.

grep permette di ricercare all'interno di un file una certa espressione regolare, come output mostra la stringa che contiene l'espressione trovata.

es: grep prova Documenti/documentoxy.txt          Ricerca la stringa prova in documentoxy.txt che si trova nella directory Documenti.


groups  :  visualizza il gruppo di appartenenza dell'utente che richiama il comando.
kill  : termina un processo in esecuzione.
last  :  indica gli ultimi accessi al sistema.

es: last -n 20       Mostra gli ultimi 20 accessi es: last -x -n20 Mostra gli ultimi 20 Shutdown e cambi di run-level


ln  : Attraverso il comando ln e' possibile fare un link ad un determinato file.

es: ln pippo /home/pluto/pippo.lnk         Questo esempio esegue un link del file pluto nel file pippo.lnk.


ls  : Visualizza il contenuto della directory corrente

es: ls -l     Mostra i file della directory corrente e i loro permessi.

es: ls -a      Mostra tutti i file anche quelli nascosti.


man  :  mostra la guida in linea relativa al comando con qui e' stato richiamato man.

es: man ls     Questo comando mostra l'help in linea relativa al comando ls.


mkdir  :  crea una nuova directory.

es: mkdir prova     crea la directory prova nella directory corrente.


mount  : Questo comando permette di fare il mount di un file system. Prima di accedere ad un fileSystem, es Dischetto, hardDisk ecc. e' necessario fare il mount, cioe' caricare le informazioni relative a quel dispositivo (es: carica l'albero delle directory). Linux permette di fare il mount di moltissimi file system, elenco i piu' famosi:

ext2 il file system di Linux vfat il file system di Windows

fat32 fat il file system di Dos e Windows fat16 NTFS NT file

system hfs il file system di macintosh iso9660 il fs dei CD-ROM.

es: mount -t msdos/dev/fd0 /mnt/floppy

Questo comando monta un floppy di tipo msdos (/dev/fd0 e il device floppy disk 0, ed in generale indica il floppy a) nella directory /mnt/floppy. Nella directory /mnt/floppy si ha il contenuto del floppy inserito nel drive a: .


mv  :  serve per spostare un file, oppure per rinominarlo.

es: mv pippo pippox         Questo comando rinomina il file pippo nel file pippox

es: move pippo Documenti/pippox               Questo comando sposta il file nella directory Documenti, e lo rinomina in pippox.
passwd  :  cambia la password dell'utente corrente
ps  : visualizza i processi del sistema

es:ps -x        Visualizza tutti i processi del sistema.


rcp  : Copia files tra macchine (o sistemi) differenti.

ES: rcp -r /home/pippo/Documenti/mnt/dos/pippo               Questo esempio copia la directory Documenti nel filesystem dos.


size  :  permette di calcolare la dimensione di un file.

Es. size /bin/arch             Questo comando calcola la dim del file arch nella directory bin.


split  : Questo comando divide un file di grosse dimensioni in parti piu' piccole.

es: split -b 1440000  pippo pipSplit                  Comando che divide il file pippo in file con prefisso pipSplit seguito da una numerazione del tipo aa, ab, ac ecc.


su  : su lancia una shell con i privilegi dell'utente indicato.

Es: su root            Questo comando lancia una shell con i privilegi di superuser.


tar  :  e un comando che serve per riunire un certo numero di files.

es: tar -cvf prova.tar Documenti          Questo comando riunisce tutti i file della directory Documenti nel file prova.tar

es: tar -cvzf prova.tgz Documenti        Questo comando e' equivalente al precedente, pero' utilizza gzip per comprimere l'archivio.

es: tar -tzf prova.tgz                Con questo comando si decomprime l'archivio creato precedentemente.

Attenzione tar non comprime i files, ma li riunisce soltanto.

.: Ritorna ad argomento Linux :: Ritorna a Indice Argomenti :.
Network: Cartoline virtuali - Calendari - Modelle - Playmates - Sfondi - Forum - Old SecurityNews - Warez