I/O redirection AND PIPES

Slides:



Advertisements
Presentazioni simili
SC che operano su processi
Advertisements

Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi – La shell Salvatore Campagna Politecnico di Torino Dipartimento di Automatica.
1 Chiamate di sistema Introduzione Errori : perror() Chiamate che lavorano su file.
Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo Approfondimenti di C, Stringhe e file 13 Stringhe.
Script bash I file di comandi in Linux. BASH  Bourne Again Shell  Modalità interattiva o batch (file di comandi)  Ambiente di programmazione “completo”
Per gli approfondimenti sui vari punti affrontati oggi verrete indirizzati alle pagine degli “Appunti di informatica libera” ospitati nel sito:
CORSO AUTOGESTITO DI GNU/LINUX Riprendi in mano il TUO sistema Riprendi in mano il TUO futuro BASH SCRIPTING.
Breve introduzione alla Bourne Again Shell (bash) Parte II ● Francesco Rossi – –
1 © F. Pedullà, M. VerolaAA La Shell LSO1 Modulo 2 La shell Laboratorio di Sistemi Operativi I Anno Accademico Modulo 2 La.
1 Corso su Bash GL-COMO 03/ Shell Kernel Shell/ GUI Utente Perché?! ● Velocità/performance ● Richieste di software praticamente nulle ● Operazioni.
Huffman Canonico: approfondimento. Come abbiamo visto, Huffman canonico ci permette di ottenere una decompressione più veloce e con un uso più efficiente.
1 ELEMENTI DI INFORMATICA Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Linguaggio C A.A. 2011/2012
1 Amministrazione di base del sistema Cristina Moretto Corso Base LinuxTrent
Amministrazione di reti di calcolatori - Massimo Bertozzi Shell e scripting.
.  I tipi di dati non primitivi sono gli array, le struct e le union.  Gli array sono degli aggregati di variabili dello stesso tipo.  La dichiarazione.
Basi di dati - Fondamenti
Ambienti di Programmazione per il Software di Base
“Vivere insieme” – Lezione6
A cura dell’Ing. Buttolo Marco
“Vivere insieme” – Lezione6
I PROCESSI.
Corso LAMP Linux Apache Mysql Php
Cosa succede quando premi invio
La rappresentazione delle informazioni
Terza Lezione → Navigare nel file System → parte 2
Tutorato Elementi di Informatica 2013
Script Marco D. Santambrogio –
PROGRAMMAZIONE BASH - INTRODUZIONE
Tutorial help.ebsco.com.
SC per IPC Pipe.
I PERMESSI IN LINUX.
Seconda lezione → Navigare nel File System
INTRODUZIONE ALLA SHELL
I comandi.
“VIRTUAL BOX E CONDIVISIONE FILE”
Excel 1 - Introduzione.
Ambienti di Programmazione per il Software di Base
Giordano Scuderi Unico SRL - Messina,
Organizzazione fisica
ai termini e ai principi informatici utili per utilizzare Linux
IUManji Progetto di Interazione Uomo Macchina.
FORMULE E FUNZIONI SU EXCEL
Tipo di dato: array Un array è un tipo di dato usato per memorizzare una collezione di variabili dello stesso tipo. Per memorizzare una collezione di 7.
PROGRAMMAZIONE BASH – ISTRUZIONE IF
Informatica per l’Ingegneria
Tipi di Shell sh – Bourne shell csh – C shell ksh – Korn shell
SAS® OnDemand for Academics SAS Studio
Basi di dati - Fondamenti
Claudio Rocchini - Interfacce
4.
Ambienti di Programmazione per il Software di Base
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
File System ed Input/Output
I fogli elettronici Microsoft Excel.
Sommario comandi su files e directories
Progetto 1 Input Creare una Funzione commentata che prenda come input:
APPUNTI SUL LINGUAGGIO C Esercizi su File e Alberi Binari
Excel 3 - le funzioni.
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Metacaratteri Il carattere * indica un tipo ed un numero qualsiasi di caratteri Per copiare tutti i file che iniziano per “hemo” nella directory dir %
Programmazione e Laboratorio di Programmazione
Unità 1 Programmi base.
PowerShell di Windows PowerShell è un shell che mette a disposizione un prompt interattivo e un interprete a riga di comando , per le sue caratteristiche.
Programmazione e Laboratorio di Programmazione
Full Text Finder, panoramica di Publication Finder
Transcript della presentazione:

