Il terminale per tutti

Размер: px
Начинать показ со страницы:

Download "Il terminale per tutti"

Транскрипт

1 Il terminale per tutti un introduzione all uso della shell su Linux Simone Capodicasa Linux Day Torino 26 ottobre 2013 S. Capodicasa Il terminale per tutti 1/42

2 Indice Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale 1. Introduzione 2. Comandi 3. Qualche trucco 4. Scripting 5. Un esempio di vita reale S. Capodicasa Il terminale per tutti 2/42

3 Obiettivo di oggi Primo approccio con il terminale Farvi venire la voglia di approfondire la conoscenza di questo strumento, farvi assaggiare la sua potenza, senza essere esauriente (il tempo non lo permetterebbe comunque) S. Capodicasa Il terminale per tutti 3/42

4 Introduzione S. Capodicasa Il terminale per tutti 4/42

5 Convenzioni Per parlare la stessa lingua 1. Terminale = Shell = Linea di comando Directory = cartella Indipendenza dalla distribuzione Comandi scritti in carattere a spaziatura fissa S. Capodicasa Il terminale per tutti 5/42

6 Cosa è il terminale Un interfaccia tra programma e utente S. Capodicasa Il terminale per tutti 6/42

7 GUI vs. CLI Tutto ciò che si fa tramite l interfaccia grafica spesso in modo più efficiente! si può replicare usando il terminale S. Capodicasa Il terminale per tutti 7/42

8 Una scelta intelligente GUI Nuova versione funzionalità (come minimo) spostate CLI Nuova versione funzionalità (al massimo) aggiunte Non si deve imparare di nuovo a guidare S. Capodicasa Il terminale per tutti 8/42

9 Emulatore di terminale Come si usa il terminale oggi Un interfaccia grafica che simula una linea di comando xterm Konsole Gnome Terminal LXTerminal infiniti altri... Sicuramente si usa ancora la linea di comando pura (server, ssh, ecc...) S. Capodicasa Il terminale per tutti 9/42

10 Tanti tipi di shell nei sistemi operativi di tipo UNIX sh zsh tcsh C shell Korn shell noi ci riferiremo sempre alla BASH Bourne Again Shell S. Capodicasa Il terminale per tutti 10/42

11 Il prompt Chi siamo e dove siamo Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale Utente username@hostname:directory$ Amministratore (root) root@hostname:directory# Esempio (quasi) reale simone@linuxdayto2013: $ S. Capodicasa Il terminale per tutti 11/42

12 Comandi S. Capodicasa Il terminale per tutti 12/42

13 La struttura di un comando bash In generale: comando -opzione argomento Un esempio: rm -f divinacommedia.pdf Anche più opzioni e più argomenti: rm -rf divinacommedia.pdf promessisposi.pdf S. Capodicasa Il terminale per tutti 13/42

14 ls Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale Stampa la lista del contenuto della directory passata come argomento S. Capodicasa Il terminale per tutti 14/42

15 cd Navigare nelle cartelle Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale Ci spostiamo nella directory passata come argomento S. Capodicasa Il terminale per tutti 15/42

16 cp Copiare files e cartelle Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale Copia il file o la cartella passato come argomento S. Capodicasa Il terminale per tutti 16/42

17 mkdir Creare directory Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale Crea la directory specificata S. Capodicasa Il terminale per tutti 17/42

18 rm Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale Rimuove file o directory senza passare dal cestino! Per le directory aggiungere l opzione -r S. Capodicasa Il terminale per tutti 18/42

19 su e sudo Diventare amministratore (utente root) Anteporre sudo Due metodi: al singolo comando oppure per altre vignette visitare su Per loggarsi in una shell di root S. Capodicasa Il terminale per tutti 19/42

20 Le pagine man Cercare aiuto Come si trovano man comando Cosa c è dentro Tutto ciò che c è da sapere su un programma (e anche di più) Nessuna voglia di leggere comando -h S. Capodicasa Il terminale per tutti 20/42

21 Qualche trucco S. Capodicasa Il terminale per tutti 21/42

22 Autocompletamento Il tabulatore Esiste una lista di comandi e il terminale la conosce 1. Si scrive un pezzo di comando e si preme TAB 2a. Se la corrispondenza è univoca, avremo l autocompletamento 2b. Se non è univoca, avremo una lista delle possibilità (premendo di nuovo TAB) S. Capodicasa Il terminale per tutti 22/42

23 Pipe Il carattere Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale Manda l output del primo comando come input del secondo. S. Capodicasa Il terminale per tutti 23/42

24 Wild Card Il carattere * Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale Si usa l asterisco per sostituire uno o più caratteri di nomi di file e directory S. Capodicasa Il terminale per tutti 24/42

