Esempio di domande sul file system
|
|
|
- Gioacchino Carlini
- 7 anni fa
- Visualizzazioni
Transcript
1 Esempio di domande sul file system Si supponga che un file system usi blocchi di 4 Kbyte, e che un puntatore ad un blocco occupi 4 byte. Se l INODE di un file utilizza 12 blocchi, un blocco indiretto ed un blocco doppiamente indiretto, qual e la massima dimensione del file (in byte)? Si descrivano le tabelle utilizzate dal file system di Linux nel caso che un programma apra il file pippo.txt tre volte in modalita diverse (rispettivamente scrittura, scrittura e lettura) dopo che ogni apertura del file seguano rispettivamente una scrittura di 10 byte, una scrittura di 5 byte ed una lettura di 10 byte. Se il file contiene la stringa abcdefghilmno, come si modifica il file? Quali sono I 10 byte letti?
2 Esempi di domande sulla programmazione bash Scrivere uno script per scrivere le linee da n1 a n2 di un file dato con il simbolo di redirezione senza usare tail/head Scrivere uno script in Bash shell che lista tutti i file HTML di una directory. Per ogni file seleziona (se esiste) la riga <title> testo del titolo <\title> e scrive in un file l'informazione... file...(nome file) testo del... Scrivere uno script in Bash per calcolare il numero di occorrenze delle vocali in un testo. L'uscita è del tipo: la lettera a compare n1 volte la lettera e compare n2 volte la lettera i compare n3 volte la lettera o compare n4 volte la lettera u compare n5 volte Scrivere uno script in Bash per costruire una matrice di ordine N, con N dato come argomento in linea, inizializzare gli elementi con numeri random, e stampare la somma complessiva
3 Esempio di domande sui comandi di Linux Contare gli utenti registrati nel file passwd che appartengono al mio stesso gruppo cut -f4-4 -d: /etc/passwd while read l; do case $l in 65534) echo ok;; esac; done wc -l contare I processi che hanno cominciato ad eseguire alle 10:00 ps -ef while read l; do case $(echo $l cut -f5-5 -d" ") in "10:00")echo ok;esac;done wc -l contare I file del gruppo studenti in tutto il file system ls -R -l. cut -f4-4 -d" " grep studenti wc -l
4 Esempio di domande sulla protezione file Si abbiano i file pippo.txt e pluto.txt che appartengono a due utenti diversi appartenenti a gruppi diversi. I file pippo.txt e pluto.txt hanno le protezioni 600 e 400 rispettivamente. I due utenti eseguono poi i comandi ln s pippo.txt pippo1.txt ; chmod 304 pippo.txt ; chmod 444 pippo1.txt ln pluto.txt pluto1.txt ; chmod 304 pluto.txt ; chmod 545 pluto1.txt Può il proprietario di pippo.txt eseguire il comando cat pippo1.txt? può un altro utente appartenente allo stesso gruppo eseguire lo stesso comando? Può il proprietario di pluto.txt eseguire il comando cat pluto1.txt? Può un altro utente non appartenente allo stesso gruppo eseguire lo stesso comando? Chiamiamo RUID, EUID Real User ID ed Effective User ID. Si supponga che una directory di Linux contenga i seguenti file, dove l'unico file eseguibile è all: Filename Owner Group SetUID Owner Group Other a10.txt s rw r b10.txt rw rwc12.txt s rw rw c14.txt rw r r dati.txt s x r x all s x x x Si supponga inoltre che l'utente 15 sia nel gruppo 99 e che l'utente 25 sia nel gruppo 25. Rispondere alle seguenti domande: a. Quali file può leggere un processo con RUID=15, EUID=15, EGID15? b. Quali file può scrivere un processo con RUID=15, EUID=25, EGID=75? c. Quali file può leggere un utente con UID=25 GID=25 che esegue il programma all? Il file lista contiene il codice eseguibile di un programma che lista il contenuto di file testuali (l'uso del comando è quindi del tipo: $lista <file>). Il file lista è dell'utente Giulio, con UID=1500 e GID=2000, ed ha le protezioni 510. Per vedere le caratteristiche del file lista, l'utente Giulio effettua il comando: $ls l > dati Facendo $ls l dati Giulio vede che il file dati è ovviamente di Giulio ed ha le seguenti protezioni: 604. a) Può Giulio vedere il contenuto del file dati con il comando $lista dati? b) Cosa succede se Giorgio del gruppo 2000 scrive il comando $lista dati? c) Cosa succede se Giorgio del gruppo 2000 scrive il comando $lista dati dopo che Giulio setta il bit SetUID del file lista?
5 In un file system di Linux si consideri i file /home/mgiorgio/dati.txt, /home/mgiorgio/pippo.txt creati dall utente mgiorgio. Facendo ls -l emerge che le protezioni delle directory home, mgiorgio e del file dati.txt sono le seguenti rwxr xr x home rw r xr x mgiorgio r r xr dati.txt rw rwx w pippo.txt L'utente mgiorgio, può eseguire i seguenti comandi?: $ls /home/mgiorgio $ln s /home/mgiorgio/dati.txt /home/mgiorgio/dati1.txt $rm /home/mgiorgio/dati.txt $cat /home/mgiorgio/dati1.txt > pippo.txt Se l utente giulio appartiene allo stesso gruppo di mgiorgio, può eseguire gli stessi comandi? Si supponga che un utente del sistema Unix esegua il comando id e subito dopo il comando ls -l: $id uid=21132(mgiorgio) gid=10000(studenti) $ ls l total rw rw wx 1 mgiorgio studenti May rw r wx 1 mgiorgio studenti 7781 May r r r 1 mgiorgio studenti 775 Jan q w r r 1 mgiorgio studenti 1 Nov drwxr xr x 2 mgiorgio studenti 1024 Nov source lrwxrwxrwx 1 mgiorgio studenti 3 Jan ss > pse srwxrwxrwx 1 mgiorgio studenti 0 Jan 25 17:05 nomesocket Quale delle seguenti operazioni è permessa all'utente mgiorgio? $cat 10 $cat 2 $ls l >10 $cat /etc/passwd $cat /etc/shadow Un altro utente del gruppo può eseguire le seguenti operazioni? $rm 10 $rm 1q $rm 2 $cp $cp 1q 10 $rm /etc/passwd $rm /etc/shadow
6 Esempi di domande sul linguaggio C, strutture dati fondamentali, puntatori Scrivere un main in C che legge un file binario di 1000 numeri float e li memorizza in un array dinamico. Una funzione ne calcola il massimo ed il minimo che poi il main stampa. Scrivere un main in C che legge con read() un file binario di interi in un array bidimensionale 5x4 allocato in heap. I dati sono memorizzati nel file per righe. Il main chiama una funzione che stampa gli elementi della matrice. Scrivere un main in C che crea in heap e inizializza a piacere un array bidimensionale 5x6 di stringhe. Una funzione scrive per righe l'array su un file. Scrivere un main in C che crea ed inizializza in heap un array di 10 struct che rappresentano numeri complessi. Una funzione somma e visualizza I numeri.
7 Chiamate di sistema di linux per la gestione file Scrivere un main in C che legge un file di testo per righe e carica ogni riga in un array stringa. Cerca il punto iniziale della prima parola 'oggi' e la sostituisce con la parola 'ieri' direttamente sul file usando lseek(). Il main poi usa write() per scrivere sul file. Usare la funzione char *strstr(const char *str, const char *sub) che cerca la prima occorrenza della stringa sub in str. Usare lseek(fd,offsett,seek_set) cioè dall'inizio del file. Scrivere un main in C che apre due file di 1000 byte in lettura e scrittura. Legge il primo file e usando lo stesso descrittore copia il contenuto nell'altro file usando le SC read(), write() e dup2(source,dest).
Esempi di domande della seconda provetta
Esempi di domande della seconda provetta Data la seguente stringa di riferimenti a pagine virtuali: S = 1, 7, 5, 1, 2, 1, 7, 1, 5, 7, 2, 1, 5 valutare la percentuale di Page Fault se il rimpiazzamento
Lezione 2: Comandi avanzati della Shell di Unix
Lezione 2: Comandi avanzati della Shell di Unix Laboratorio di Elementi di Architettura e Sistemi Operativi 6 Marzo 2013 Parte 1: Metacaratteri, link e file speciali I metacaratteri La shell riconosce
La Shell di Unix. l utente impartisce i comandi al sistema digitandoli ad un apposito prompt;
La Shell di Unix La parte del sistema operativo Unix dedita alla gestione dell interazione con l utente è la shell, ovvero, un interfaccia a carattere: l utente impartisce i comandi al sistema digitandoli
Lezione 3: Programmazione della Shell di Unix
Lezione 3: Programmazione della Shell di Unix Laboratorio di Elementi di Architettura e Sistemi Operativi 2 Marzo 202 Parte : Soluzione degli esercizi Statistiche Ho ricevuto 2 soluzioni Tutte le soluzioni
Controllo degli accessi in UNIX
Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Anno Accademico 2013/2014 Controllo degli accessi in UNIX Andrea Lanzi 2014 Andrea Lanzi Controllo degli accessi in UNIX
Controllo degli accessi in UNIX - parte I
Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Anno Accademico 2012/2013 Controllo degli accessi in UNIX - parte I Srdjan Matic, Aristide Fattori 12 Aprile 2013 Srdjan
Permessi base e speciali in Unix-Linux
Permessi base e speciali in Unix-Linux Le autorizzazioni di base vengono assegnati utilizzando tre tipi di accesso: Lettura, scrittura ed esecuzione. Questi tipi di accesso vengono utilizzati per determinare
Linux e la shell Bash
DEI DEI-- Politecnico di dibari Linux e la shell Bash Esercitazione conclusiva G. Piscitelli - M. Ruta - A. Cinquepalmi Testi di riferimento: Linux e la shell Bash http://sisinflab.poliba.it/ruta/linux/linux
Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.
Esame Laboratorio di Sistemi Operativi 2-01-2008 Il compito è costituito da domande chiuse e domande aperte. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 1 ora. Domande chiuse:
Il sistema operativo LINUX Esercitazione 3. Esercizio 1. Esercizio 2. Esercizio 5 - Soluzione. Il sistema operativo LINUX Esercitazione 4.
Il sistema operativo LINUX Esercitazione 3 Esercizio 1 Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica Mostrare una lista
Shell BASH. Variabili Redirezione
Shell BASH Variabili Redirezione Variabili Scrittura/definizione: a=3 (senza spazi) Lettura: ${a} o semplicemente $a Esempi: > a=3 > echo $a 3 > echo $aa > echo ${a}a 3a > a=ciao pippo bash: pippo: command
Sistemi Operativi. Corso di Laurea Triennale in Ingegneria Informatica. Daniel Cesarini.
Sistemi Operativi Corso di Laurea Triennale in Ingegneria Informatica 3 Shell (prosecuzione) Permessi (prosecuzione) Gestione utenti (prosecuzione) Daniel Cesarini [email protected] www.iet.unipi.it/d.cesarini
Per visualizzare il valore di tutte le variabili d ambiente si usa il comando env
Tipi di Shell sh Bourne shell csh C shell ksh Korn shell bash Bourne Again (Bash) shell tcsh TENEX C shell zsh Z shell rc rc shell es es shell à csh e bash sono le più comuni. Per cambiare il tipo di shell
CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS
CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS Installiamo un programma Ci sono vari gestori dei pacchetti. ossia esistono vari programmi che servono a installare un singolo pacchetto in Installiamo
File System I parte. File System
File System I parte File System Dati e Programmi sono organizzati mediante una struttura di files e directories: file: collezione di dati directory: collezione di file o di directory Il file system possiede
Lab. di Sistemi Operativi - Esercitazione - Comandi Shell
Lab. di Sistemi Operativi - Esercitazione - Comandi Shell 1 - Esercizi Comandi Unix - 2 Esercizio n 0 0a) creare una cartella EsercitazioneLSO-1 nella directory di lavoro 0b) creare un file testo chiamato
SHELL: File e Filesystem
SHELL: File e Filesystem Obiettivi : - Usare i comandi per muoversi all'interno del filesystem - Copiare, spostare, rinominare file e directory - Usare i link - Visualizzare il contenuto di un file - Conoscere
Shell: variabili di sistema. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set
PATH Shell: variabili di sistema HOME USER PWD SHELL HOSTNAME HOSTTYPE Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set Shell: variabili di sistema Per visualizzare il
Laboratorio di Sistemi Operativi
II Semestre - Marzo/Giugno 2008 Matricole congr. 0 mod 3 File & Directory #include #include stat,fstat e lstat int stat (const char *pathname, struct stat *buf); int fstat (int
Esercitazione 1 la shell
Esercitazione 1 la shell Obiettivi Prendere confidenza con i comandi per la gestione del file system Utilizzare gli strumenti visti a lezione per creare tre semplici script bash File system 1/2 1. Verificare
- comando sort: con chiavi di ordinamento -
- comando sort: con chiavi di ordinamento - 1 - sort: chiavi di ordinamento - Tramite l'opzione -k è possibile definire una chiave di ordinamento su una porzione della linea contenuta nel file Specificando