I/O redirection AND PIPES

STDIN, STDOUT, STDERR In Linux tutto è un file, di conseguenza Stdin (un canale per l'input dei programmi, potrebbe essere anche un file) Stdout (un canale per il risultato dei programmi) Stderr (un canale per l'elenco degli errori dei programmi) A livello predefinito stdout e stderr non vanno in un file, affinché finiscano in questo si usa la tecnica chiamata redirection

Ridirezione dell'output comando > nome_file Esempio ls /home/luca > ls_result.txt proviamo invece a generare un errore (poniamo che /home/pippo non esista ls /home/pippo > ls_result.txt ls: cannot access /home/pippo: No such file or directory (l'errore però non è finito nel file, che rimane vuoto, ma è andato nella standard error) Il file però si è sovrascritto e se vogliamo che i risultati dei vari comandi si aggiungano uno sotto l'altro? (v. slide successiva)

Ridirezione dell'output ls /home/pippo >> ls_result.txt In questo caso l'operatore >> non sovrascrive il file precedente se esiste già, ma si posiziona alla fine del file e comincia ad accodare il nuovo contenuto.

Ridirezione degli errori ls /home/pippo 2> file.txt In questo caso si usa il file descriptor 2 (codifica utilizzata internamente dalla shell per accedere ai 3 diversi canali) che si riferisce allo stderr Lo stdin presenta il file descriptor 0 Lo stdout presenta il file descriptor 1

Stdout e stderr in un solo file /home/luca/pippo > ls-output.txt 2>&1 /home/luca/pippo &> ls-output.txt /home/luca/pippo &>> ls-output.txt

Gestire i messaggi indesiderati ls -l /bin/usr 2> /dev/null

Redirezione stdin cat nome_file_1, ….., nome_file_n cat senza argomenti Prende in input del testo e lo restituisce nello stdout Fino a che non si preme CTRL+D cat > file.txt

Pipelines comando1 | comando2 Lo standard output del comando1 diventa lo stdin del comando2 Esempio ls /home/luca | less

uniq Accetta una lista già ordinata (usa il comando sort) e se nella lista ci sono elementi ripetuti li esclude Esempio ls /home/luca | sort | uniq

wc Numero di righe, parole e bytes contenuti in un file

grep ls /home/luca | sort | uniq | grep 'prov' Nella lista di file quelli che contengono la parola prov

Tail e head Tail restituisce le ultime 10 righe di un file Head restituisce le prime 10 righe di un file Se vogliamo specificare il numero di righe da visualizzare, possiamo utilizzare l'opzione -n Esempio ls /home/luca | sort | uniq | tail -n 5 Visualizzare le ultime 5 righe Se vogliamo vedere il progresso di un file in tempo reale, possiamo utilizzare l'opzione -f, utilissimo se per esempio stiamo programmando un'applicazione che restituisce un errore e vogliamo vedere il log dell'errore che si è verificato

Esercizi 1. Abbiamo un cartella di nome /home/luca 2.Creiamo una cartella prova 3. Ci spostiamo in tale cartella 4. Creare un file di testo tramite il comando cat opportunamente 5. aggregare due file insieme, ordinare le righe dei due file, rimuovere i duplicati, filtrare solo le righe che contengono la parola “prova” e creare un file con il risultato di tutte queste operazioni 6. aggiungere una riga alla fine risultato dell'operazione 5