Sistemi Operativi 1. Mattia Monga. a.a. 2012/13. Dip. di Informatica Università degli Studi di Milano, Italia

Documenti analoghi
Sistemi Operativi 1. Mattia Monga. a.a. 2016/17. Dip. di Informatica Università degli Studi di Milano, Italia

Sistemi Operativi (Laboratorio)

Sistemi Operativi 8 Laboratorio linea 2

Sistemi Operativi. Bruschi Monga Re. Dischi virtuali Esercizio. Concorrenza Semafori. Sincronizzazione con monitor pthreads. I-node.

Manipolazioni elementari di flussi di testo strutturati

Sistemi Operativi. Bruschi Martignoni Monga. Altre periferiche fondamentali Hard disk Terminale. Sistemi Operativi. Bruschi Martignoni Monga

Sistemi Operativi, Secondo Modulo, Canale M Z Riassunto della lezione del 29/02/2016

Ulteriori comandi sui file

Il sistema operativo UNIX/Linux. Soluzione di problemi mediante script Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

Lezione 2: Comandi avanzati della Shell di Unix

Archiviazione, ricerca dei file e pianificazione dei processi

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA

Mirko Mariotti. March 9, 2009

Sistemi Operativi 1. Mattia Monga. a.a. 2013/14. Dip. di Informatica Università degli Studi di Milano, Italia

Lab. di Sistemi Operativi

Il sistema operativo LINUX Script di Shell

Lavorare in ambiente UNIX. Prompt dei comandi (shell) Pipe e filtri (I/O) Tips and tricks

Shell BASH. Variabili Redirezione

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

Linux e la shell Bash

Lezione 15 File System

Sviluppare un programma in FORTRAN

Mini-Corso di Informatica

LabVIEW parte II. Ing. Gianfranco Miele November 3, 2010

Variabili e Metodi di classe Interfacce e Package Gestione di File in Java

Modulo informatica di base 1 Linea 2

Laboratorio in C su Processi e POSIX IPC (Inter Process Communications) Dalla nona lezione di laboratorio in avanti

Introduzione all uso dei laboratori aka Linux basics. October 23, 2013

Elaborato Shell. Elementi di architettura e sistemi operativi 2016/2017

File System ext2. Struttura del filesystem ext2.

File System. Capitolo Silberschatz

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1

Gestione avanzata dei file

MICROSOFT EXCEL FORMULE E FUNZIONI

Gestione dei file. Stefano Ferrari. Università degli Studi di Milano Programmazione. anno accademico

Informatica di Base 1 Linea 1

Funzioni, Stack e Visibilità delle Variabili in C

Sistemi Operativi. Bruschi Monga Re. Sincronizzazione con monitor pthreads. Shell Shell programming Esercizi I/O Esercizi Tabella riassuntiva

Lezione 3: File di input, File di output

Gestione di files Motivazioni

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

L interfaccia command line di Ubuntu è il Terminale che usa un sistema command line detto bash.

Codice Corso: UNX010. Durata: 3 giorni

Corso di Fondamenti di Informatica

MANUALE UTENTE UPLOADER JAVA

Lezione 3: Programmazione della Shell di Unix

Istallazione di Java - Uso delle librerie

Il terminale per tutti

La Shell di una distribuzione GNU/Linux

Programmazione Orientata agli Oggetti in Linguaggio Java

Sistemi Operativi 1. Mattia Monga. 11 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Stringhe e allocazione dinamica della memoria

Gestione risorse (Windows)

Laboratorio di Python (con Linux)

3. Le routine evento in Access 2000/2003

IDE DevC

Linguistica Computazionale: esercitazioni

Sistemi Operativi III. Giorgio Richelli giorgio

Text files, streams. I file che ci interessano sono file di testo. anche se, logicamente, contengono numeri o altro

Directory. Le directory unix sono file.

Laboratorio di Elementi di Bioinformatica

Corso di avvicinamento al Software Libero

Costrutti condizionali e iterativi

Corso ForTIC C2 LEZIONE n. 5. I principali comandi utente e il loro uso Pipeline e ridirezioni

5 - Istruzioni condizionali

Lesson #6. Miscellaneous. Roberto De Virgilio

<Nome Tabella>.<attributo>

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C

r fattore di ripetizione w ampiezza di campo m numero minimo cifre da visualizzare d numero cifre decimali Print e Read I/O in Fortran sintassi

Interfaccia a Linea di Comando di Windows (Prompt dei comandi) Dott. Ing. Giuseppe Serano

Introduzione a Visual Studio 2005

GLUG Govonis. Corso Avanzato GNU / Linux. Lezione del Shell

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 2 10/10/2012 Lezione 3 17/10/2012

Il formato delle ricette Convenzioni tipografiche Versioni, ultima edizione ed errata corrige

Espressioni Regolari. Giancarlo Massidda

Comandi principali di Linux (1)

Modulo III - Creazione di documenti, presentazioni e report

Fortran in pillole : prima parte

Utilizzo di putty. L uso base e molto semplice: richiede solo di specificare:

Formattazione avanzata. I/O Avanzato e File. Formattazione dell output. Formattazione avanzata. Forma completa degli specificatori

