Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Appunti sulla programmazione e scripting bash, Appunti di Linux

Appunti sulla programmazione e scripting bash del corso di ambienti di programmazione e programmazione mobile erogato dal Professore Gianluigi Folino nell’accademico 2023/2024.

Tipologia: Appunti

2023/2024

In vendita dal 16/04/2025

Christian_Iuele
Christian_Iuele 🇮🇹

4

(2)

11 documenti

1 / 14

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
LINUX E
PROGRAMMAZIONE SHELL
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe

Anteprima parziale del testo

Scarica Appunti sulla programmazione e scripting bash e più Appunti in PDF di Linux solo su Docsity!

LINUX E

PROGRAMMAZIONE SHELL

FILE SYSTEM

Il (^) fil system di^ linux^ è (^) gerarchico (siforte dalla^ cartella^ di^ root"") e monte^ anche^ un^ fil system virtuale. ESEMPIO Di^ FILE^ SYSTEM GERARenico Di Linux :

ARCHITETTURA Di Linux

Idriver sono installati came meduli del Vernel

Le Librerie di^ sistema^ sono scritte^ in C.

Le distribuzioni son il Kernel

compreso

di librerie

Applicativi e^ Gui (^) &

Linux è un sistema sia multi-utente

ehe servier

Il virtual (^) fil system rende possibile la (^) gestione , tramite il Kernel di più fil^ system^ diversi. Una volta mantato è (^) compito del (^) Kernel

rendere accessibili le^ risorse al suo interno^ attraverso^ l'uso^ delle^ System coll.

MONTAGGIO Di UN FILE SYSTEM

Il (^) montaggia di^ una periferica si (^) fa attraverso (^) e comandi : maunt [denrier] (^) [dir

umount [denrier ? (Forse)? ] [dir]

Il (^) fil system eli monte (^) linux ad aggi è^

l'extr.

COMANDI Di^ BASE fino

  • > print working^ directory^ (stampa^ la (^) directory corunte) (^).

I path]

  • > change directory^ in^ risalgo l'alhera (^) gerarchico di^2 costelle touch (^) [ fil] -^ >^ Cra (^) un (^) fil verato (^) ma il (^) suo (^) varo (^) scopo è di

cambiare la data^ di^ ultima^ accesso e ultima modifica.

rm (^) [path] - conella^ il^ fil pressato tramite (^) path.

emdir