25 Questa cartella e quella superiore. e... indica la working directory.. indica la parent directory Non vale aggiungere altri puntini Non si usa (non funziona)... ma../.. Dove ci si trova? pwd S. Capodicasa Il terminale per tutti 25/42

26 Cronologia Con su ( ) e giù ( ) si scorrono gli ultimi comandi utilizzati Usando la combinazione di tasti Ctrl+R si effettua una ricerca tra gli ultimi comandi utilizzati S. Capodicasa Il terminale per tutti 26/42

27 Interrompere l esecuzione di un comando Ctrl+C A volte può essere necessario interrompere con la forza l esecuzione di un programma lanciato da terminale. Si può fare premendo la combinazione di tasti: Ctrl+C S. Capodicasa Il terminale per tutti 27/42

28 Reindirizzamento dell output Il carattere > Utilizzando il carattere > si manda l output di un comando in un file di testo S. Capodicasa Il terminale per tutti 28/42

29 Programmi in background & Postponendo & al comando lo si esegue in background, mantenendo le funzionalità del terminale S. Capodicasa Il terminale per tutti 29/42

30 Scripting S. Capodicasa Il terminale per tutti 30/42

31 Cosa è uno script? Un file di testo che contiene una serie di comandi su righe diverse Esecuzione riga per riga Lo strumento principe Un editor di testo (Emacs, vi, Gedit, ecc...) S. Capodicasa Il terminale per tutti 31/42

32 Solo due regole da rispettare #!/bin/bash Si dichiara quale tipo di shell si vuole usare per lo script Usiamo l estensione.sh È solamente una convenzione S. Capodicasa Il terminale per tutti 32/42

33 Bisogna dare il permesso e poi eseguire Dare il permesso di esecuzione chmod u+rx myscript.sh Eseguire./myScript.sh S. Capodicasa Il terminale per tutti 33/42

34 Le variabili Sono dei nomi brevi (o intuitivi) per richiamare stringhe di testo o numeri S. Capodicasa Il terminale per tutti 34/42

35 I cicli Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale Come nei linguaggi di programmazione esiste il modo di ripetere le stesse righe un numero definito (o indefinito) di volte Esiste anche il costrutto IF-THEN-ELSE S. Capodicasa Il terminale per tutti 35/42

36 Un esempio di vita reale S. Capodicasa Il terminale per tutti 36/42

37 Mettere i dati in tabella Situazione L utente ha un file di testo contenente dati Vuole mettere questi dati in una tabella L A TEX Problema I dati sono moltissimi! S. Capodicasa Il terminale per tutti 37/42

38 Problema Cosa si ha Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale Cosa si vuole ottenere S. Capodicasa Il terminale per tutti 38/42

39 Soluzione Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale L utente ha scritto uno script Con un solo comando la tabella è pronta! S. Capodicasa Il terminale per tutti 39/42

40 Conclusioni Il terminale è un modo alternativo di interagire con la macchina Esiste un efficace linguaggio che permette di comunicare con il computer Questo linguaggio può essere usato per automatizzare e/o velocizzare certe operazioni ripetitive oppure lunghe e complicate S. Capodicasa Il terminale per tutti 40/42

41 Un ultimo consiglio In rete si trovano moltissime guide che usano comandi da terminale per effettuare varie operazioni È importante capire bene cosa si sta facendo Evitare il copia-incolla alla cieca! S. Capodicasa Il terminale per tutti 41/42

42 Riferimenti Guida completa Queste slide oppure capodica S. Capodicasa Il terminale per tutti 42/42

43 Appendici Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema 6. Altri comandi 7. Altri trucchi 8. Ambiente di lavoro 9. Aggiornare il sistema S. Capodicasa Il terminale per tutti 1/17

44 Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema Altri comandi S. Capodicasa Il terminale per tutti 2/17

45 echo Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema Stampa a video una stringa di testo S. Capodicasa Il terminale per tutti 3/17

46 mv Per spostare... Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema Sposta il file nella posizione indicata (due argomenti) S. Capodicasa Il terminale per tutti 4/17

47 mv... o per rinominare Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema Può essere usato anche per rinominare file o directory S. Capodicasa Il terminale per tutti 5/17

48 Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema Altri trucchi S. Capodicasa Il terminale per tutti 6/17

49 Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema Andare a capo Il carattere \ Comandi lunghi si possono scrivere su più righe, inserendo alla fine della riga un \ S. Capodicasa Il terminale per tutti 7/17

50 Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema Comandi con condizioni && e Si inseriscono tra due comandi sulla stessa linea && Esegue il primo comando e, se questo va a buon fine, viene eseguito anche il secondo Prova a eseguire il primo comando e, se questo non va a buon fine, si prova a eseguire il secondo S. Capodicasa Il terminale per tutti 8/17

