La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele...

29
Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 1 La shell e i comandi in Linux Conoscere e utilizzare i comandi di Linux dal terminale - Introduzione Daniele Piccoli LinuxTrent

Transcript of La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele...

Page 1: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 1

La shell e i comandi in Linux

Conoscere e utilizzare i comandi di Linux dal terminale - Introduzione

Daniele Piccoli

LinuxTrent

Page 2: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 2

Sommario argomenti

● Che cos'è una shell e perchè si usa?

● Quanti tipi di shell esistono e quali sono le più usate?

● Come si apre una shell?

● Caratteristiche della shell?

● Dove/chi siamo nella shell?

● I comandi di base

● I comandi avanzati

Page 3: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3

Che cos'è la shell e perchè si usa?

● E' un programma che interpreta ed esegue i comandi

● E' l'interfaccia testuale tramite la quale l'utente può operare sul sistema; viene lanciata dal processo di login dopo che il processo di autenticazione è andato a buon fine.

● Ci consente di impartire comandi e ci restituisce dei risultati

● La shell permette di esplorare e monitorare il sistema, creare, modificare e eliminare file, controllare i processi, ecc.

● La shell è molto potente e molto pericolosa se non prestiamo attenzione a quello che facciamo

Page 4: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 4

Quante shell esistono e quali sono le più usate?

● Esistono svariate shell che si possono utilizzare

● La più utilizzata è la shell “bash”, che è impostata come predefinita su molte distribuzione linux

● Altri esempi di shell sono : sh, tcsh, ash, ksh, zsh, ecc

● In questa serata parleremo della shell “bash”

Page 5: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 5

Come si apre una shell?

● Esistono vari modi per accedere a una shell

● Il prompt dei comandi ( se non c'è un interfaccia grafica installata )

● La finestra del terminale (xterm, gnome terminal, konsole,.. )

● Il terminale virtuale (Ctrl+Alt+F1...F6)

● Nel caso in cui non ci sia l'interfaccia grafica o usiate uno dei terminali virtuali a disposizione, per poter entrare è necessario specificare un nome utente e una password validi (e abilitati all' uso)

Page 6: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 6

Caratteristiche della shell?

● E' case-sensitive (differenza tra maiuscole e minuscole)

● Fornisce autocompletamento dei comandi usando il tasto TAB

● Possibilità di definire alias per i comandi

● History dei comandi usati

● Possibilità di redirigere l'output di un comando sull' input di un altro comando

● Funzionalità di scripting e funzioni condizionali e di ciclo.

Page 7: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 7

Dove/chi siamo nella shell?

● Quando siamo entrati nella shell ci vengono fornite alcune informazioni: [nomeutente@nomehost cartella] $ o #

– Il nome utente che ha effettuato l'accesso (alla shell)

– Il nome della macchina locale

– La cartella in cui ci troviamo

– Il simbolo $ se siamo normali utenti

– Il simbolo # se siamo l'utente root

● Comando who, whoami e id

Page 8: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 8

I comandi di base

● Esistono varie tipologie di comandi: vediamone alcune

– BuiltIn : comandi interni alla shell (quindi caratteristici della shell in questione. Es: type, alias, exit, help, history,ecc )

– Programmi (detti anche comandi esterni) : normalmente si trovano nelle cartelle a cui punta la variabile $PATH

– Alias : puntano ad un comando già esistente, magari aggiungendo dei parametri e lo associano ad un altro nome

– Scripting dalla shell

● Ora iniziamo a vederli in azione...

Page 9: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 9

I comandi di base – Ottenere aiuti

● Comando man : formatta e mostra le pagine della guida in linea.

– man comando (es: man bash)

– tasto di uscita : q

● Opzione --help: mostra il funzionamento e le possibili opzioni del comando specifico

– Comando --help (es: ls --help)

Page 10: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 10

I comandi di base – Muoversi tra le cartelle

● Comando cd

– Se usato da solo ci porta alla nostra home directory

– Se viene specificato un percorso ci porta al suo interno; i percorsi che si possono specificare sono di 2 tipi :

● Relativi ( ./directory oppure ../directory/ )● Assoluti ( /home/pippo/directory/ )

● Comando pwd : ci restituisce la directory in cui ci troviamo

Page 11: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 11