[path

  • (^) comelle le (^) directory passata tramite (^) path , Solo Se E^ WOTA. mu (^) [peths -^ muove il (^) Filedeter potet tramitenat e ef [poth]^
  • > Copria eat (^) [ (^) freth] -^ >^ visualizzi (stampe a^

video) il contenuto^ di file,

concatenate (^) file, (^) noste per la redirezione dell'110. more (^) speth I - >^ visualizzi^ /stampe a video)^ il contenuto^ di (^) filmma pagina la volta (^) ete ... man zcomandos - (^) ci fa vadere il^ manale del comando (^) specificato

head - n [numeros [file] - visualizza le

prime "numero"^ righ^ (-n)^ del (^) fil. tail - n Inumeros (^) [fil] - vitualizza le (^) ultime "numero" (^) righ (-n) del (^) fil. sort (^) I file] -^ ordina le (^) righe di^ un (^) file in ordine (^) alfabetico sort-n (^) [file] -^ ordina le (^) righe di^ un (^) fil in ordine (^) numerica (^) , ovvero secondo il colore (^) numerico di (^) ogni stringa. CARATTERI (^) JOLLY (WILDEARD) Trovano utilità^ nel^ filmome (^) globbing , un'operazione su^

insiemi di^ fil ehr

data un

espressione continente una (^) wildcord la (^) shell (^) verifica (^) quali fil ri (^) corrispondono , li raggruppa in (^) una lista (^) e la passa come^ orgamento al (^) comando (^) dell'espressione. ELENeriaMali · (^) * ->^ indica (^) o (^) , e (^) o più

caratteri.

·?- indica

un solo^ carattere^ &

· Il -> estremi di

possibili sol.^ o^ intervalli^ ES^ :^ [A-z]^ o^ [bianco^ ,^ neco]

· - - tutto tranne ciò che la

segue ,^ Es^ parde con^ iniziale^ a^ eb^ :^ ~[a^ ,^ b^

REDIREZIONE I/O

È la capacità di (^) modificare la standard injut (passaggio^ di parametri da linea di^ Comanda) (^) , la (^) standard (^) autput (stampa a^ videa)^ e^

la standard

errar(stampa a^

video) di^ una a

più

comandi in

frife.

  • FILE DESCRIPTOR :

· ① standard

inft

· e standard

output

· Standard errar

  • OPERATORI Di (^) REDIREZIONE NB: = (^) è il (^) file (^) descriptor della^ standard (^) errar (^) , in (^21) 20e sono (^) "impliciti. Esempio (^) : Caprior la^ prime 5 righ da^ franca a prova-copie

had -n 5 parava. Ext >

para-copia Vediamo che (^) la standard (^) eutput di (^) had-n (^5)

paraca.^ Ext

sorchla stata^ la (^) stampa a video^ ma com's'la abbiamo rediretto nel (^) file (^) prova - cofie . · Voglia mettere^ insieme^ un^ libro^ composto

da 5

capitali che ho sul desktop. Leat è (^) cio che (^) fa al (^) casa mostro! ) eat cope cope 2013 20pet^ cofash)^ libro-completo Abbiamo (^) dunque concatemato i copritali dal^0 al^5 e^ scritti^ im "Append" (^) grazie a^ su^ libro-completa invece^ che^ stamparli a^ video, in (^) oppand perché magari contenera^ già una introduzione.

tree -^ >^ mi La vider l'albero delle (^) directory (fil system) Sudo [comando 3 -^ >^ sudo (^) mi (^) fa divuntore root solorper

eseguire un^ determinata^ comando^.^ ES:^ sudo^ aft-get^ install^ [prag.

In

-s[path] -Ce^ un^

link (In)

simbolicas)alpath^ impit

ehmad [modos^ [fil] -^ cambia il^ permesso in

specificato - · Madi possibili ! (^) (u, g ,^0 ,^ a)x(Iw^ =^ c^ =^ x) Esempio : ehmad^ g-ro-r (^) france.^ Ext^ -^ ora graup

e athias^ non leggano.

· Esiste anche una variante di chimed con la

codifica attale. · L'opzione

  • R (^) Cambia i

permessi in^ maniera^ ricorsiva^ alle^ sotto^ cartelle.

echo [testo] -^ >

stampa a^ video il (^) testo inseritor. Attenzione uniq

I file

  • (^) elimina le righi adiacenti^ uguali,^ duplicate. wa (^) [file] -^ >^ conta^ (righe,parae^ I caratteri^ e^ byte)^ &Ris^ :^ numera^ nomeSile

graf [parala]^ [file]^

  • (^) ti da le (^) righe dovre (^) è contenuta (^) la (^) parola (RICEres)

Saf

  • V (^) [parala] [fil] - >^ ti da tutte (^) le (^) riglia dove (^) non e' è lafarda. Cut [ (^) Sib] -^ > tagliar le^ colonne^

di un fib.

Vill [PIDI -^ monda al

processo con il piD specificato un^ segnale^ d'uscita. alios (^) Sa un dias dei Comandi (^) (approfondisci se serve

PROGRAMMAZIONE SHELL

BASH =^ Born^ again shell

serivando bash sul terminale si cambia^ la shll in una bash.

namo (^) programma.^ Sh ehmad (^) v + X programme.^ Sh · / programme

. Sh Quindi il (^) file. sh è un (^) esequilib. IMPORTANTE echox - > stampe it carattere (^) x echo (^) $x - > stampa il valore di (^) x echo-m -^ non va a capa dopo la (^) stampa (utile -1 prima di^ rad) rad [variabile] - legge (^) qualcosa da tastiera e la^ mette nella variabile. OPERAZIONI MATEMATICHE Le operazioni matematiche^ si^ fanno^ con^ il^ comando^ let^.^ Ad^ esempio :^ $h+^ x^ =^ $x^ +

FILE . Moshre (bash run commands)

È il

fil el^ viem^ eseguito in^ automatico^ quando (^) apra la^ shell^ bash Si TROVS NELL (^) HOME (2)

Inboshre

posso inserire (^) icomandi^ eu^ cros e personalizzare

la shell.

VARIABILI D'AMBIENTE

Sono variabili che^ contengono info utili^ per configurazioni^

di runtime di

afat e processi

. A (^) seguire alcuni^

esempi

di (^) variabili d'ambiente.

· USER - > nome utente

· HostName - > (^) Mone dell'host · HostType - > tipor dell'host · PWD - (^) Cortella (^) corrente · HOME - (^) home dell'utente · PATH -- percorsoi^ predefinitati^

dava stanno gli eseguibili (anche i Comandil

~ il^ dus^ punti^ nella^ shell^ è^ il^ separatore^ di^ costelle.

Patr = $PATH :.così dica alla shell di aggiungere a Patr la directory corrente.

PAn (^) Cis' Esistenti Yaih in Più Che Aggiungo^ io^ /se^ mette^ altri : (^) passo-agg.^ altri^ path ancora

exit e (^) eser dal^

programme

con mare di^ codier^1.

Nelle condizioni si

passava usar^

anche :

  • f mi die (^) se esiste il file indicato
  • d (^) mi die (^) se esiste (^) la (^) directory indicato
  • 2

-Mein-

X

  • (^) Z mi die se la (^) stringa è nella Cielo WhiLE STRUTTURA :

While I spazio condizione spazio]; don

dove ESEMPIO : X =^0 while [$X-It (^103) ; do echo "ciro (^) siamo a $X" ht x = $x+ 0 dane CICLO FOR

È un ciclo enumerator

STRUTTURA : for i^ in^ ... : do dome ESEMPIO :

nomi = "piffo topalina pluto orazio massimino"

for i^ in^ $mami^ ; do

echo "Ciao $ :^ " dane

VEVAGLIANZA TRA STRINGUE

if In^ $stringa 1v^ =^ stringer] ; then else

fi

CASE STATEMENT

STRUTTURA : CaseMariabile)^ in cosae) Comandi (^) ;; cosoe) comondi^ ;; :

  • comandi (^) casa (^) default esal ESEMPIO : case (^) $nomefile in

