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

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

L utility Unix awk [Aho-Weinberger-Kernighan]

Lezione 3: Programmazione della Shell di Unix

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

Shell BASH. Variabili Redirezione

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

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

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

- comando sort: con chiavi di ordinamento -

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

BREVISSIMA GUIDA AL SISTEMA UNIX / LINUX

Luglio 1991 Nasce Linux da un progetto Universitario di Linus Benedict Torvalds. Numerose distribuzioni (Debian, SUSE, Red Hat, Slackware, UBUNTU, ecc

La Shell: esecuzione dei comandi

Bash: history list (I)

E' un interprete di comandi: legge ciascuna linea di comando, la interpreta e la esegue

Il sistema operativo LINUX La shell

Reti Informatiche. Corso di Laurea Triennale in Ingegneria Informatica. Ing. Daniele Migliorini Vanessa Gardellin & Sara Lioba Volpi

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

Laboratorio di Sistemi Operativi

Cos'è Linux. Un sistema operativo : un insieme di programmi necessari per il funzionamento del computer e per il funzionamento di altri programmi.

Per visualizzare il valore di tutte le variabili d ambiente si usa il comando env

Ambienti di Programmazione per il Software di Base

Introduzione alla programmazione nella shell di Unix 10 Maggio 2005

SHELL: File e Filesystem

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

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

Linux e la shell Bash

Codice Corso: UNX010. Durata: 3 giorni

Corso Linux. 5 febbraio

Laboratorio di Sistemi Operativi Guido Fiorino

LABORATORIO DI SISTEMI OPERATIVI. Corso di Laurea in Ingegneria Informatica A.A. 2019/2020

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

Introduzione ai sistemi UNIX/Linux. Introduzione ai sistemi UNIX/Linux

BASH: Bourne Again Shell (3)

File System Linux Comandi Base per orientarsi con la Bash

Sistemi Operativi. Corso di Laurea Triennale in Ingegneria Informatica. Daniel Cesarini

Lezione 2: Comandi avanzati della Shell di Unix

Esercitazione 2 GUIDA

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Lab 19 Unix e comandi di base

Il terminale per tutti

Comandi principali di Linux (1)

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

Gestione avanzata dei file

Esercizi su permessi

Esempio di domande sul file system

Introduzione ai sistemi UNIX/Linux

Introduzione ai sistemi UNIX/Linux

Introduzione al sistema Linux

Lab. di Sistemi Operativi - Esercitazione - Comandi Shell

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

Esercitazione GNU/Linux n. 2

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

Esercitazione 1 la shell

Introduzione ai sistemi GNU/Linux

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

Sistemi Operativi e informatica 1

Il Manuale di KXSLDbg. Keith Isdale Traduzione del documento: Samuele Kaplun Traduzione del documento: Simone Solinas

Corso Linux ARCES. Lezione 3: Lavorare con la Shell

Sistemi Operativi. Corso di Laurea Triennale in Ingegneria Informatica

Corso di Laboratorio di Sistemi Operativi A.A Fabio Buttussi Ivan Scagnetto

Bootstrap day: MININFO

LABORATORIO DI SISTEMI OPERATIVI

Corso di Laboratorio di Sistemi Operativi A.A Fabio Buttussi

Laboratorio Multimediale Lezione n. 1, gruppo A

Shell: variabili di sistema. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set

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

Corso di Laboratorio di Sistemi Operativi A.A Fabio Buttussi

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

Laboratorio di Informatica Generale I UD Prima esercitazione

Shell: csh e tcsh. Di shell non ne esiste una sola... Per il momento... Funzioni della shell. In cosa si differenziano?

Linux - La Shell Bash

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

Avvio Avviare il computer facendo partire Linux (SL - Scientific Linux 6.3).

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

Il sistema operativo LINUX Esercitazione 3

Ulteriori comandi sui file

Sistemi operativi. Corso di Laurea Triennale in Ingegneria Informatica. Lezione 1 Unix - storia e filosofia Debian GNU/Linux Primi passi su Linux

Reti Informatiche. Corso di Laurea Triennale in Ingegneria Informatica. Ing. Domenico De Guglielmo Vanessa Gardellin & Sara Lioba Volpi

Introduzione a Linux. Storia di UNIX

SQL Server Integration Services. SQL Server 2005: ETL - 1. Integration Services Project

Introduzione alla. Alessandra Giordani Lunedì 11 marzo

Corso di avvicinamento al Software Libero. Lunedi 23 Gennaio

Introduzione all uso di Linux

Il sistema operativo UNIX/Linux. Le shell Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

Lesson #4. Espressioni Regolari. Roberto De Virgilio

Lezione 2: Comandi avanzati della Shell di Unix

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

Introduzione all uso di Linux

Windows. La prima realizzazione di un ambiente grafico si deve alla Apple (1984) per il suo Macintosh. La gestione dei file conserva la logica del DOS

Progetto II: Il linguaggio C e le chiamate di sistema sui processi

Laboratorio Multimediale Lezione n. 1

Introduzione...xiii. CAPITOLO 1- L ESSENZA DI UNIX... 1 Sezione A - Primi passi Introduzione ai sistemi operativi... 2

Introduzione all uso di Linux

Linux / Unix: la shell. utenti e gruppi, shell, comandi

Sistemi Operativi. Corso di Laurea Triennale in Ingegneria Informatica. Daniel Cesarini Daniel Cesarini

Transcript:

GLUG Govonis Corso Avanzato GNU / Linux Lezione del 02.01.2012 Shell

GLUG Govonis Di cosa parleremo?

GLUG Govonis lavorare con la linea di comando

GLUG Govonis lavorare con la linea di comando i comandi di elaborazione dei contenuti dei file

GLUG Govonis lavorare con la linea di comando i comandi di elaborazione dei contenuti dei file standard input/output /error, pipes e redirezione

GLUG Govonis lavorare con la linea di comando i comandi di elaborazione dei contenuti dei file standard input/output /error, pipes e redirezione ricerche ed elaborazione sui file

Lavorare con la linea di comando Per comprendere il funzionamento della linea di comando, bisogna capire come funziona la shell

Shell Che cos'è una shell? In un sistema operativo, la shell è il programma che permette agli utenti di comunicare con il sistema e di avviare i programmi. È una delle componenti principali di un sistema operativo, insieme al kernel.

GUI shell kernel hardware

Shell Nel corso degli anni sono stare create numerose shell per Unix, le piu' famose Bourne shell (sh) C shell Korn shell altre sono state sviluppate come evoluzione delle shell originali tra cui tektronix C shell (tcsh) molto diffusa nei sistemi xbsd Bourne again shell (bash) di default in GNU/Linux

Shell La shell di default di GNU/Linux e' Bash Bourne again shell fu scritta nel 1989 ad opera di Bian Fox e della Free Software Foundation bash e' compatibile con il programma originale (sh) ma comprende anche funzioni tipiche di altre shell Unix (C shell, Korn shell) alcuni comandi sono interni alla shell molti altri sono programmi separati che risiedono nelle directory di sistema /bin /sbin...

Comandi Come si accede alla shell? Loggandosi da console login: <username> + <password> Da interfaccia grafica (GUI) <applicazioni><accessori><terminale>

shell Tutte le volte che si lancia un programma che deve interagire con la riga di comando, questo si aspetta di avere a disposizione e già aperti 3 file, che convenzionalmente sono chiamati Standard input Standard output Standard error

Comandi Comandi interni ed esterni I comandi interni sono inclusi nella shell. I comandi esterni sono programmi installati nel file system sotto la directory /bin e vengono eseguiti dalla shell

Comandi interni Comandi interni: cd change directory Per navigare all'interno del file system

Comandi interni Comandi interni: pwd print working directory Stampa a video l'attuale directory di lavoro

Comandi interni Comandi interni: echo Visualizza un testo

Comandi interni Comandi interni: time Stampa il tempo di esecuzione di un programma

Comandi interni Comandi interni: exit logout Per terminare la shell

Comandi interni Trucchi Storia dei comandi history Permette di accedere usando i tasti freccia in alto e in basso alle linee di comando eseguite in precedenza

Comandi interni bash memorizza nell history list gli ultimi 500 comandi inseriti dall utente; l history list viene memorizzata nel file.bash history nell home directory dell utente al momento del logout (e riletta al momento del login)

Comandi interni Oltre alle frecce è possibile mediante l'uso del carattere! richiamare una specifica voce sulla riga di comando stessa, indicandola sia per numero che tramite le prime lettere.!! richiama il comando più recente

Comandi interni!n richiama il comando numerato n nella history! n richiama il comando precedente di n posizioni nella history.!stringa richiama l'ultimo comando eseguito che inizia per stringa

Comandi interni History -c pulisce la cronologia

Comandi interni Trucchi Completamento di comando Digitare parte di un comando e poi il tasto TAB

Comandi id visualizza lo UserID (UID) e il GroupID (GID) dell'utente corrente. UID e GID sono identificativi numerici assegnati ad ogni utenti.

Comandi lastlog visualizza per ogni utente del sistema la data dell'ultimo log. last visualizza tutti i login recenti sul sistema.

Comandi shutdown riavvia il sistema (è possibile specificare entro quanti secondi, se riavviare o stoppare).

Comandi who visualizza gli utenti correntemente loggati sul sistema. whoami visualizza il nome utente associato con l'attuale user ID

Comandi uname fornisce alcune informazioni di sistema uname -a tutte le infomazioni uname -o sistema operativo uname -m tipo di macchina

Comandi Formato comune dei comandi GNU/Linux Unix comando -opz arg1 arg2... argn comando il comando che si intende dare corrisponde ad un comando proprio del sistema Unix/Linux o sviluppato da un utente tramite un linguaggio di programmazione - opz una serie di modalita' particolari (opzioni) con le quali si vuole eseguire quel comando arg1 arg2... argn gli argomenti sui quali quel comando deve agire.

Variabili d'ambiente La bash definisce automaticamente alcune variabili e ne utilizza delle altre qualora siano definite

Variabili d'ambiente Per visualizzare il contenuto delle variabili possiamo utilizzare il comando echo echo $PATH la lista delle directory in cui si trovano i comandi.

Variabili d'ambiente echo $HOSTNAME il nome della macchina echo $HISTSIZE il numero di comandi da mantenere nella history

Redirezione e pipe Redirezione dell' I/O La redirezione dell'i/o è la capacita della shell di modicare i file a cui fanno riferimentolo standard input, lo standard output e lo standard error I due operatori piu elementari sono <" e >" che permettono rispettivamente di redirigere lo standard input e lo standard output sul file specicato dall'utente dopo l'operatore

Redirezione e pipe Redirezione dell' I/O ls > testo.txt Il contenuto della directory corrente non viene visualizzata a video ma sul file testo.txt

Redirezione e pipe Operatori > crea un nuovo file contenente lo standard output. Se il file esiste lo sovrascrive >> aggiunge a un file lo standard output. Se il file non esiste lo crea 2> crea un nuovo file contenente lo standard error 2>> aggiunge a un file lo standard error. Se il file non esiste lo crea < utilizza il contenuto del file specificato come standard input

Redirezione e pipe L'operatore " consente di collegare lo standard output del comando che lo precede con lo standard input del comando che lo segue. Questo viene fatto utilizzando una pipe", un servizio di comunicazione fra processi fornito dal kernel che, come indica il nome stesso, costituisce una sorta di conduttura di collegamento fra i due comandi. es. ls more In questo modo diventa possibile fornire come dati in ingresso ad un comando quelli prodotti in uscita da un altro. Si possono così lanciare in sequenza una serie di comandi in cui ciascuno elabora i risultati del precedente, effettuando combinazioni ed elaborazioni anche molto complesse.

Comandi per controllare il contenuto dei file comando cat questo è un comando elementare che serve a leggere uno o piu le in ingresso, passati come argomenti, e a scriverne il contenuto sullo standard output. comando join permette di eseguire una unione per righe, opera solo su due file, che devono essere passati come argomenti, ed esegue l'unione sulla base della presenza di un campo comune

Comandi per controllare il contenuto dei file comando sort permette di ordinare il contenuto di un file. Il comando prende come argomento un file e ne stampa il contenuto con le righe in ordine alfabetico. sort -f ordina alfabeticamente ignorando maiuscole/minuscole sort -M ordina per mese (Jan dec) sort -n ordina per numero sort -k ordina per campo sort -r ordina in ordine decrescente

Comandi per controllare il contenuto dei file comando uniq Elimina le linee duplicate Utile da utilizzare in pipe con sort es. sort testo.txt uniq

Comandi di elaborazione dei contenuti dei file Comando head Visualizza le prime 10 linee di un file head -n num Head -c num visualizza le prime num linee visualizza i primi num byte

Comandi di elaborazione dei contenuti dei file Comando tail Visualizza le ultime 10 linee di un file tail -n num tail -c num tail -f visualizza le ultime num linee visualizza gli ultimi num byte mantiene il file aperto e visualizza le nuove linee aggiunte (tracking di un log file)

Comandi di elaborazione dei contenuti dei file Comando less Visualizza un file una videata alla volta <barra spaziatrice> visualizza prossima videata <Esc> V visualizza videata precedente Freccia su e giù sposta in su o in giù di una linea g per andare a una determinata linea es. g50 q per uscire dal programma

elaborazione dei contenuti dei file Comando wc Word count Conta le linee, le parole e i byte di un file

Usare le espressioni regolari Comando grep il comando prende come primo argomento la stringa da cercare seguita dal nome del file o dei file (se se ne indica piu di uno) in cui effettuare la ricerca. Il comando stampa in uscita ogni riga del file nella quale ha rilevato una corrispondenza, e se si sono indicati piu le precede la riga con il nome del file. grep -c grep -r grep -i stampa il numero di linee che soddisfano ricerca ricerca ricorsiva directory e sotto directory ignora maiuscolo/minuscolo nella ricerca

Usare le espressioni regolari Espressioni regolari Indicano una lista o un intervallo di caratteri [ac] qualsiasi carattere dell'insieme specificato quindi a e c [a-c] qualsiasi carattere nell'intervallo speicificato quindi a, b, c

Usare le espressioni regolari Comando sed Stream Editor Permette di effettuare modifiche a un file, come aggiungere testo, inserire testo, aggiungere testo da un file Sostituire del testo con quello specificato sed 'a\text' file aggiunge text al file sed 's/regexp/sostituto sostituisce testo che coincide con regexp con sostituto

I comandi per le ricerche dei file Comando locate Il comando più veloce per cercare un file in maniera generica sul filesystem è locate, che, come suggerisce il nome, serve a localizzare sul filesystem tutti i file che contengono nel loro pathname la stringa passata come argomento. Il vantaggio di questo programma è la sua velocità, esso infatti non effettua la ricerca con una scansione del contenuto del disco, ma su un piccolo database interno che contiene l'elenco di tutti i file presenti nel sistema.

I comandi per le ricerche dei file Comando find Il comando per cercare un file direttamente sul filesystem. Le maggiori potenzialita di find derivano dalla sua capacita di effettuare ricerche con i criteri piu svariati, da quelli sul nome del file in varie forme ( -name, -regex, -path), a quelli per gruppo e utente ( -group, -user), secondo i permessi (-perm), secondo i vari tempi (-atime, -ctime, -mtime)

Documentazione Documentazione

Documentazione Sito http://help.ubuntu-it.org http://en.flossmanuals.net /gnulinux

Riferimenti Utilizzare il proprio desktop di Ubuntu Documentation Project <ubuntu-doc@lists.ubuntu.com>

Riferimenti Introduzione a Linux di Machtelt Garrels Informatica e GNU/Linux di Daniele Masini Amministrare GNU/Linux Di Simone Piccardi

Riferimenti http://www.gnu.org http://www.fsf.org http://www.govonis.org