Il 0% ha trovato utile questo documento (0 voti)
1 visualizzazioni

La Shell Di Linux

Il documento descrive Linux come un sistema operativo alternativo a Windows e macOS, evidenziando la sua natura di software libero. Viene approfondita la shell, un programma per interagire con il sistema operativo, con una distinzione tra shell grafiche e testuali, quest'ultime più veloci e versatili. Inoltre, si menziona Cygwin come un emulatore di shell Linux su Windows e si forniscono comandi e operazioni fondamentali per la gestione di file e directory.

Caricato da

Giovanni Cimei
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PPSX, PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
1 visualizzazioni

La Shell Di Linux

Il documento descrive Linux come un sistema operativo alternativo a Windows e macOS, evidenziando la sua natura di software libero. Viene approfondita la shell, un programma per interagire con il sistema operativo, con una distinzione tra shell grafiche e testuali, quest'ultime più veloci e versatili. Inoltre, si menziona Cygwin come un emulatore di shell Linux su Windows e si forniscono comandi e operazioni fondamentali per la gestione di file e directory.

Caricato da

Giovanni Cimei
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PPSX, PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 32

La shell di linux

Cos’è Linux:
 Linux è un sistema operativo (insieme di programmi
essenziali che servono per far funzionare il computer). E' una
alternativa a Windows e a macOS, e può essere installato al
loro posto (o insieme, sullo stesso computer).

 Più in generale Linux è il primo rappresentante del


software cosiddetto "libero" ("freesoftware", in inglese),
ovvero quel software che viene distribuito con una licenza
che ne permette non solo l'utilizzo da parte di chiunque ed in
qualsiasi circostanza ma anche la modifica, la copia e
l'analisi.
Shell
 Una shell è un programma utilizzato dagli utenti
per interagire con il sistema operativo. In
particolare essa permette di lanciare altri
programmi e di controllarne i parametri di
esecuzione. Permette anche di interagire con
il file system, creando, copiando, muovendo e
organizzando i file.
 Le shell si classificano in due categorie:

 Shell grafiche (GUI-Graphical User Interface),


sono interfacce basate su elementi grafici
(finestre, pulsanti, icone, menù) con cui l’utente
interagisce tramite il mouse e la tastiera. Sono più
intuitive per gli utenti ma richiedono più risorse.
 Shell testuali (CLI-Command Line Interface),
sono interfacce basate su testo in cui l’utente
interagisce con il sistema operativo tramite
comandi scritti.
 Le shell testuali hanno numerosi vantaggi rispetto a
quelle grafiche. Esse
1. permettono di lavorare molto più velocemente che
con le shell grafiche
2. sono sempre disponibili, anche quando le shell
grafiche non lo sono (e.g. esecuzione remota,
esecuzione su sistemi danneggiati, esecuzione su
sistemi con scarse risorse)
3. Si possono automatizzare compiti ripetitivi o compiti
che risulterebbero troppo complessi o lenti per un
umano (esempio trovare tutti i file che sono stati
modificati fra il 3 e il 10 gennaio e che contengono
la parola BUG; di essi farne una copia e poi
sostituirli con una copia precedentemente salvata)
Cos’è Cygwin
 Cygwin permette di avere su una macchina
Windows la potenza e la flessibilità di una shell
di Linux.
 Il vantaggio di utilizzare un ambiente emulato
invece di uno “nativo” consiste nel non dover
installare sulla propria macchina un nuovo
sistema operativo, con tutte le problematiche che
questa operazione solitamente comporta.
 Naturalmente è diverso avere a disposizione una
macchina Linux vera e una emulata, soprattutto
in termini di risorse in quanto l’emulatore occupa
buona parte della memoria RAM disponibile, ma
per i programmi molto piccoli e ”leggeri”,
l’ambiente emulato non si differenzia
dall’ambiente reale.
Directory principali
Le directory che verranno installate scaricando cygwin sono directory
che ritroviamo anche in Linux:
 /bin comandi base per gli utenti;
 /dev device file per accedere alle periferiche;
 /etc file di configurazione di sistema;
 /home “home directory” degli utenti (dentro c’è la nostra cartella,
qui metteremo i nostri programmi. Si possono creare più cartelle nel
caso di più utenti, );
 /lib librerie condivise dei programmi per il loro funzionamento ;
 /sbin comandi per la gestione del sistema;
 /tmp directory dei file temporanei;
 /usr contiene gran parte dei programmi;
 /var dati variabili, code di stampa