*. Sonra) echor "Fil Jonra" is

* Sh) echo "File

script shell" (^) i;

. Ext)^ echo.^ "File^ di^ testo"^ ;;

(^) echo "Altro (^) tipo di^ fil" is

esal FAi i^ Servizi

sed 'Teamondi^ _ sed]/expr-dalambian/nuova_ expr/[Dopmug]' ret] -^ il comanda^ sed sostituisa^ perde , concella [fil-inf

righe ste^ .....l'ultimo^ se^ non^ messo^ nulla^ ①^ visme^ cambiata^ solo

la prima parda (per^ Hyp),^ mentre (^) se misso (^) & (global) (^) vangano cambiate tutte le parde e^ non^ solo^ la^ prima secorrenze.

Comandi di sea :

Opzioni

di sed :

NB:^ Il comendo^ sed^ non (^) modifica direttamente^ il (^) file originale ma crea un (^) fil (^) temporaneo che^ viene poi trasferito all'originale,^ non^ se^ purchi me^ mi^ sta^ dando^ problemi nella serif , provo ad^ usare^ l'ep-i^ casi^ da (^) lavorare in moda^ dirette.

LA VARIABILE D'AMBIENTE IFS La variabile (^) d'ambiente (^) IFS (Internal Field (^) Separatar) rappresenta i caratteri che

separana

i diversi^ parametri tra di^ loca. Di (^) default esso-i =^ Tab/lt) (^) Spacell NEWLINE ((m)

Per mestre comodità^ essa si

può modificare^ pu^ poi ripristinare il suo volar^ dopo l'utilizza. ESEMPIO :

# ! /lin/bosh

old-IFS =^ "SIFS" IFS =^ : echo "Inserisci tre dati (^) separati da due punti" rad (^) + (^) Y z IFS =^ "Bod-IFS"

echo"x e$X , y i $y , z i Bz"

ESPANSIONE DEI PARAMETRI

Essa è una caratteristica della bash che

permette

di manipolare

e attener^ infor dall^ variabili^ in^ moda^ lier

semy

· $ 3 parametro =^ parametro -^ viene^ riformato^ il^ val^ delforam. · $ (^3) string -^ ritorna^ la^ lunghezza^ della^ stringa.

· $ Estring

substring^3 -- rimuove^ la^ vandenzapiù lunga di^ $substring

corrist dalla (^) parte anteriore di (^) $ string. (UTILE (^) Per Le Estensioni (^) substring =*^ ⑧ (

· $ Estring

#substring3- rimuove^ la^ corrispondenzapiù carta^ di$substring dalla (^) parte anteriore distring.

· $ Estring

substring3-^ rimuove^ la^ corrispondenzapiù lunga di$substring dalla (^) parte posteriore di $ (^) string. (UTILE (^) Per solo i Nomi (^) substring =. * )

·Estringsubstring3- rimuove la

corrispondenzapiù^

carta di$substring

dalla (^) parte (^) posteriore di $ (^) string.

ARRAY

È (^) possibile dichiarare^ array e usarli sempliamente scrivando : array [0]^ =^ -- araye (^) casecos