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

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

Lezione 2: Comandi avanzati della Shell di Unix

L utility Unix awk [Aho-Weinberger-Kernighan]

Lezione 2: Comandi avanzati della Shell di Unix

Sistemi Operativi e informatica 1

Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2016/2017. Comandi Shell

Esercizi su permessi

ORGANIZZAZIONE del FILE SYSTEM SISTEMA OPERATIVO UNIX FILE SYSTEM. FILE astrazione unificante del sistema operativo

- comando sort: con chiavi di ordinamento -

L ambiente UNIX/Linux. I filtri Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

Senza Soluzioni. Può un altro utente non appartenente al gruppo di mgiorgio, eseguire gli stessi comandi?

LABORATORIO DI SISTEMI OPERATIVI

SHELL: File e Filesystem

Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2015/2016. Comandi Shell

Shell BASH. Variabili Redirezione

Laboratorio di Sistemi Operativi

Sistemi Operativi (Laboratorio)

Gestione avanzata dei file

Avviso. man sh. Sistemi Operativi (Laboratorio) Lezione III: Shell 2. Un vero linguaggio di programmazione

Processi. Introduzione. Effective user/group id. Fork

Ulteriori comandi sui file

Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2018/2019. Comandi Shell

Laboratorio Sistemi Operativi

Lab. di Sistemi Operativi - Esercitazione n 4- a.a Sed e Awk

Sistemi Operativi. Corso di Laurea Triennale in Ingegneria Informatica. Esercitazione 2. Editor Utenti Permessi

Reti Informatiche Corso di Laurea Triennale in Ingegneria Informatica

Sistemi Operativi. Corso di Laurea Triennale in Ingegneria Informatica. Esercitazione 2. Editor Utenti Permessi

Lab. di Sistemi Operativi - Esercitazione - Comandi Shell

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

Sistemi Operativi 1. Mattia Monga. a.a. 2011/12. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Lab. di Sistemi Operativi - Esercitazione n 2- - comando di ricerca: grep -

Il sistema operativo LINUX Script di Shell

Esempio di domande sul file system

File System Unix. Generalità

Corso Linux ARCES. Lezione 3: Lavorare con la Shell

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

Sommario. Prefazione... 11

Filtri e pipeline. qualsiasi comando unix ha a disposizione 3 file con cui comunicare con il resto del sistema: standard input in ingresso

Corso di "Sistemi Operativi" COMANDI UNIX/LINUX DI USO CORRENTE da terminale e per la programmazione in linguaggio shell. Versione 1.

Editor, Utenti e Permessi Insegnamento di Sistemi Operativi di Rete Master Universitario in Tecnologie Internet

Laboratorio di Internet I Il sistema operativo Linux

Introduzione. P4 termina prima di P3, P2 e P3 prima di P1 P1 P2 P3 P4 P1 P1 P2 P3 P4. Padre. P1,..., P4 sono processi. Figlio

Il filesystem di Unix/Linux (I)

File System e Interprete Comandi

Introduzione a Unix/Bash. Insieme minimo di strumenti per interagire con la shell Bash, compilare ed eseguire

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

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab Shell. Lab-Shell 1

Unix e utenti. UNIX è un SO multiutente. Singolo utente

Command line kung fu

Introduzione alla programmazione nella shell di Unix 10 Maggio 2005

La Shell: esecuzione dei comandi

Page 1. Programmazione. Shell e programmazione. File comandi (script) Introduzione alla programmazione nella shell di Unix

Lezione XII.IV Gestione dei file Uso della shell I permessi di accesso

INTRODUZIONE ALL AMMINISTRAZIONE DI SISTEMA Simone D Amico

Filtraggio di stream di testo

Caratteristiche attuali SO multiutente e multitasking memoria virtuale

Organizzazione del FS / (root del FS)

Introduzione al sistema Linux

Ambienti di Programmazione per il Software di Base

CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS

Introduzione. Sistema Operativo UNIX Due linee principali System V (AT&T) BSD 4.X (Berkeley Software Distribution) File system

