Please enable JavaScript.
Coggle requires JavaScript to display documents.
LINGUAGGIO BASH, RICHIAMO ONION SKIN - Coggle Diagram
LINGUAGGIO BASH
TERMINALE
I primi terminali erano telescriventi (TTY), ovvero apparecchiature che stampavano i risultati dell'elaborazione su carta; successivamente si sono diffuse versioni a schermo.
Normalmente una distribuzione Linux per sistemi desktop avvia sette terminali di cui i primi sei sono shell testuali CUI, mentre il settimo è dedicato al terminale che ospita la sessione grafica GUI. Quando si avviano più sessioni grafiche, queste risiederanno nei terminali grafici successivi al settimo.
In campo informatico, un terminale è un dispositivo hardware elettronico che viene usato per inserire dati all'interno di un computer o di un sistema di elaborazione e riceverli per la visualizzazione.
Il concetto di terminale, nelle sue diverse implementazioni, costituisce l'interfaccia tra le applicazioni con interfaccia testuale e i molteplici dispositivi di visualizzazione che queste possono usare.
Ci si può spostare tra i terminali premendo ALT+Fx, dove “Fx” è il tasto funzione sulla tastiera e “+” significa contemporaneamente.
ALT+Fx Per muoversi tra i terminali
CTRL+ALT+Fx Per spostarsi dalla sessione grafica ad un altro terminale.
SHELL
TIPOLOGIE
"csh" o C shell: la sintassi di questa shell si combina con il linguaggio di programmazione C
"tcsh" o TENEX C shell: un superinsieme della comune C shell, con miglioramenti nella facilità d’uso e nella velocità
"sh" o Bourne Shell: shell originale, base, ancora utilizzata nei sistemi UNIX, dal nome del suo autore originario.
"bash" o Bourne Again Shell: shell GNU standard, intuitiva e flessibile; clone evoluto della shell standard di Unix (/bin/sh), conforme allo standard IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools, usata nei sistemi operativi Unix e specialmente in GNU/Linux (sistema multiutente e multitasking).
Multiutente indica che può essere utilizzato da più utenti contemporaneamente, attraverso vari terminali;
Multitasking significa invece che permette l'esecuzione di più processi contemporaneamente.
TIPOLOGIE COMANDI
"esterni" file contenenti programmi o script in formato eseguibile la cui esecuzione provoca la creazione di un nuovo task figlio della shell da cui sono avviati; (ls, grep, cat …)
"| - pipeline" commands operatore che consente di combinare più comandi, consente di prendere l’output di un comando ed utilizzarlo come input per un altro comando, ls | grep .txt (elenco di tutti i file con estensione .txt nella directory corrente.
"interni" (built-in commands) comandi elementari eseguiti direttamente nella shell, la loro esecuzione non provoca la creazione di un nuovo task poiché il codice fa parte dell'eseguibile stesso della shell; (cd, pwd, echo …)
"comandi di controllo di flusso" utilizzati per controllare il flusso di esecuzione dei comandi, if, else, for, while, case, break, continue e return
"comandi di gestione dei permessi" permette di gestire i permessi dei file e delle directory, chmod (modifica permessi), chowm (modifica proprietario), chgrp (modifica gruppo)
Programma che permette ad un utente di interagire con un sistema operativo leggendo ed interpretando i comandi che vengono inseriti dall'utente.
La shell, tipica dei sistemi Unix, legge i comandi riga per riga è cerca quei comandi nel sistema mentre un compilatore converte un programma in un formato leggibile dalla macchina, un file eseguibile.
CARATTERISTICHE
TAB - Completa automaticamente il comando Frecce su e giù - ripetono i comandi scritti in precedenza
CTRL+R - Cerca tra i comandi recenti
CTRL+H - Cancella il carattere a sinistra del cursore
CTRL+W - Cancella l'ultima parola digitata
CTRL+U - Cancella l'intera riga
CTRL+L - Equivalente al comando clear
CTRL+C - Termina il processo
CTRL+Z - Mette in Background il processo
CTRL+D - Termina l'input
CTRL+S - Ferma l'output a schermo
CTRL+Q - Riprende l'output a schermo
METACARATTERI Spazio - Separa gli argomenti tra i comandi Redirezioni (>,>>,<) - Gestiscono i flussi di input e output & - Fa eseguire un comando in background ; - Separa comandi nella stessa riga "" - Delimitano le stringhe di testo () - Raggruppano comandi
Le flag (opzioni) sono uno dei concetti fondamentali per l'utilizzo dei comandi nella shell, sono delle opzioni aggiuntive con cui eseguire un comando, per modificarne l'effetto rispetto a quello di default e il loro ordine non è significativo.
PERMESSI DI ACCESSO
ESEMPI
764 L'utente proprietario, la cui cifra associata è 7 (4+2+1) corrispondente a rwx, può leggere (r), scrivere (w) ed eseguire (x) il file. Il gruppo proprietario, la cui cifra associata è 6 (4+2+0) corrispondente a rw-, può leggere (r) e scrivere (w) il file ma non eseguirlo. Gli altri utenti, la cui cifra associata è 4 (4+0+0) corrispondente a r--, possono solamente leggere (r) il file.
"d rwx r-x r-x"
Sulla directory (d iniziale) l'utente proprietario (rwx, primo blocco da tre caratteri) può leggere (r), scrivere (w) ed eseguire il file (x). Sia i membri del gruppo proprietario che tutti gli altri utenti (r--, secondo e terzo blocco da tre caratteri) possono solamente leggere(r) il file. Esiste un altro modo per rappresentare equivalentemente i tre blocchi da tre caratteri della ACL, esso consiste nell'utilizzare solamente tre cifre ottali (da 0 a 7), es 775.
ACL di default dopo la creazione di:
File ordinari 644 cioè "- rw- r-- r--"
Directory 755 cioè "d rwx r-x r-x"
(Access Control List), una stringa di dieci caratteri logicamente ordinati che definisce i permessi di accesso al file. Si indica con un ottale per ogni gruppo di accesso che indica a quali permessi ha accesso
RICHIAMO ONION SKIN
LIVELLO 4
FILE SYSTEM
CLUSTER: unità minima di allocazione di un file su hard disk
DIRECTORY (cartella): contenitore di file e/o sottocartelle identificato da un nome. Serve principalmente a tenere in ordine i file racchiusi nella memoria di massa per agevolare la ricerca.
In un sistema UNIX il file system si sviluppa in una struttura ad albero e ...
gestisce in modo ottimale lo spazio disponibile della memoria di massa per le registrazioni degli utenti
garantisce all'utente l'accesso ai dati contenuti in un FILE
fornisce agli utenti meccanismi di protezione dei file, rispetto a interventi dannosi o non autorizzati
rende disponibile in modo semplice le operazioni di uso comune sui file (copia, elimina, rinomina, proprietà ...)
FILE:
Insieme di informazioni collegate tra di loro memorizzate su un supporto di memoria è identificato da:
icona che lo rappresenta (solamente nell’interfaccia GUI)
nome assegnato dall'utente che indica il suo contenuto - non si può usare / \ ? : * “ < > | (pipe) --> CASE SENSITIVE (riconosce i caratteri maiuscoli e minuscoli come differenti)
estensione "*.---" permette il riconoscimento del tipo di file ed è indicata di solito da tre/quattro caratteri posti dopo un punto dopo il nome.
bin: programmi binari (built-in) essenziali utilizzabili da tutti gli utenti
sbin: (superuser bin) programmi binari essenziali per l'amministrazione del sistema
boot: file necessari all'avvio del sistema quali il kernel ed i driver
dev: file speciali associati a dispositivi hardware
etc: file di configurazione
home: home directory degli utenti che hanno un account sulla macchina
root: home directory del root user
tmp: file temporanei
usr: file read-only
var: file che il sistema scrive durante l'esecuzione (log, spool, cache, ...)
LIVELLO 5
CUI / CLI (command user interface / command line interface): tipico dei OS a linea di comando dove l'utente impartisce i comandi in stringhe tramite la tastiera, come MS-DOS e UNIX tramite un TERMINALE.
UI (graphical user interface): tipico dei OS friendly user dove l'utente impartisce i comandi oltre che con la tastiera anche con dispositivi di puntamento (mouse, joystick, trackball, touch screen ...). Sul DESKTOP si possono avere oggetti grafici di vario tipo ICONE (piccole immagini), barre di strumenti, menù con liste di comandi e finestre che consentono un'interazione visuale immediata