I comandi di base – Listare il contenuto di una cartella

● Comando ls : stampa a video la lista dei file e delle cartelle contenute nella cartella corrente

– Accetta opzioni : -l (mostra dettagli), -a (mostra i file nascosti), -h (mostra le dimensioni in modalità HUMANA), -S (ordina i file per dimensione), ecc

– E' un alias a ls --color=auto

● Comando dir : si trova in alcune distribuzioni e sostanzialmente fa le stesse cose di ls

Page 12: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 12

I comandi di base – Agire su file e cartelle

● Comando mkdir

– E' necessario un argomento ( il nome della carterlla )

– Crea una nuova cartella

● Comando rm : elimina un file o una cartella (-r)

– Opzione (-f) : forza la rimozione dei file

– Opzione (-i) : modalità interattiva : chiede sempre

● Comando rmdir

– E' necessario un argomento ( il nome della carterlla )

– Elimina una cartella vuota

Page 13: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 13

I comandi di base – Agire su file e cartelle

● Comando cp : copia file e cartelle

– Sono necessari 2 argomenti ( il nome del origine e della destinazione )

– Copia

● Comando mv : sposta file/cartelle – rinomina file/cartelle

– Sono necessari 2 argomenti ( il nome del origine e della destinazione )

– Sposta e rinomina

Page 14: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 14

I comandi di base – Agire su file e cartelle

● Comando touch : crea un nuovo file o imposta la data di ultima modifica/accesso su un file esistente

– touch nomefile

● Comando ln : usato per creare dei link

– Opzione -s (soft) : creare link simbolico (il classico link)

Page 15: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 15

I comandi di base – Visualizzare il contenuto di un file

● Comando cat : stampa a video il contenuto di un file (testo)

– Cat nomefile

● Comando more : È un filtro che permette di visualizzare l'output di un comando una schermata alla volta.

– more nonefile

– cat nomefile | more

● Comando less : less visualizza il contenuto di file, permette di spostarsi avanti e indietro nel testo utilizzando i tasti freccia quando i file occupano più di una pagina di schermo.

– less nomefile

Page 16: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 16

I comandi di base – Ottenere informazioni sul sistema

● Comando du : Il comando du visualizza lo spazio occupato sul disco da file o directory.

– du nomefile

● Comando free : mostra informazioni sulla memoria di sistema

– Opzione -h : mostra la dimensione in formato umano

● Comando df : visualizza lo spazio occupato nelle partizioni e lo spazio rimanenete

– Opzione -h : mostra la dimensione in formato umano

Page 17: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 17

I comandi di base – I comandi intergrati (builtin) nella shell

● Comando exit : esce dalla schell aperta da quell' utente

● Comando history : mostra la cronologia dei comandi digitati

– Per ripetere un comando già usato si usa !numerocomando

● Comando type : mostra dove si trova l'eseguibile di un comando

● Comando alias : mostra gli alias assegnati

– Alias nome='nome comando –opzioni' → Crea un nuovo alias

– Unalias nome → Elimina un alias

● Comando clear : pulisce la shell corrente mandando l'output sopra

Page 18: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 18

I comandi di base – Ricerche

● Comando find : ricerca files nelle directory gerarchicamente.

– find percorsodiricerca -name nome.txt

– Supporta i caratteri jolly : *● Comando locate : ricerca i file utilizzando l’indicizzazione dei file

– locate filedacercare.txt● Comando grep : ricerca principalmente nei file

– grep pattern file

Page 19: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 19

I comandi di base – Altri

● Comando poweroff : spegne la macchina

● Comando reboot : riavvia la macchina

● Comando startx : avvia l'interfaccia grafica (X Windows System)

● Comando alias : mostra gli alias assegnati

● Comando clear : pulisce la shell corrente mandando l'output sopra

Page 20: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 20

I comandi avanzati – Ottenere informazioni sul sistema

● Comando top : Il comando top visualizza informazioni riguardanti il proprio sistema, processi in esecuzione e risorse di sistema, utilizzo di CPU, RAM e spazio swap utilizzato e il numero di task in esecuzione.

● Comando uname : mostra informazioni sul sistema (nome e versione kernel, ecc)

– Opzione -r : visualizza la versione del kernel

● Comando ps : visualizza un elenco dei processi correnti.