51 Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema Ambiente di lavoro S. Capodicasa Il terminale per tutti 9/17

52 Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema Files importanti Quali sono? /etc/profile /.bash_profile, /.bash_login, /.profile /.bashrc Vengono letti e caricati ogni volta che si apre un terminale S. Capodicasa Il terminale per tutti 10/17

53 Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema /etc/profile Contiene le variabili d ambiente e i programmi di avvio comuni a tutti gli utenti del sistema Un esempio: La variabile PATH Definisce la lista dei comandi conosciuti al sistema (utilizzata per l autocompletamento) S. Capodicasa Il terminale per tutti 11/17

54 Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema La variabile PATH È una lista di directory dove la bash andrà a cercare gli eseguibili quando sriviamo un comando sul terminale La mia PATH S. Capodicasa Il terminale per tutti 12/17

55 Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema /.bash_profile Un esempio: Variabili d ambiente e programmi di avvio dell utente La variabile PATH È possibile ridefinirla S. Capodicasa Il terminale per tutti 13/17

56 /.bashrc Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema Configurazioni utente della bash Alcuni esempi: alias personalizzazioni del prompt definizioni di funzioni S. Capodicasa Il terminale per tutti 14/17

57 Gli alias Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema Sono abbreviazioni di comandi lunghi o ricorrenti Un alias dal mio /.bashrc alias r= root -l S. Capodicasa Il terminale per tutti 15/17

58 Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema Aggiornare il sistema S. Capodicasa Il terminale per tutti 16/17

59 Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema Aggiornare il sistema Debian (e derivate: Ubuntu, Linux Mint, ecc...) sudo apt-get update && sudo apt-get upgrade Fedora (e simili: CentOS, ecc...) sudo yum update Archlinux sudo pacman -Syu S. Capodicasa Il terminale per tutti 17/17

Comandi principali di Linux (1)

Comandi principali di Linux (1) Laboratorio I Comandi principali di Linux (1) Sintassi: [comando] [opzioni] [argomenti] ls mostra il contenuto di una director l versione lunga a mostra anche i files nascosti che iniziano con. t presenta

Подробнее

01 Terminale e file system

01 Terminale e file system 01 Terminale e file system Danilo Pianini IFTS Alma Mater Studiorum Università di Bologna, Cesena 12 gennaio 2017 Pianini (Università di Bologna) Terminale e FS 12 gennaio 2017 1 / 11 Outline 1 Il file

Подробнее

Uso del terminale in ambiente UNIX

Uso del terminale in ambiente UNIX Uso del terminale in ambiente UNIX Non sempre è disponibile un interfaccia grafica sui computer su cui si lavora In questo caso l interazione con il calcolatore avviene attraverso l interfaccia a riga

Подробнее

Lezione 3: Programmazione della Shell di Unix

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

Подробнее

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

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

Подробнее

Nozioni Base di Linux

Nozioni Base di Linux Nozioni Base di Linux Shahram Rahatlou http://www.roma1.infn.it/people/rahatlou/labcalc/ Laboratorio di Calcolo Lezione 2 Hardware Sistema Operativo Software Routine e programmi di base per interagire

Подробнее

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

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

Подробнее

CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS

CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS Comandi da terminale Il comando sleep fa attendere un comando prima dell'esecuzione. Prova il comando: $ sleep 3s && echo Ciao Mondo! $ Comandi da terminale

Подробнее

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

Il sistema operativo UNIX/Linux. Le shell Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino Il sistema operativo UNIX/Linux Le shell Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Introduzione alle shell Strato più esterno del sistema operativo Fornisce l interfaccia

Подробнее

Usare Python in Linux

Usare Python in Linux 26 Febbraio 2015 Outline 1 Struttura e programma delle lezioni 2 3 Outline Struttura e programma delle lezioni 1 Struttura e programma delle lezioni 2 3 Lezione tipo Struttura e programma delle lezioni

Подробнее

Esercitazione 1 la shell

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

Подробнее

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

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 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 Il secondo comando: ls Opzioni: ls l, ls a, ls R ls --full-time Parametri:

Подробнее

Lezione 1: Introduzione alla Shell di Unix

Lezione 1: Introduzione alla Shell di Unix Lezione 1: Introduzione alla Shell di Unix Laboratorio di Elementi di Architettura e Sistemi Operativi 5 Marzo 2013 Chi è UNIX? UNIX è il nome di una famiglia di sistemi operativi, con diverse implementazioni

Подробнее

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