La shell
 Per l’utilizzo diretto della shell, l’utente deve
attivare la finestra Terminale, all’interno della
quale immetterà i comandi e visualizzerà il loro
effetto.
 Una volta aperta la finestra terminale, la prima
riga conterrà il nome dell’utente e il nome del
computer.
OSSERVAZIONI:

1. Linux distingue tra lettere maiuscole e


minuscole è case-sensitive (per la username, per
la password, per i comandi, per i nomi dei file);
2. Linux non impone stretti vincoli di lunghezza
per i nomi dei file;
3. Linux non obbliga l’uso dell’estensione nel
nome dei file
Le variabili d’ambiente
 PS1 è la variabile che contiene il prompt: scrivendo
PS1=“sono pronto ad eseguire $>”, o qualsiasi altra
frase che vogliamo o anche niente (in questo caso
rimarrà il simbolo che appare di default), cambio il
messaggio che compare ogni volta che l’istruzione è
stata eseguita e che sono pronto ad eseguirne un’altra;
 PWD mostra la cartella in cui l’utente si trova in quel
momento;
 LOGNAME indica il nome dell’utente loggato in
quel momento.
Vediamo alcune istruzioni
 clear: pulisce lo schermo e posiziona il prompt
alla prima riga;
 man: ci apre una pagina del manuale dove poter
leggere le caratteristiche di una istruzione da noi
cercata quindi ci dice che cosa è , a cosa serve e
la descrive nei particolari. Per uscire fuori dal
manuale si digita la q. quindi per capire a cosa
serve il nostro clear dobbiamo scrivere man clear
 ipconfig: mostra la configurazione dell’ip e
mostra la rete alla quale il mio pc è connesso;
 cal : sta per calendario, mostra il mese corrente
ma posso modificare con delle istruzioni la
struttura e chiedere per esempio di vedere il
mese corrente, precedente e successivo
(istruzione cal – 3);
 date : per conoscere la data corrente;
 whoami: come LOGNAME fa vedere il nome
dell’utente connesso. La differenza è che la prima
è un’istruzione e la seconda è una variabile
d’ambiente.
La shell osservazioni sintattiche:
 Per facilitare la lettura indicheremo:
 il $ come prompt di sistema;
 La sintassi dei comandi con :
nome [opzioni][argomento]
dove: - nome è il comando;
-opzioni è una lista di uno o più caratteri che
modificano parzialmente l’effetto del
comando;
- argomento è una lista di uno o più oggetti (file
o directory) su cui opera il comando
La shell: osservazioni pratiche

Si tenga presente che:


• le opzioni possono essere anche variamente
combinate tra loro;
• è possibile digitare su una stessa linea più
comandi, separandoli con il carattere ";".
• comandi particolarmente lunghi possono
continuare sulla riga seguente previa il carattere
"\" (backslash) scritto in fondo alla prima riga.
Gestione delle directory
 Comando: pwd
 Effetto: mostra a video la directory corrente e sta
per print working directory

$ pwd
/home/lucia
$
 Comando: cd
 effetto: consente di cambiare la directory corrente, sta per
change directory:

$ cd libri
$ pwd
/home/libri
$ cd usr/rossi /* la directory corrente diventa “rossi” *
$ cd / /* la directory corrente diventa la "root“ */
$ cd programs /* la directory corrente diventa “programs”
subdirectory di quella attuale */
cd .. Sale di un livello (prima dei due punti è necessario lo spazio) cd
~mario si sposta nella home directory di mario
 Comando: mkdir nomedir
 Effetto: : crea una nuova directory nel percorso
specificato (make directory)

$ mkdir prova
$ cd prova
$ pwd
/home/prova
$ mkdir usr/rossi/programs /*crea la subdirectory
“programs” della directory “rossi” presente in usr*/
 Comando: rmdir nomedir
 Effetto: elimina la directory indicata (remove
directory)

$ rmdir temp
$
Gestione dei file
 Comando: ls
 Effetto: elenco (list) i file nella directory corrente

$ ls
lettera mail pippo.c progetto tesi libro pippo
pippo.zip src
$_
 Comando: ls -F
 Effetto: elenco esteso (list-full) di file, directory, eseguibili,