– Opzione -u : visualizza i processi dell' utente

– Opzione -ax : mostra tutti i processi con relativo utente che hanno un PID

Page 21: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 21

I comandi di avanzati – Gestire i processi

● Comando kill : arresta un determinato processo

– Si deve specificare il PID relativo al processo

– Opzione -9 : forza la chiusara del processo

● Comando xkill : permette di selezionare una finestra nella GUI e fermare il relativo processo

Page 22: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 22

I comandi di avanzati – Ottenere informazioni sul hardware

● Comando lspci : Visualizza informazioni sui device PCI, AGP, chipset, controller SATA, ecc che sono connessi e rilevati dal sistema

– Opzione -v (verbose): produce un output più prolisso

● Comando lsusb : visualizza informazioni sui device usb connessi e sugli hub

● Comando lshw : mostra molte informazioni sul sistema

● Comando arch : mostra l'architettura del S.O in uso

Page 23: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 23

I comandi di avanzati – Gestire i dischi e il file system

● Comando fdisk -l: visualizza informazioni sui dischi e le partizioni

– Fdisk /dev/sdX : entra in fdisk e permettere di creare/modificare/eliminare le partizioni

● Comando mount : mostra i dispositivi montati

– mount /dev/sXX /mnt/cartella● Comando umount : smonta un determinato dispositivo

Page 24: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 24

I comandi di avanzati – Installare e gestire pacchetti/repository

● In distro debian-based

– Apt-get o aptitude

– Apt-get update : aggiorna l'elenco dei pacchetti

– Apt-get install nomeprogramma : installa il programma indicato soddisfando le dipendenze (se possibile)

● In distro rhel-based

– Yum check-update : aggiorna l'elenco dei pacchetti

– Yum install nomeprogramma : installa il programma indicato soddisfando le dipendenze (se possibile)

Page 25: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 25

I comandi di avanzati – Gestire la rete

● Comando ifconfig : visualizza la configurazione di rete per le interfaccie installate nel sistema

● Comando iwconfig : specifico per le reti wireless

● Comando ip addr : andrà a sostituire il comando ifconfig; permette la gestione delle VLAN e altre cose

Page 26: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 26

I comandi di avanzati – Redirigere l'output di un comando

● | : redirige l'output di un comando sull' input di un altro comando

– cat nomefile | grep stringa

– cat nomefile | less

– find . -type f | wc -l

● > >> : Redirigono l'output su un file di testo

– lspci > devicepci.txt (sovrascrive il contenuto)

– lspci >> devicepci.txt (aggiunge al termine )

Page 27: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 27

I comandi di avanzati – Esempio di script

● #!/bin/sh

● #

● # Nome utente …

● echo “Immettere nome utente:“

● read USER_NAME

● # Aggiunge l’utente all’albero LDAP e imposta la password di primo accesso

● /bin/netuseradd -a -m -G 5004,5009 -d /home/cartella_gruppo/$USER_NAME -P -B 1 $USER_NAME

● # Aggiunge l'utente alla lista di dansguardian (srv-squid:/etc/dansguardian/lists/filtergroupslist)

● echo $USER_NAME=filter5 | ssh root@srv-squid 'cat >> /etc/dansguardian/lists/filtergroupslist'

● # Aggiunge l'utente alla lista di kattive (srv-squid:/etc/dansguardian/list/kattivefiltergroupslist)

● echo $USER_NAME=k_docenti | ssh root@srv-squid 'cat >> /etc/dansguardian/lists/kattivefiltergroupslist'

● #Ricarica la configurazione di dansguardian sul server Squid

● ssh root@srv-squid dansguardian -r

Page 28: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 28

Link utili

● http://www.mimante.net/doc/comandi.txt

● http://wiki.ubuntu-it.org/AmministrazioneSistema/ComandiBase?action=show&redirect=ComandiBase

● http://linux.collectiontricks.it/wiki/Guida_ai_comandi_base_della_shell_in_GNU/Linux#Muoversi_fra_le_directory

Page 29: La shell e i comandi in Linux · Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 3 Che cos'è la shell e perchè si usa? E' un programma che interpreta

Martedi 1° aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 29

Seguitici su Linuxtrent

http://www.linuxtrent.it

Contatto email relatore : [email protected]