Files e Directories. Franco Maria Nardini

Lezione 3: Programmazione della Shell di Unix

Shell di Linux e Comandi Utente

Come si accede a BASH Tasti utili: Ctrl-Alt-F1, Ctrl-Alt-F7. Il Primo comando : exit (CASE SENSITIVE!!) Si può uscire con CTRL-D

Modulo 2 - Appendice 2 Breve rassegna di comandi (esterni) in ambiente Linux

Codice Corso: UNX010. Durata: 3 giorni

Lab 19 Unix e comandi di base

Lab. di Sistemi Operativi - Esercitazione n 3 - a.a. 2016/2017. Script shell

Lab. di Sistemi Operativi - Esercitazione n 2 - a.a. 2012/2013

Manipolazione di testo

Il filesystem di Unix/Linux (I)

Esercitazione 1 la shell

Redirezione, filtri, espressioni regolari

Dispositivi standard di I/O. I programmi scritti per terminali a carattere (compresi i comandi per shell) usano 3 dispositivi standard di I/O:

Linux - La Shell Bash

La Shell di Unix. l utente impartisce i comandi al sistema digitandoli ad un apposito prompt;

Cenno al file system di base di Linux

Link e permessi. Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione. Corso di Sistemi Operativi A. A

Lezione 15 File system: uso

Comandi Unix. Introduzione. G. Lettieri May 24, Negli esempi seguenti, si suppone che la directory corrente contenga i file:

Linux e la shell Bash

Esercizio 2 Scrivere un programma C che: Prende in input da linea di comando il nome di una directory ed il nome di un file. Se non e' possibile aprir

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

Sistemi Operativi. Bruschi Monga Re. Shell e file system. File system. Unix power tools. Esercizi. Sistemi Operativi.

Introduzione a Unix e comandi principali. Sistema multitasking e multiuser. Concetto di Terminale. Login con username e password

Lab. di Sistemi Operativi - Lezione in aula - a.a. 2012/2013

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

Il sistema operativo LINUX Esercitazione 3

File-System! Introduzione al File-System! Struttura dei File! Concetto di File!

Linux e la shell Bash

File binari e file di testo

Cosa è un sistema operativo?

Cosa è un sistema operativo?

L ambiente UNIX/Linux. Comandi UNIX & Linux (parte A) Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Due linee principali. Sistema Operativo UNIX

Manipolazioni elementari di flussi di testo strutturati

Introduzione alla. Alessandra Giordani Lunedì 11 marzo

Transcript:

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

Prompt <cmd> <opzioni> <parametri> ' ' (spazio) è il separatore standard Comando interno/esterno file eseguibile (PATH, 'which') Parametri: oggetto della funzione del programma Opzioni: modalità di funzionamento del programma si distinguono tramite il prefisso '-'

Attributi dei file Tipo Chi puo' fare cosa Quanti link esistono? Di chi e' Dimensione Quando e' stato creato/modificato Nome (anche piu' di uno)

Tipo? (comando 'file') Identificare il tipo di un file Info dal filesystem (vuoto, eseguibile, directory, etc.) Ad es. primo carattere dell'output di 'll' magic number, formati di file particolari che contengono info 'dichiarative', ad esempio eseguibili binari, etc. language, ricerca di parole chiave all'interno del file, ad esempio '#!/bin/bash' per gli script

Operazioni Quali operazioni possibili su un file/directory? - rwx r-- r-- - rw- r-- r-- - r-x r-- r-- Read Write Execute Suid, cambio ID durante l'esecuzione Sticky, il pgm resta in memoria

Chmod Cambiare l amaschera degli attributi 'ugoa +=- rwx' 'chmod a+r file' 'chmod go-rw file'

Chmod e numeri... 755!?!?!? r w x 4 2 1 755 = rwxr-xr-x

Quale inode? 'ls -i' Link 'ln' Link simbolici 'ln -s'

Touch Modifica i 'timestamp' dei file Usato anche per creare i file 'umask' maschera dei bit di default

Possesso 'chown user file' 'chgrp group file 'chown user:group file'