link nella directory corrente
$ ls -F
lettera mail/ pippo.c progetto@ tesi/ libro/ pippo* pippo.zip
src/
$_
 / indica che si tratta di una directory
 * indica che si tratta di un file eseguibile
 @ indica che si tratta di un link (file o directory) ad un file
o directory.
 Comando: ls –lF
 Effetto: elenco dettagliato (long full) dei file nella directory
corrente

$ ls -lF
-rw-r-r- 1 marco users 937 Apr 23 12:43 lettera
drwxr-xr-x marco users 1024 Apr 10 16:04 libro/
-rwxr-x-- 1 marco users 37513 Mar 10 11:55 pippo*
-rw-r-r- marco users 23946 Mar 10 12:03 pippo.zip
drwxrwx-- 2 marco users 1024 Mar 10 08:47 src/
drwxr-r- 2 marco users 1024 Feb 12 15:29 tesi/
$_
Vediamo cosa significa:
d rwxr-xr-x marco users 1024 Apr 10 16:04 libro/

d= directory (“-” file normale), “l” (link);


Rwxr-xr-x= diritti di accesso dei file
Marco= nome del proprietario del file;
Users= nome del gruppo di cui fa parte marco;
1024= lunghezza del file in byte;
Apr 10 16:04= data e ora dell’ultima modifica;
Libro/= nome del file o della directory
 Altri esempi:
$ ls c* /*elenca tutti i file della directory
corrente il cui nome inizia con c */
$ ls /etc /* elenca i file presenti nella directory
etc */
$ ls –al prog.c /* mostra i dettagli del file prog.c */
 Comando: cp sorgente destinazione
 Effetto: copia (copy) un file (sorgente) in un altro
(destinazione) destinazione può essere un altro
file o una directory

$ cp file1.txt file2.txt (copia del file file1.txt in file2.txt)


$ cp file1.txt temp (copia file1.txt nella directory temp)
 Comando: mv sorgente destinazione
 Effetto: sposta (move) un file (sorgente) in
destinazione. destinazione può essere un altro file o
una directory

$ mv file1.txt file2.txt (cambia nome da file1.txt a file2.txt)


$ mv file1.txt temp (sposta file1.txt nella directory temp)
 Comando: rm filename
 Effetto: elimina (remove) il file filename dalla
directory
$ rm file1.txt (elimina file1.txt)
$ rm temp/* (elimina tutti i file dalla directory
temp)

$ rm /usr/marco/lettera /* rimuove il file lettera nella


directory marco, che si trova
all’interno della directory usr */

Potrebbe essere utile aggiungere il parametro “-i” affinchè il sistema


chieda conferma dell’operazione che sta per essere eseguita.
 Comando: cat filename
 Effetto: mostra a video il contenuto di uno o più
filename

$ cat programma.c
#include <stdio.h>
int main()
{
Printf ("Hello\n");
return 0;
}
$_
 Comando: chmod attributi nomefile
Effetto: cambia (change mode) i permessi di accesso
di un file.Ad ogni file sono associati dei parametri
detti permessi, che vengono impostati dal proprietario
del file o dall’amministratore.

I permessi ad un file possono essere diversi in base alla


categoria di utenza.
L'utente può essere:
• il proprietario del file (user);
• appartenente al gruppo di utenti del proprietario del
file (group);
• un utente estraneo (other)
Per gli attributi del comando chmod guardare le seguenti
tabelle:
permesso Rappr. ottale
SIMBO PERMESSO None 0
LO
X 1
r Lettura
W 2
w Scrittura o
modifica Wx 3
x Esecuzione R 4
- Nessun permesso Rx 5
Rw 6
rwx 7

Esempio:
Imposta sul file prog.txt per il
$ chmod 744 prog.txt proprietario(user) permessi
completi, al group sola lettura e
agli others sola lettura.
 Un ulteriore modo prevede l’uso dei caratteri indicati nella
seguente tabella:
Permesso Definizione
u User
g Group
o Others
a All
+ Aggiungi
- Togli
r Read
w Write
x Execute
Esempi:

$ chmod g-x file.mem


Toglie al gruppo il permesso di esecuzione
$ chmod go-r private.dat
Toglie al gruppo e agli altri il permesso di lettura
$ chmod o+x
Aggiunge all’owner permesso di esecuzione

Potrebbero piacerti anche