Laboratorio di Python

Linux: Organizzazione filesystem

UD 3.2b: Programmazione in Pascal (1)

Linguaggi di Programmazione: Paradigmi di Programmazione

I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002

Esecuzione di script

Laboratorio di Informatica - Lezione 1

Linguistica dei Corpora (2) Lezione 3: Manipolare testi (non solo con cqp)

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita

Lab 1: Marzo 2013

Java il Corso Fondamentale

IL PRIMO PROGRAMMA IN C

Scopo. Costruire un firewall solido. Meno software possibile. Più semplice da configurare possibile. Più affidabile possibile. Riduzione dei rischi

Excel & VBA. Excel e Visual Basic for Application

A = Quindi > b=a(:) b =

Basi di Linux per GRASS. Cartografia numerica e GIS

TS-CNS Manuale Installazione Linux 2013

ls = list in linux i comandi sono tutti in inglese, tramite abbreviazioni

Transcript:

1 Mattia Dip. di Informatica Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2012/13 1 cba 2011 13 M.. Creative Commons Attribuzione-Condividi allo stesso modo 3.0 Italia License. http://creativecommons.org/licenses/by-sa/3.0/it/. Immagini tratte da [?] e da Wikipedia. 1

283 Lezione XV:

284 Per selezionare file con determinate caratteristiche si usa percorso predicato Seleziona, nel sottoalbero definito dal percorso, tutti i file per cui il predicato è vero Spesso usato insieme a a xargs percorso predicato xargs comando funzionalmente equivalente a comando $( percorso predicato) ma evita i problemi di lunghezza della riga di comando perché xargs si preoccupa di spezzarla opportunamente.

285 Due espressioni idiomatiche Spesso si vuole fare un operazione per ogni file trovato con. L espressione piú naturale sarebbe: 1 for i in $( percorso predicato); do 2 comando $i 3 done Questa forma presenta due problemi: può eccedere la misura della linea di comando e non funziona correttamente se i nomi dei file contengono spazi

286 Due espressioni idiomatiche Un alternativa è 1 percorso predicato print0 xargs 0 n 1 In questo modo ( print0) i file trovati sono separati dal carattere 0 anziché spazi e xargs è capace di adattarsi a questa forma. Un alternativa piú generale che mostra la potenza del linguaggio di shell che non distingue fra comandi e costrutti di controllo di flusso (sono tutti comandi utilizzabili in una pipeline) 1 percorso predicato while read x; do 2 comando $x 3 done read x legge una stringa e la assegna alla variabile x.

287 Esercizi 1 Trovare il file piú grosso in un certo ramo 2 Copiare alcuni file (ad es. il cui nome segue un certo pattern) di un ramo in un altro mantenendo la gerarchia delle directory 3 Calcolare lo spazio occupato dai file di proprietà di un certo utente 4 Scrivere un comando che conta quanti file ci sono in un determinato ramo del filesystem

288 Un archivio archive è un file di file, cioè un file che contiene i byte di diversi altri file e i relativi metadati. (Cfr. con una directory, che è un file speciale, che sostanzialmente contiene solo l elenco dei file) ar L archiviatore classico, generalmente utilizzato per le librerie (provare ar t /usr/lib/i86/libc.a tar Tape archive, standard POSIX tar cvf archivio.tar lista files Gli archivi possono essere compressi con compress o, piú comunemente, con gzip o bzip2 I file.zip sono archivi compressi.

289 Altre utility Altre utility standard di cui è bene conoscere almeno l esistenza Prog. (sez. man) Descrizione uniq (1) report or omit repeated lines cut (1) remove sections from each line of files tr (1) translate or delete characters dd (1) convert and copy a file stat (1) display file or file system status tee (1) read from standard input and write to standard output... basename (1) strip directory and suffix from filenames dirname (1) strip non-directory suffix from file name sed (1) stream editor for filtering and transforming text seq (1) print a sequence of numbers Inoltre è molto utile conoscere le espressioni regolari (man 7 re format), usate da grep, sed, ecc.

290 Esercizi 1 Creare un archivio tar.gz contenente tutti i file la cui dimensione è minore di 50KB 2 Rinominare un certo numero di file: per esempio tutti i file.png in.jpg 3 Creare un file da 10MB costituito da caratteri casuali (usando /dev/random) e verificare se contiene la parola JOS 4 Trovare l utente che ha il maggior numero di file nel sistema 5 Trovare i 3 utenti che, sommando la dimensione dei loro file, occupano piú spazio nel sistema.

291 Link http://www.gnu.org/software/fileutils/ fileutils.html

292 Aggiungere un disco in QEmu Fuori dalla macchina virtuale qemu img create disco.img 100M Poi può essere usato aggiungendo hdb disco.img In generale (anche al di là delle macchine virtuali) un file può facilmente essere usato come disco : i loop device servono proprio per utilizzare un file (che è uno stream di caratteri) come device a blocchi 1 dd if=/dev/zero of=prova.img seek=10m bs=1 count=0 2 /sbin/mkfs prova.img 3 sudo mount o loop prova.img /mnt 4 echo ciao > /mnt/pippo 5 sudo umount prova.img