Info sul filesystem 'stat' 'df' 'du' Tutte le info sui file... Spazio libero Allocazione spazio

Redirezione L'output (stdout) di un comando può essere catturato (rediretto) su file 'll >elencofiles.txt' Anche i messaggi di errore (stderr) possono essere catturati a parte 'll >elencofiles.txt 2>errori.txt' Un comando può lavorare su un input (stdin) preconfezionato 'mail -s subject indirizzo < messaggiopreparato.txt'

Redirezione (log) Molti programmi scrivono i cosiddetti log, spesso vuol semplicemente dire che viene rediretto il loro output+errori su vari file (/var/log/*) Un trucco per tenere d'occhio continuativamente anche più file (es. di log) contemporaneamente è quello di usare 'tail -f' 'tail -f /var/log/mail*' Il comando tail, con quell'opzione, rimane in attesa di aggiornamenti del/i file

Pipe ' ' Uno dei punti forti di Unix Permette di combinare più programmi tra loro (in cascata) in modo da ottenere funzionalità complesse

More/less/cat I classici 'pagers' Visualizzano un file 'a video' (a parte 'cat') si fermano pagina per pagina (a parte 'cat') permettono ricerche, con '/'

Tac 'cat' al contrario Parte dal fondo

Rev Ribalta le righe di un file Ogni singola riga viene scritta al contrario

Head e tail Le prime 'n' righe di un file Le ultime 'n' righe di un file Combinandoli, la 'n'-esima riga di un file

Tr Traduce un carattere (o una classe) in un altro Riduce le sequenze di caratteri uguali (es. gli spazi) Elimina caratteri

Grep Filtra le righe secondo criteri -v -i (esempi, slide succ. per le regexp)

Regexp Espressioni regolari Servono a descrivere insiemi di stringhe Esempi: 't*' tutte le stringhe che iniziano per 't' '[!t]*' tutte le stringhe che NON iniziano per 't' '[a-z]???' tutte le stringhe che iniziano per un carattere minuscolo e che sono lunghe 4 caratteri

Cut Taglia campi/caratteri -f -c

Paste 'mescola' assieme due file Riga per riga da ognuno (una da uno e una dall'altro)

Wc Conta righe/parole/caratteri

Diff Confronta due file (o due directory) Elenca le differenze

Split Divide un (grosso) file in molti (piccoli) file

Sort Ordina Alfabeticamente Numericamente (-n) ascending/descending (-r) -k, scelgo il campo

Uniq Elimina righe duplicate in un file (ordinato)

Basename/dirname Utili negli script basename estrae il nome del file dirname Via path Via estensione (se richiesto, ma va specificata per esteso) estrae il pathname

Tee Duplica output Metafora del tubo a 'T' Si inserisce in una catena di pipe per avere anche un risultato intermedio cmd1 cmd2 tee intermedio1.txt cmd3 cmd4 cmd5 tee intermedio2.txt cmd6 > finale.txt

Find/locate Trova file all'interno del filesystem Find, sul filesystem reale Locate, in un db creato appositamente Piu' veloce, ma il db deve essere aggiornato ('updatedb') Find vuole: path di partenza criteri di 'find' azione da eseguire (dal semplice print all'esecuzione di un comando) (esempi!)

Sed Stream editor Effettua operazioni su uno stream che gli viene fornito in ingresso Ad esempio sostituzioni di parole vedere 'oneliners' # substitute (find & replace) "foo" with "bar" on each line sed 's/foo/bar/' # replaces only 1st instance in a line sed 's/foo/bar/4' # replaces only 4th instance in a line sed 's/foo/bar/g' # replaces ALL instances in a line

Awk (cenni) Vero e proprio linguaggio di creazione di filtri Si basa sul meccanismo pattern-action Gli script di awk contengono espressioni regolari che, quando riconosciute all'interno del testo, attivano azioni programmabili pattern { action statements } /disk/ { print $2, $1 } (stampa, al contrario, i primi due campi delle righe che contengono 'disk')