L interfaccia command line di Ubuntu è il Terminale che usa un sistema command line detto bash. BASH La maggior parte del lavoro di un bioinformatico si svolge attraverso un interfaccia command line che al contrario dell interfaccia grafica che usiamo ogni giorno, ha bisogno di comandi di testo esatti.

Подробнее

Introduzione all'uso del sistema operativo Ubuntu

Introduzione all'uso del sistema operativo Ubuntu Introduzione all'uso del sistema operativo Ubuntu Aprire un Terminal. Osservare il prompt dei comandi Una shell è pronta ad interpretare ed eseguire i vostri comandi consentendovi di accedere ai servizi

Подробнее

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

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

Подробнее

Esercitazione GNU/Linux n. 2

Esercitazione GNU/Linux n. 2 2.1 Copiare i file cp (copy) Esercitazione GNU/Linux n. 2 cp file1 file2 è il comando che crea una copia del file1 presente nella directory corrente e la chiama file2 Ciò che faremo adesso, è prendere

Подробнее

Laboratorio di Calcolo Numerico Laboratorio 2: Primi programmi in Fortran 90

Laboratorio di Calcolo Numerico Laboratorio 2: Primi programmi in Fortran 90 Laboratorio di Calcolo Numerico Laboratorio 2: Primi programmi in Fortran 90 Andrea Franceschini E-mail: [email protected] Dispense: http://www.math.unipd.it/ putti/teaching/calcolo ambientale/index.html

Подробнее

Linguistica Computazionale: esercitazioni

Linguistica Computazionale: esercitazioni Esercitazione 1 Felice Dell'Orletta ItaliaNLP Lab (www.italianlp.it) presso Istituto di Linguistica Computazionale A. Zampolli CNR [email protected] 24 settembre 2014 Linguistica Computazionale:

Подробнее

14 - INTRODUZIONE AL SISTEMA OPERATIVO LINUX

14 - INTRODUZIONE AL SISTEMA OPERATIVO LINUX LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 14 - INTRODUZIONE AL SISTEMA OPERATIVO LINUX Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico

Подробнее

Corso di Sistemi Operativi I/II. Introduzione a Linux. Il File System. Ruggero Donida Labati

Corso di Sistemi Operativi I/II. Introduzione a Linux. Il File System. Ruggero Donida Labati Corso di Sistemi Operativi I/II Introduzione a Linux Il File System Ruggero Donida Labati Dipartimento di Informatica via Bramante 65, 26013 Crema (CR), Italy http://homes.di.unimi.it/donida [email protected]

Подробнее

Guida Linux. Molto rapida

Guida Linux. Molto rapida Guida Linux Molto rapida Due parole sull ambiente grafico Potete usare: KDE o GNOME Si sceglie prima di mettere la password. Questione di gusti GNOME KDE Il filesystem Ora voi siete nella vostra home È

Подробнее

Introduzione a Linux. Storia di UNIX

Introduzione a Linux. Storia di UNIX SISTEMI OPERATIVI Introduzione a Linux Storia di UNIX» 1969 - UNIX nasce come proge=o di ricerca presso i laboratori Bell della AT&T.» 1976 - UNIX viene distribuito gratuitamente si diffonde nelle Università

Подробнее

Laboratorio. Sistemi Operativi: Linux/Windows. Giovanni Da San Martino

Laboratorio. Sistemi Operativi: Linux/Windows. Giovanni Da San Martino Laboratorio Sistemi Operativi: Linux/Windows Giovanni Da San Martino [email protected] 1 Sistemi operativi Un sistema operativo è insieme di programmi che gestiscono la macchina fisica. Un sistema operativo

Подробнее

SHELL: File e Filesystem

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

Подробнее

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

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate. Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché

Подробнее

Linux e i software liberi. di Nardean Lorenzo e Redigolo Marco

Linux e i software liberi. di Nardean Lorenzo e Redigolo Marco Linux e i software liberi di Nardean Lorenzo e Redigolo Marco Indice INTRODUZIONE - Cos'è Linux - Software libero - Software libero proprietario - Versioni Linux - Distribuzioni STORIA - L idea - Prima

Подробнее

PROGRAMMAZIONE CONSUNTIVA Codice Mod. RQ 23.2 Pag 1/5. Sistemi e Reti (articolazione Telecomunicazione) Classe

PROGRAMMAZIONE CONSUNTIVA Codice Mod. RQ 23.2 Pag 1/5. Sistemi e Reti (articolazione Telecomunicazione) Classe I.T.C.S. ERASMO DA ROTTERDAM Liceo Artistico indirizzo Grafica - Liceo delle Scienze Umane opz. Economico sociale ITI Informatica e telecomunicazioni - ITI Costruzioni, ambiente e territorio Edile Elettronico

Подробнее