Pagina 1 di 3
Brescianet.comSito di supporto alla didattica
http://lnx.brescianet.com/ScuolaForum2013/
5N - 2° Modulohttp://lnx.brescianet.com/ScuolaForum2013/viewtopic.php?f=3&t=22
5N - 2° Moduloda e01692
appunti esoterici di INFO
5N - 2° Modulo - 28/1/2014da e01692
Algoritmo => insieme di cmd che risolvono un determinato problema
Sorgenti => traduzione di un algoritmo in un linguaggio di prg
linguaggio assembler/assembly => incomprensibile umanamente parlando -
solo la cpu riesce a comprenderlo ed a eseguirlo. Scrivere in assembler
richiede tempi anche 100 volte superiori rispetto ai linguaggi ad alto
livello noti come "Linguaggi di prg"
Un prg viene scritto mediante un linguaggio di prg
chi possiede il sorgente (il testo nel linguaggio di prg utilizzato) è
in grado di modificare a suo piacimento tale prg.
I sorgenti sono disponibili solo per quei sw detti opensource
(Microsoft office non appartiene a questa categoria) ad esempio OPEN
OFFICE.
5N - 2° Modulo - 30/1/2014da e01692
Backdoor => sono porzioni di codice non visibili utilizzati solitamente
per spiare l'attività di un utente a sua insaputa. Solo chi possiede i
sorgenti può verificare la loro presenza ed eliminarla (oppure solo chi
conosce molto bene l'assembler)
SO = Sistema operativo
SO: collezione di prg che consente l'uso delle risorse macchina a
utenti e prg
NOS: collezione di prg che consente l'uso delle risorse di rete ad
utenti e prg
vantaggi SO:
- facilità d'uso (interfaccia utente)
- detta le regole di accesso alle risorse (winword, autocad demandano
Inviato: 28/01/2014, 7:58
Inviato: 28/01/2014, 7:59
Inviato: 30/01/2014, 8:50
al SO la creazione dei files)
- sicurezza (impedisce l'accesso diretto all'hw e alle risorse se non
sono una persona autorizzata)
Multi - user => so => sistema che consente l'accesso contemporaneo di +
utenti
Multi - profile => so => sistema che consente l'accesso di + utenti ma
non contemporaneamente
PROFILO => insieme di info che rappresenta l'ambiente di lavoro di un
particolare utente. I profili sono salvati:
1) in locale
2) nel server di rete
3) nel cloud (accesso a WIN8)
SUPERUSER => utente amministratore => può fare tutto
in UNIX si chiama root (radice) - In windows administrator
successo di unix/linux =>è un NOS opensource
L'opensource consente l'utilizzo del dispositivo SW/HW in modo
gratuito. Inoltre la disponibilità del sorgente (SW)/ progetto (HW)
consente delle migliorie e la localizzazione di eventuali bugs
(errori!). Evità inoltre i backdoor
KERNEL => nucleo del sistema operativo => fornisce lo strato di API di 1° livello - colloquia con l'HW
direttamente (è l'unico elemento del SO che ha questa prerogativa). E' responsabile della protezione sull HW :
controlla l'accesso alle risorse HW. Tutti i linux capaci di supportare + HW differenti si diversificano solo in
questo modulo.
riprendere dalla compilazione
riprendere dal KERNEL (schema)
5N - 2° Modulo - 3/2/2014da e01692
Kernel => fornisce le api (funzioni di base) utilizzate da qualsiasi
applicazione e da qualsiasi modulo del SO
=======================================================
algoritmo => traduzione in un linguaggio di prg => sorgente => compilazione
(traduzione da sorgente a linguaggio assembler) => prg in assembler
Inviato: 03/02/2014, 11:14
(eseguibile)
compilatore => prg associato ad un linguaggio di prg ad alto livello che si
preoccupa di tradurre un sorgente nell'assembler (linguaggio a basso livello)
per cui è stato progettato
compilazione => operazione di traduzione da linguaggio di prg ad alto livello
in assembler
FILE SYSTEM (FS): modulo del SO che controlla la gestione delle risorse file.
Si tratta di un insieme di regole implementate all'interno di un insieme di
API dedicate alla gestione del file. La registrazione vera e propria verrà
sempre eseguita dal KERNEL
Unità logiche (UL) => contenitori solitamente abbinati ad una memoria di massa
riconoscibili dalla presenza di una lettera seguita da : - Nel FS unix tale
concetto non esiste
C:\Windows\assembly
è diversa da:
C:Windows\assembly
Il primo \ dopo la lettera della UL si dice radice (root)
I successivi sono solo dei separatori tra le cartelle che in qualche modo attraverso.
La root è l'unico riferimento assoluto presente nel FS.
I riferimenti che consentono di raggiungere un file possono essere relativi o assoluti. Sono assoluti se sfrutto la
root - sono relativi se sfrutto dove mi trovo
C:\Windows\assembly => riferimento assoluto
C:Windows\assembly => relativo (sfrutto dove sono per cui se sono nella root) questo riferimento coincide con
quello precedente
continuare con i rif. assoluti e relativi
5N - 2° Modulo - 6/2/2014da e01692
continuare con i rif. assoluti e relativi
mostrare schema interprete/compilatore
per REDHAT => user: root - passwd => 2510354
=======================================================
Inviato: 06/02/2014, 9:09
le cfg unix di IP vengone visualizzate con il comando ifconfig
Il FS unix non prevede UL ma parte subito con / (root)
In unix il riferimento del FS è unico
In DOS/WIN i riferimenti assoluti per ogni FS locale sono ? al massimo 26
(numero di lettere dell'alfabeto)
in unix il separatore delle cartelle è / mentre in dos \
esistono 2 modalità di comunicazione : testuale (cli command line interface) e
GUI (graphical user interface) - Non sono equipotenti ovvero con le cli posso
fare molte + cose rispetto alle GUI. Il vantaggio delle gui è la semplicità
cd home
cd /home
i percorsi che non presentano lo / iniziale sono relativi ovvero fanno
riferimento alla cartella corrente (dove siete posizionati!) mentre quelli con
lo / iniziale sono assoluti (fanno riferimento all'unica cartella certa
presente in un FS)
/home => cartella degli utenti in unix
c:\users => cartella degli utenti in win
c:\document and settings => cartella degli utenti in win (vecchie versioni)
Introduzione al FS di basso livello
la compattazione di un HD consiste nello spostare tutti i files verso una
direzione al fine di eliminare i buchi che si sono creati dopo l'eliminazione
di un files. La compattazione quindi elimina i buchi (dovuti a cancellazione di files) in modo da ottenere un
unico spazio libero disponibile per nuovi files.
5N - 2° Modulo - 10/2/2014da e01692
ORGANIZZAZIONE A BASSO LIVELLO DELL'HD
Compattamento (defrag) => operazione svolta sull'HD per eliminare i "buchi"
che si creano a causa delle eliminazioni dei files
Soluzione:
il disco è diviso in blocchi. Pertanto se ho blocchi liberi posso salvare
nuovi files senza dover compattare l'hd
Inviato: 10/02/2014, 10:59
Ad ogni file posso assegnare N blocchi - ad un blocco corrisponde sempre un
solo file
Svantaggi della gestione a blocchi:
1) se il disco ha i blocchi liberi tra loro distanti (sparsi) i pezzi dello
stesso file saranno distribuiti su un'ampia superficie dell'HD => i
movimenti della testina per leggere quel file saranno numerosi per cui =>
lentezza di lettura
2) Se ho tanti files piccoli (ad esempio 1 byte) ho una perdita di spazio
notevole (1 blocco = 4Kb => 1 file occupato solo per 1byte => 4095/4096 di
spazio sprecato!
FAT => file allocation table => è una tabella contenente il nome di ogni
file con a fianco l'indirizzo del primo blocco di tale file
se perdo la fat => perdo il contenuto dell'HD. Per sicurezza esistono sempre
2 copie della FAT. Questo modo di gestire il disco si chiama FAT e molto
spesso un disco organizzato in questo modo si dice che ha un file system di
tipo FAT
FAT 32 => numero di bit usati per l'indirizzo delle celle pari a 32. Per
ogni combinazione di bit associo un numero tra 0 d 2^32-1 - Più bit sono
utilizzati per gli indirizzi + celle (hd di maggiori dimensioni) riesco a
gestire. Con la fat 32 non posso gestire + di 4.294.967.296 blocchi.
DEFRAG => operazione che consente di risistemare i files all'interno del FS
di basso livello in modo che blocchi relativi allo stesso files vengano
posti in blocchi consecutivi. Tale operazione aumenta notevolmente le
prestazioni del ns hd.
Cosa è la formattazione => la preparazione di una UL affichè possa ricevere
dei files. il comando format è il comando che consente di predisporre una
memoria di massa ad accogliere i files secondo le regole del fs del ns so
chkdsk => comando utilizzato per valutare l'integrità del FS di un'unità di memoria di massa
5N - 2° Modulo - 11/2/2014da e01692
ELIMINAZIONE DEL FILE => si traduce nell'eliminazione della entry all'interno della fat .
I blocchi del file eliminato rimangono intatti per cui sarà possibile recuperarlo con
opportuni tools (prg) di ripristino. Quando sarà necessario registrare nuovi files il FS
riutilizzerà i blocchi disponibili ricoprendo le info originali relative ai files
eliminati. Solo dopo questa effettiva ricopertura non sarà + possibile recuperare i
files.
format UL: => prepara una FAT pulita con la struttura a blocchi vista.
Sintassi comandi CLI (interfaccia testuale):
nomecomando argomenti opzioni
format c: /FS:NTFS
format c: /FS:fat32
- argomento => oggetto dove il comando opera
- opzione => determina il tipo di comportamento del comando
un opzione è riconoscibile poichè inizia con /
l'unica opzione per ora da ricordare è /? (dos) --help (UNIX)
Quante UL ho per ogni hard disc => quante ne voglio
Partizione => suddivisione logica di un HD . Ogni partizione può accogliere uno dei tipi
di FILE SYSTEM citati (NTFS,FAT3 EXT3, HPFS ...). Quando formatto un HD in realtà
formatto una partizione
Ad ogni partizione corrisponde (se formattata) almeno una UL.
Ad una UL quanti HD fisici possono corrispondere ? In una lan è possibile che + dischi
corrispondano alla stessa ul (PER AUMENTARE LA CAPIENZA DEL DISCO). iN QUESTO CASO SI
PARLA DI DISCHI IN CLUSTER
fs unix
- LIVELLO ALTO (UTENTE) =>MOSTRA UN ALBERO DI CARTELLE PARTENTI DA UN UNICO PUNTO DETTO
ROOT. lE CARTELLE CONSENTONO LA CLASSIFICAZIONE DEI DOCUMENTI (NECESSITA' UMANA!)
- lIVELLO BASSO => IL MECCANISMO DEI BLOCCHI PERMANE POICHE' QUESTO EVITA I RITARDI
DOVUTI ALLE PROCEDURE DI COMPATTAMENTO DEI "BUCHI" RIMASTI LIBERI.
LA FAT è RAPPRESENTATA DA UN VETTORE (ELENCO) DI INODE.
l'INODE è UNA STRUTTURA DATI CONNESSA AD UN FILE CHE CONTIENE INFO UTILI ALLA GESTIONE ED
Inviato: 11/02/2014, 7:58
ALL'ACCESSO DEI FILE STESSO (ESEMPIO IL PROPRIETARIO, LA DIMENSIONE , IL BLOCCO INIZIALE
ETC.)
5N - 2° Modulo 13/2/2014da e01692
mostrare subst e operazioni di recupero e cancellazione nella fat32
PUNTATORE => numero (detto anche indirizzo) che identifica una particolare locazione
all'interno di una memoria
PUNTATORE DIRETTO (ne ho 12) => contengono l'indirizzo a delle aree dati contenti
porzioni del file in esame
PUNTATORE INDIRETTO contengono l'indirizzo ad un'area contenente ulteriori indirizzi a
aree dati contenti porzioni del file in esame
PUNTATORE INDIRETTO 2° LIVELLO: contengono l'indirizzo ad un'area contenente ulteriori
indirizzi a aree contenenti indirizzi ad aree che finalmente contengono blocchi relativi
ai dati del file in esame
Con il puntamento indiretto di 2° livello aumento in modo quadratico il nr di blocchi
indirizzabili (raggiungibili)
BIOS => prg in rom eseguito all'avvio della macchina per consentire di capire quali
dispositivi risultino connessi (da pc a pc la cfg cambia). Terminato il controllo il bios
ordina alla cpu di leggere la traccia 0.
nel DOS/WIN la traccia 0 è occupata dal MASTER BOOT RECORD (MBR)
Nel caso l'HD ospiti + SO nella traccia 0 viene inserito il prg di gestione del multiboot
(in dos/win quello di gestione del menu F8)
5N - 2° Modulo - 17/2/2014da e01692
fsck => equivalente unix di chkdsk
mkfs => equivalente unix di format
partizione => suddivisione logica dellHD fisico
in dos una partizione generalmente corrisponde ad un'unità logica.
le partizioni sono agganciate a particolari cartelle poste sotto la cartella
di sistema /dev (device)
fdisk => comando unix e dos che mostra le partizioni presenti su un HD
una partizione in UNIX diventa accessibile solo se la monto mediante il
Inviato: 13/02/2014, 8:51
Inviato: 17/02/2014, 11:00
comando mount (quindi se metto una chiave USB devo effettuare un mount della
periferica /dev/usb01
prompt => punto di un'interfaccia cli dove il SO si attende un input da parte
dell'utente
Quando accedo ad una macchina linux devo autenticarmi. Acquisisco dei diritti
in base all'utente. Il processo di autenticazione si dice di LOGIN (user
+password)
tty => sigla che identifica un terminale : dispositivo HW o SW che visualizza
i risultati di un'esecuzione che avviene in remoto all'interno di una sessione
su un server ad esempio linux
Il prompt può essere personalizzato. Di solito mostra la cartella corrente
(utile per i comandi di tipo relativo ovvero quelli che non fanno riferimento
alla root del FS)
opzioni => modificano il comportamento di default - si riconoscono per via di
un char speciale (- in unix / in dos) - In unix talvolta si usa il --
esempio
ls --help
argomenti => elementi che subiscono l'azione di un comando
se l'argomento manca il comando viene eseguito sull'elemento dove mi trovo
{detto di default} (molto spesso la cartella corrente ovvero quella mostrata
dal prompt)
Le opzioni possono essere unite in un'unica sequenza
esempio
ls -a -l => equivalente a ls -al
comando per mostrare la cartella correnta
pwd (print work directory) => comando UNIX
cd (senza argomenti) => comando dos
in win la cartella mostrata nella finestra che ho aperto sul FS
SHELL => interprete dei comandi => modulo del SO che si preoccupa di gestire
la comunicazione con l'utente e il SO. Nelle cli la presenza della shell è
evidenziata dal prompt.
Cmd+R => menu esegui => shell ambiente win (in realtà tutta l'interfaccia
grafica è shell per gli ambienti GUI: ambienti grafici)
SHELL DOS:
command.com => vecchia shell - usata per compatibilità con i vecchi programmi
cmd.exe => shell dos attuale
powershell => nuova shell programmabile
in windows la shell è eplorer.exe
SHELL UNIX
ksh, csh, bash, sh
ogni shell fornisce funzionalità differenti che portano l'administrato a
scegliere quella + congeniale
5N - 2° Modulo - 24/2/2014da e01692
cal => mostra il calendario del mese
cal 2014 => mostra il calendario del 2014
ls => elenca il contenuto della cartella corrente
equivalente dos => dir
dir => senza argomenti opera sulla cartella corrente
dir
equivale a
dir . => poichè . in dos/unix indica la cartella corrente (quella visualizzata
dal prompt visibile con il comando cd (DOS) pwd (UNIX)
dir .. => elenca il contenuto della cartella padre della cartella corrente
dir ..\.. => elenca il contenuto della cartella nonna della cartella corrente
dir \ => mostra il contenuto della root della UL corrente
dir G:\ => mostra il contenuto della root della UL G:
dir G: => mostra il contenuto della cartella corrente della UL G:
dir G:. => mostra il contenuto della cartella corrente della UL G:
dir G:.. => mostra il contenuto della cartella padre della cartella corrente
della UL G:
i comandi UNIX sono case sensitive per cui vanno scritti in minuscolo
ls
equivale a
ls .
ls .. => elenco il contenuto della cartella padre della cartella corrente
ls ../.. => elenco il contenuto della cartella nonna della cartella corrente
il separatore delle cartelle in unix è / mentre in DOS \
ls / => mostra il contenuto della radice
I percorsi relativi sono quelli che utilizzano . , .. oppure nulla
dir g:pioppo (è relativo) - SI RIFERISCE ALLA CARTELLA CORRENTE .
I percorsi assoluti sono quelli che utilizzano \ (in dos anche la UL)
dir g:\pioppo (è assoluto) - si riferisce aLLA ROOT
Inviato: 24/02/2014, 11:01
Tutti gli orari sono UTC
Pagina 1 di 3
I percorsi relativi esistono poichè consentono di costruire degli argomenti +
brevi. Esempio
Sia la cartella corrente di C: la cartella
"C:\Users\sechi.m\Desktop\Sechi non buttare - 2012\1° Modulo"
per vedere il contenuto mi basta scrivere
dir
Se dovessi usare il modo assoluto devo scrivere:
dir "C:\Users\sechi.m\Desktop\Sechi non buttare - 2012\1° Modulo"
lo " è necessario quando ho degli spazi negli argomenti. Lo spazio è
interpretato dal dos come delimitatore degli argomenti
IL NOME VERO DI UN FILE E' IL PERCORSO + IL NOME
"C:\Users\sechi.m\Desktop\Sechi non buttare - 2012\1° Modulo\PIOPPO.GIF"
E NON
PIOPPO.GIF
opzioni comando dir / ls
dir /s => opzione per visualizzare il contenuto della cartella corrente e le
sue sottocartelle
dir c:\ /s => opzione per visualizzare il contenuto di tutto l'UL C:
dir /p => mostra l'elenco una pagina alla volta
ls / -R => equivalente di /S (R sta per ricorsione!)
ls -a => mostra i files che iniziano con .
ls -l => mostra i files con i diritti di accesso
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/
Pagina 2 di 3
Brescianet.comSito di supporto alla didattica
http://lnx.brescianet.com/ScuolaForum2013/
5N - 2° Modulohttp://lnx.brescianet.com/ScuolaForum2013/viewtopic.php?f=3&t=22
5N - 2° Modulo - 25/2/2014da e01692
spiegato pwd (unix) e cd (equivalente dos)
la scelta della shell dipende dal set di comandi che mette a disposizione.
L'amministratore sceglie quella + consona alla sua esperienza
HELP
man <comando> fornisce l'elenco delle opzioni disponibili del comando
utilizzato
del man non è richiesta l'opzione di ricerca -k
man -k login
il comando passwd non è richiesta
man man ==> manuale dell'help online
comando --help => alternativa per l'help => in questo caso le frasi di aiuto
si trovano all'interno dell'eseguibile stesso
help in dos:
comando /?
help comando
nell'ambiente grafico (GUI XWindows) l'help è rappresentato dal comando XMAN
/bin => cartella dei comandi di sistema operativo (ad esempio ls)
l'equivalente dos/win di /bin è rappresentata da c:\windows
/dev => contiene i descrittori dei device (periferiche) utilizzabili dal SO.
/dev/sda
/dev/hda => dischi
le sigle dei device elencati negli appunti devono essere conosciuti.
/dev/null => device nulla
fdisk -l (opzione non richiesta per elencare le device di massa montate.
analogo comando df (disk free)
Inviato: 25/02/2014, 7:59
per utilizzare le periferiche devo montarle mediante il comando mount (in questo modo aggancio la periferica
ad una particolare directory del mio FS)
l'equivalente a grandi linee dos e subst
subst k: c:\windows => monta la UL k: agganciandola alla cartella c:\windows
riprendere dalla cartella /etc
5N - 2° Modulo - 27/2/2014da e01692
l'equivalente della cartella etc è rappresentata dal registro di sistema
(visualizzabile con il comando regedit {register editor}). All'interno di
questo files le applicazioni registrano le info relative alla loro
installazione
/home => c:\utenti o c:\users => cartella contenente le cartelle degli utenti
in win (non servente) le cartelle sono relative alla gestione multiprofile del
SO - In unix relative alla capacità multiuser del SO
nella programmazione le librerie sono sottoprogammi che svolgono operazioni
molto comuni che i programmatori riutilizzano per creare dei prg +
velocemente. Le API (DLL) solo le librerie del SO
/lib contiene le librerie condivise - In win le librerie sono in c:\windows
oppure inserite all'interno della stessa applicazione
processo => sinonimo di task => sotto prg in esecuzione (sono visibili con il
comando ps in unix e taskmgr in dos. La cartella /proc viene usata dai
processi per inviare comandi ad altri processi (esempio un processo di
ordinamento scrive di aver terminato in questa cartella in modo che un
processo di stampa in background possa partire con la stampa). Equivalente di
/proc in win è il registro di sistema
cartella /tmp => qui i prg registrano info temporanee che potranno essere
eliminate. in dos c:\temp mentre nei so multi profile la cartella utenti
contiene una cartella apposita per tale scopo di nome generalmente temp
/usr => non è quella degli utenti => equivale a c:\programmi
Inviato: 27/02/2014, 8:51
/usr/X11 => cartella contenete la gui XWIN
/usr/man => cartella contenente i files del manuale usati dal comando man
/usr/spool => file utilizzati dallo spooler
lo spooler è un prg che gira in background (demone) che riceve i dati da stampare e durante i tempi di
inattività manda le info necessarie per la stampa. Tramite lo spooler il so non deve aspettare il
completamento della stampa prima di riprendere il controllo.
Per evitare lo spooler (che talvolta genera problemi) in win occorre andare nella proprietà della stampante e
flaggare "invia direttamente i dati alla stampante")
5N - 2° Modulo - 6/3/2014da e01692
ricordarsi ITERAZIONE e RICORSIONE - comando pwd
ls -R
dir /S
Una funzione è ricorsiva se viene definita sfruttando se stessa
N!=N*(N-1)!
0!=1
N!=N*(N-1)*(N-2)!
N!=N*(N-1)*(N-2)*(N-3)!
...
N!=N*(N-1)*(N-2)*(N-3)*...*(N-N)!
N!=N*(N-1)*(N-2)*(N-3)*...*1
definizione iterativa del fattoriale
N!=N*(N-1)*(N-2)*(N-3)*...*1
somma dei primi N numeri
S(N) = 1+2+3+...+N
Per risolvere un problema devo svolgere una sequenza di istruzioni che si dice
algoritmo. L'algoritmo che ripete delle operazioni può essere ITERATIVO o
RICORSIVO
Tutte le volte che svolgo un'operazione da ... A ho un algoritmo di tipo
iterativo
Algoritmo di tipo iterativo relativo all'appello di classe
for i=1 to N
chiamoLoStudente(i)
next
Qualsiasi algoritmo di tipo iterativo può essere sostituito da un algoritmo
ricorsivo e viceversa
definizione ricorsiva della somma dei primi N numeri:
S(N)=N+S(N-1)
Inviato: 06/03/2014, 8:47
S(0)=0
utilizzando la definizione ottengo il seguente sviluppo
S(N)=N+(N-1)+S(N-2)
S(N)=N+(N-1)+(N-2)+S(N-3)
...
S(N)=N+(N-1)+(N-2)+S(N-3)+...+S(N-N)
S(N)=N+(N-1)+(N-2)+S(N-3)+...+S(0)
S(N)=N+(N-1)+(N-2)+S(N-3)+...+0
la ricorsione prevede sempre un punto di fine altrimenti lo sviluppo diventa
infinito
Gli algoritmo ricorsivo risulta estremamente compatto rispetto a quello
iterativo ma la sua lettura è solitamente + complessa
Procerura ChiamoStudent(Studente)
if not UltimoStudente
ChiamoStudent(StudenteSuccessivo)
end if
end procedura
algoritmo di elencazione ricorsiva delle cartelle
mostroElencoFile(CartellaCorrente)
Se Hosottocartelle(CartellaCorrente)
mostroElencoFile(SottoCartella)
S(N)=N*(N+1)/2 => espressione veloce per calcolare la somma dei primi N numeri
Principio di induzione => ipotizzo sia vera per N-1 se ottengo ancora la
stessa formula per N allora è vera per qualsiasi valore di N. Chiaramente
prima di procedere con l'ipotesi devo provarla per valori come 0, 1, 2 ,
esempio
S(N)=N+S(N-1)
ipotesi =>
S(N)=N+(N-1)*N/2
L'induzione è strettamente legata alla ricorsione
per il comando ls sapere le opzioni -a -R e -l
per il comando dir sapere le opzioni /P /S
5N - 2° Modulo - 10/3/2014da e01692
con il comando ls -l appaiono una serie di sigle davanti ad ogni riga
corrispondente ad un file/cartella
Analizziamo il significato del 1° carattere:
Inviato: 10/03/2014, 10:57
d => è una cartella
- => è un file
b => device a blocchi (esempio hda => hard disk)
c => device a carattere (esempio tty)
l => link (alterego di collegamento in GUI)
dal 2° aal 10 carattere ho i diritti di accesso.
I diritti vanno divisi a gruppi di 3
rwx r-x r-x
--- --- ---
Il primo gruppo riguarda i diritti dell'utente proprietario
Il secondo riguarda i diritti per i gruppi del proprietario
Il terzo riguarda i diritti per gli utenti restanti
x => IL FILE è ESEGUIBILE
w => IL FILE è MODIFICABILE
R => IL FILE è lEGGIBILE
- => nON HO QUEL DIRITTO SUL FILE
ricordarsi il significato del termine root (3 significati: amministratore,
gruppo amministratore , riferimento assoluto del FS)
MKDIR => COMANDO UNIX PER CREARE CARTELLE - IN DOS MD O MKDIR. i discorsi sui
percorsi relativi visti nel comando CD rimangono:
md pioppo => crea la cartella pioppo nella cartella corrente della UL corrente
md \pioppo => crea la cartella pioppo nella root della UL corrente
md f:\pioppo => crea la cartella pioppo nella root della UL F:
md k:..\pioppo => crea la cartella pioppo nella cartella precedente a quella
corrente della UL K:
In unix
mkdir /home/caio => crea caio nella cartella home
mkdir home/caio => crea caio nella cartella home che dovrebbe stare
all'interno della cartella corrente
opzioni di help le stesse viste in precedenza
per protezione rm o rmdir non elimina cartelle che contengono file
tree = in dos/unix => mostra l'albero delle cartelle
5N - 2° Modulo - 11/3/2014da e01692
cp =>copia
equivalente dos copy (xcopy)
copy filedacopiare nomedellacopia
esempio
copy pippo.txt caio.txt => duplica il file della cartella corrente di nome
Inviato: 11/03/2014, 8:00
pippo.txt nel file caio.txt e lo mette nella stessa cartella (corrente)
equivale a:
copy .\pippo.txt .\caio.txt
copy pippo.txt ..\caio.txt => duplica il file della cartella corrente di nome
pippo.txt nel file caio.txt e lo mette nella cartella precedente a quella
corrente
cp pippo.txt ../caio.txt (equivalente unix
copy k:pippo.txt \caio.txt => copia il file pippo.txt dalla cartella corrente
della UL K: nella root della UL corrente
copy pippo.txt \ => quando un comando non ha il nome del file di destinazione
allora viene usato il nome del file di origine (pippo.txt). Quindi il comando
copia pippo.txt (cartella corrente) nella root della UL corrente mantenendo
inalterato il nome
il vero nome del file è:
c:\pippo\caio\pluto.txt e non pluto.txt
c:\pippo\caio\pluto.txt
quindi è diverso da
c:\pippo\pluto.txt
copy pippo.txt .. => porto un duplicato nella cartella precedente a quella
corrente
copy \pippo\pippo.txt k:pluto => questo comando produce un effetto differente
a seconda del fatto che k:pluto sia un file o una cartella
A) se k:pluto non esiste allora il file originale viene duplicato nella
cartella corrente della UL k: con il nome pluto
B) se k:pluto è una cartella allora il file originale viene duplicato con lo
stesso nome nella cartella pluto sotto la cartella corrente della UL k: (con
il nome pippo.txt)
il comando copia in ambito grafico si traduce in un drag and drop combinato
alla pressione del tasto ctrl
mv => muove il primo file nel secondo
mv pippo.txt pluto.txt => rinomina il file pippo.txt in pluto.txt
supponiamo /home/rossi la cartella corrente
mv pippo.txt .. => sposto il file dalla cartella corrente a quella precedente
mantenendo il nome originale. In realtà l'operazione di spostamento da una
cartella ad un'altra si traduce in un rinomina da
/home/rossi/pippo.txt
a
/home/pippo.txt
il comando move in ambito grafico si traduce in un drag and drop
gli equivalenti dos di mv sono:
ren => per i file (ora funzia anche per le cartelle)
move => per le cartelle
rm nomefile => rimuove il file
-r => consente di eliminare in modo ricorsivo l'intero albero delle sotto
cartelle.
rm pioppo -r => elimina la cartella pioppo, tutti i files contenuti ed idem
per le sue sottocartelle
equilente dos
del pippo /S
cosa è il FS => collezione di prg e di regole usate dal SO per la gestione dei
files (esempio di regole è che i files possono essere organizzati in cartelle,
le cartelle possono avere sottocartelle etc.) I prg sono i comandi come cd, ls
, mv ....
comando chmod => setta i diritti di accesso
chmod 444 pippo.txt => setto per i 3 tipi di user (proprietario, gruppo proprietario ed altri) solo il diritto di
lettura
r-- r-- r--
chmod 124 pippo.txt => setto per i 3 tipi di user (proprietario, gruppo proprietario ed altri) in questo modo
--x -w- r--
chmod 756 pippo.txt => setto per i 3 tipi di user (proprietario, gruppo proprietario ed altri) in questo modo
rwx r-x rw-
esempio 3 => 1+2 applico i diritti -wx
esempio 0 => ---
chmod 700 pippo.txt => rwx --- --- => solo il proprietario può effettuare qualsiasi operazione.
il chmod può essere fatto dalla root o dal proprietario del file.
5N - 2° Modulo - 13/3/2014da e01692
la modalità modalità simbolica (+r ...) non è richiesta del chmod
Inviato: 13/03/2014, 8:48
a basso livello le cartelle/directory non sono altro che file contenenti elenchi di nomi di
file!
chi può cambiare i diritti di accesso è il superuser o il proprietario
whoami => dice chi è l'utente collegato (idem in windows). I comandi relativi a + user sono
validi solo se sono in ambiente windows. Nel dos (monouser) non esistono i comandi relativi alla
gestione degli utenti!!!
attrib equivalente monouser (dos) di chmod
attrib +nuovostato nomefile
esempio
attrib +h pippo.txt => rendo nascosto pippo.txt
attrib -h pippo.txt => rendo visibile pippo.txt
attrib +r pippo.txt => proteggo da modifiche pippo.txt
attrib -r pippo.txt => rendo modificabile pippo.txt
attrib +s pippo.txt => indico al SO che pippo.txt è un file di sistema
attrib -s pippo.txt => indico al SO che pippo.txt non è un file di sistema
attrib +a pippo.txt => indico che si tratta di un file archiviato
attrib -a pippo.txt => indico che si tratta di un file non archiviato
le opzioni possono essere combinate
attrib +r +h +s pippo.txt
l'attributo A serve solo a differenziare i files in modo che vengano selezionati con opportuni comandi (esempi
xcopy ....
5N - 2° Modulo - 17/3/2014da e01692
la modalità modalità simbolica (+r ...) non è richiesta del chmod
a basso livello le cartelle/directory non sono altro che file contenenti elenchi di nomi di
file!
chi può cambiare i diritti di accesso è il superuser o il proprietario
whoami => dice chi è l'utente collegato (idem in windows). I comandi relativi a + user sono
validi solo se sono in ambiente windows. Nel dos (monouser) non esistono i comandi relativi alla
gestione degli utenti!!!
attrib equivalente monouser (dos) di chmod
attrib +nuovostato nomefile
esempio
attrib +h pippo.txt => rendo nascosto pippo.txt
attrib -h pippo.txt => rendo visibile pippo.txt
Inviato: 17/03/2014, 10:58
attrib +r pippo.txt => proteggo da modifiche pippo.txt
attrib -r pippo.txt => rendo modificabile pippo.txt
attrib +s pippo.txt => indico al SO che pippo.txt è un file di sistema
attrib -s pippo.txt => indico al SO che pippo.txt non è un file di sistema
attrib +a pippo.txt => indico che si tratta di un file archiviato
attrib -a pippo.txt => indico che si tratta di un file non archiviato
le opzioni possono essere combinate
attrib +r +h +s pippo.txt
l'attributo A serve solo a differenziare i files in modo che vengano selezionati con opportuni
comandi (esempi xcopy ....
13/3/2014 5N
chiaramente in dos i comandi relativi agli utenti non esistono
spiegato
chown, chgrp
echo => mostra il messaggio passato come argomento - viene utilizzato nei prg batch per mostrare
avvisi e segnalazioni all'utente umano
batch => sequenza di comandi (di SO) che viene eseguita in modo sequenziale => utilizzato per
automatizzare operazioni ripetitive
cat => mostra il contenuto di un file testuale (equiv. dos type)
cat nomefile1 nomefile2 nomefile3 => mostra in sequenza il contenuto dei 3 files
more nomefile => mostra il contenuto di un file una pagina alla volta. Se il file è breve (meno
di una pagina) more e cat mostrano un risultato identico.
cut nomefile -c 2-5 => mostra del file di testo nomefile dalla 2 colonna alla quinta (permette
quindi di mostrare solo alcune colonne di un file o di un comando
richiedo cut - find - file - ln - sort - uniq
find => consente di cercare i file per nome o di mostrare le righe di un file che contengono una
determinata parola
ln => crea un collegamento
uniq => elimina le righe duplicate
5N - 2° Modulo - 24/3/2014da e01692
riprendere da wc => statistiche sul nr di parole, caratteri etc sul file passato come argomento
tar => tape archive => usato per il backup
gzip => consente di comprimere cartelle e files
Inviato: 24/03/2014, 10:57
gunzip => consente di scompattare un file compresso con gzip
df => diskfree mostra lo spazio disponibile sulle partizioni
du => diskusage : mostra il nr di blocchi utilizzato dalle singole cartelle/directory
processo o task => porzione di prg che viene eseguita per fornire funzionalità aggiuntive utili
a tanti programmi (esempio il processo del correttore ortografico è usato da tante applicazioni
come xls, word, powerpoint etc).
programma ed applicazione => prodotto che soddisfa in toto una particolare esigenza dell'utente
un'applicazione è fatta solitamente di tanti processi.
taskmgr => mostra le applicazioni attive e i processi.
ps => equivalente di taskmgr => mostra i processi attivi
Le colonne mostrate sono:
UID => user identifier => id dell'utente che ha attivato il processo
PID => process identifier => nr che identifica il processo
PPID => parent process identifier => nr che identifica il processo padre
TTY => terminale dove ho attivato il processo
I processi vengono attivati da altri processi. Tali processi si dicono padre.
STIME => ora di avvio del processo
TIME => tempo d'uso del processore
CMD => comando attivato
I comandi digitati nella shell hanno come processo padre la shell stessa
ps -ef => mostra tutti i processi attivi sulla macchina unix
ps -ef | grep 9196 => dell'output precedente mostra solo le righe che contengono la sequenza
9196
init => processo di bootstrap che viene attivato all'avvio della macchina. Ha pid 1 e non ha
padre (PPID=0).
xinetd => processo che gestisce in toto il TCP/IP sulla macchina UNIX
in.telnetd => demone servente delle sessioni telnet
quando un'utente si collega ad una macchina unix mediante un processo di telnet il demone crea
un processo di login per autenticare lo user. Se il processo di login ha successo il processo di
login crea un nuovo processo shell che consente l'utilizzo della macchina
vi ricordo che i prg che terminano per d sono demoni ovvero prg che girano in background (dietro
le quinte) e solitamente forniscono servizi come http, ftp oppure antivirus.
I demoni dei servizi tcpip sono httpd, fttpd, sshd ...
5N - 2° Modulo - 25/3/2014
da e01692
Il processo di fork duplica la zona di memoria del processo padre e la riempie con il contenuto
(in termini di istruzioni assembler) preso dal file su disco associato al comando che intendo
eseguire
kill -nrsegnale PID
kill manda segnali ai processi. E' utilizzato anche a livello di programmazione per
sincronizzare processi concorrenti che devono in qualche modo collaborare. Il segnale SIGKILL
(nr 9) è il segnale di terminazione di un processo
grep => comando che ricerca una parola all'interno del testo che sta analizzando e restituisce
le righe che contengono tale parola
yes => comando che mostra una serie infinita di y - Utilizzato per inviare conferme ai comandi
che richiedono all'utente una risposta prima di continuare l'esecuzione. Usato quindi nei
comandi batch (sequenza di istruzioni eseguita senza presidio umano) per evitare stati di stop
dovuti a richieste di conferma dei comandi eseguiti
esempio non richiesto
C:\Users\sechi.m>del /p putty.rnd
C:\Users\sechi.m\PUTTY.RND, Eliminare (S/N)?
... resta in attesa di un s
C:\Users\sechi.m>echo s|del /p putty.rnd
C:\Users\sechi.m\PUTTY.RND, Eliminare (S/N)? s
come si vede il comando del viene completato senza alcuna richiesta
ls > pippo.txt => comando > nomefile => riversa l'output del comando all'interno del file
nomefile
yes > pioppo.txt
yes > /dev/null => butta via tutti gli y che il comando yes produce
comando & => comando eseguito in background (dietro le quinte)
yes > /dev/null => il comando è in foreground (infatti non riesco + ad usare la shell corrente)
yes > /dev/null & => il comando è eseguito in background (infatti riesco ancora ad usare la
shell corrente)
fg => comando che porta in foreground un processo che era in background
Inviato: 25/03/2014, 7:58
Tutti gli orari sono UTC Pagina 2 di 3
bg => comando che porta in esecuzione in background un comando stoppato
5N - 2° Modulo - 27/3/2014da e01692
demoni processo in background che fornisce servizi => fingerd, httpd ,
...+
localhost => nome predefinito della macchina utilizzata (simile a
127.0.0.1)
localdomain => nome predefinito della rete utilizzata (simile a
127.0.0.0)
se ho in un file pippo.txt una sequenza di comandi unix con il comando
cat pippo.txt|bash => rieseguo in modalità batch tutti i comandi in esso
contenuti
spiegato hostname
date => mostra o setta (se superuser) la data - analogo in dos
comando1 | comando2 => l'output del comando1 viene riversato nel comando2
comando1 > file => l'output del comando1 viene salvato in "file"
lp => line printer
lpq => processo per la gestione della coda di stampa (spooler)
per stampare in unix devo scrive
comando | lp
ls | lp
equivalente dos - si noti che usa > poichè le device in dos/win sono
trattate come file
dir > lpt1:
non fare il comando pr
Powered by phpBB® Forum Software © phpBB Grouphttp://www.phpbb.com/
Inviato: 27/03/2014, 9:13
Pagina 3 di 3
Brescianet.comSito di supporto alla didattica
http://lnx.brescianet.com/ScuolaForum2013/
5N - 2° Modulohttp://lnx.brescianet.com/ScuolaForum2013/viewtopic.php?f=3&t=22
5N - 2° Modulo - 31/3/2014da e01692
demoni processo in background che fornisce servizi => fingerd, httpd , ...+
localhost => nome predefinito della macchina utilizzata (simile a 127.0.0.1)
localdomain => nome predefinito della rete utilizzata (simile a 127.0.0.0)
se ho in un file pippo.txt una sequenza di comandi unix con il comando
cat pippo.txt|bash => rieseguo in modalità batch tutti i comandi in esso contenuti
spiegato hostname
date => mostra o setta (se superuser) la data - analogo in dos
comando1 | comando2 => l'output del comando1 viene riversato nel comando2
comando1 > file => l'output del comando1 viene salvato in "file"
lp => line printer lpq => processo per la gestione della coda di stampa (spooler)
per stampare in unix devo scrive
comando | lp
ls | lp
equivalente dos - si noti che usa > poichè le device in dos/win sono trattate come file
dir > lpt1:
spooler => prg in background che legge i comandi (istruzioni) di stampa relativi alle ns
stampe e nei momenti morti invia alla stampante i comandi necessari a produrre i ns stampati.
lo spooler è una cache tra prg che stampa e stampante. Il prg che stampa non deve attendere la
fine delle stampe per proseguire
lpq decide chi deve stampare (solitamente usa il criterio fifo ma in alcuni casi da precedenza
ad utenti come il superuser!). E' un prg in background
ps => linguaggio postscript => descrive in modo vettoriale una pagina che voglio mandare in
stampa.
un file .ps è un file contenente comandi postscript. Un file ps è un file ascii o testuale
Inviato: 31/03/2014, 10:01
(apribile con notepad). Le stampanti postscript sono stampanti che conoscono tale linguaggio.
Il PS è stato inventato dall'adobe ed è alla base della creazione dei file PDF.
il PS e il PCL rappresentano dei metodi universali non dipendenti dall'HW per descrivere
qualcosa che mando in stampa. In altre parole sono portabili. Partendo dal PS l'adobe ha
sviluppato il formato PDF (portable document format) che consente di avere un file
visualizzabile su qualsiasi dispositivo anche senza avere il prg che ha creato tale file
non fare pr
img vettoriale => descrizione dell'img mediante formule matematiche => riduce sensibilmente la
banda necessaria per descrivere un terminale grafico.
VNC è un client XWindow (una delle GUI di UNIX - la + obsoleta!). Il client VNC e il server
VNCServer comunicano tra loro in modo vettoriale
RIDIREZIONI
comando > nomefile (mette l'output del comando nel file nomefile che prima di tutto viene ricreato {e quindi
se esiste viene azzerato!})
comando >> nomefile (l'output del comando viene accodato al nomefile)
comando < nomefile (il contenuto del file nomefile viene usato come input del comando )
5N - 2° Modulo - 3/4/2014da e01692
stdin => file di testo associato alla tastierastdout => file di testo associato al video
stderr => file di testo associato a messaggi di errore
comando > nomefile
equivale a
comando 1> nomefile
verrà catturato solo lo stdout
verrà catturato solo lo stderrcomando 2> nomefile
comando 1> nomfileoutnormale 2>nomeouterrore
comando1 | comando2 => l'output del comando1 viene usato come input del comando2
ls -lR / | cut -c 1 | sort | uniq
ls -lR / => mostra l'intero elenco dei files contenuti nel fs partendo da /
Inviato: 03/04/2014, 7:50
in generale un comando che opera su un file (esempio sort, cat, uniq ...) se non ha sul prompt
il file su cui operare lavora sullo stdin.
quindi
cat pioppo.txt => mostra il contenuto di pioppo.txt
cat => ripete quello che digito sullo stdin
cut -c 1 => ripete solo il 1° carattere di ogni riga che digito sullo stdin
sort pippo.txt => ordina il file pippo.txt
sort pippo.txt > ordinato.txt ?=> salvo in ordinato.txt il contenuto (ordinato!) di pippo.txt
sort pippo.txt -o ordinato.txt => uguale al precedente
uniq => toglie i duplicati da un elenco ordinato
META CARATTERI
* => identifica qualsiasi sequenza di caratteri (anche vuota)
* => identifica qualsiasi carattere (anche niente)
s* => qualsiasi parola che inizia per s
*s* => qualsiasi parola che contiene s*s => qualsiasi parola che contiene s
dir *.txt => elenco dei files testuali della cartella corrente
dir ??.txt => elenco dei files testuali della cartella corrente con un nome non superiore a 2
char
5N - 2° Modulo - 7/4/2014da e01692
riprendere vincoli meta sui nomi file
sapere cosa fa grep, finger, who (mostra elenco utenti connessi)
variabile d'ambiente => info di cfg utilizzate per personalizzare l'ambiente dove opero
set => comando per mostrare le variabili d'ambiente (in unix set, env e declare)
VARIABILI D'AMBIENTE => prompt => frase del prompt(punto dove la shell attende con ansia l'input dell'utente)
path => elenco delle cartelle di ricerca dove la shell cercherà i comandi richiesti sul prompt. Se un
comando (prg) non si trova in una di queste cartelle la shell risponderà con comando non trovato
Domanda: dichiarare una variabile cognome, inizializzarla con il vs cognome e mostrarne il contenuto in
unix
set cognome=Rossiecho $cognome
Inviato: 07/04/2014, 10:00
Domanda: dichiarare una variabile cognome, inizializzarla con il vs cognome e mostrarne il contenuto in Dos
set cognome=Rossi
echo %cognome%
i file che iniziano con . sono di cfg
.cshrc => cfg della shell csh
alias => comandi personalizzati in unix (chiamo un comando in un altro modo)
4 editor (1 per ambiente)1) DOS => EDIT
2) WIN => Notepad3) unix => vi
4) xwin => xedit
4 help
DOS comando /? help comandoUNIX man comando - comando --help
XWin => Xman
Win => F1
DTP => editoria elettronica.
Come erano i primi monitor grafici: Verticali per gestire meglio i fogli A4
Il SO della Xerox prevedeva un solo livello delle cartelle
sapere 4 app dell'ambiente kde
5N - 2° Modulo - 8/4/2014da e01692
domanda => collegarsi in ftp al server pioppo.it => user vs cognome passwd vs nome
spostarsi sulla cartella locale (ambiente win) c:\pioppo e su server (unix) in /home/vscognome sul servercaricare il file pioppo.doc - al termine uscire dall'ftp
1) Collegamento e Autenticazione2) Verifica posizioni locali e sul server
3) Cambio cartelle
4) upload/download con ascii/binary5) uscita
lcd c:\pioppo
cd /home/vscognome
lcd => controllo cartella localepwd => controllo cartella sul server
file ascii => file di testo privo di caratterizzazioni tipografiche.
alcune estensioni dei files testuali: .txt, .htm,.ps
comandi interni ed esterni e ricerca dei comandistampa con > e |
Inviato: 08/04/2014, 7:00
Tutti gli orari sono UTC Pagina 3 di 3
vantaggi cli
vantaggi CLI
1) consentono l'automazione delle operazioni2) sono + potenti poichè qualsiasi funzione del SO è richiamabile con le cli ma non è detto che lo siano
con le GUI
3) ripristino SO
4) richiedono poca memoria e linee di comunicazione ridotte in termini di performance
Svantaggio
1) molto difficili nell'uso => elevato knowhow.
Quale comando è corretto e perchè
ls > morels | more
il primo comando è errato poichè la ridirezione > elimina il file di destra (se sono root e sono in bin
perdo il comando more che viene sostituito con l'output di ls).
Quale comando è corretto (dos) e perchè dir >lpt1:
dir | lpt1:
il primo è corretto poichè per il dos la porta stampante è un file
Quale comando è corretto (unix) e perchè
ls > lpqls | lpq
ricordatevi che in unix il > non ha mai a destra il nome di un comando ma di un file
type con: > pippo.txt
salva in pippo.txt tutto quello che digito da tastiera (termino con ctrl+Z)con: => file DOS di sistema che identifica la tastiera
quale è il comando equivalente unix
cat > pippo.txt
con: => tastierausb01: => 1° porta usb
lpt1: => 1° porta parallela
Powered by phpBB® Forum Software © phpBB Grouphttp://www.phpbb.com/