Sei sulla pagina 1di 29

La shell e i comandi in Linux

Conoscere e utilizzare i comandi di Linux


dal terminale - Introduzione
Daniele Piccoli

LinuxTrent

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


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

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


Che cos' la shell e perch si usa?
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.
E' un programma che interpreta ed esegue i comandi
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

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


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

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


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)

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


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.

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


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

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


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...

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


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)

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


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

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


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

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


I comandi di base Agire su file e
cartelle
Comando mkdir
E' necessario un argomento ( il nome della carterlla )
Crea una nuova cartella
Comando rmdir
E' necessario un argomento ( il nome della carterlla )
Elimina una cartella vuota
Comando rm : elimina un file o una cartella (-r)
Opzione (-f) : forza la rimozione dei file
Opzione (-i) : modalit interattiva : chiede sempre
Martedi 1 aprile 2014 - La shell e i comandi Linux - Daniele Piccoli (LinuxTrent) 12
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

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


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)

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


I comandi di base Visualizzare il
contenuto di un file
Comando cat : stampa a video il contenuto di un file (testo)
Cat nomefile
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

Comando more : un filtro che permette di visualizzare l'output di un comando


una schermata alla volta.
more nonefile
cat nomefile | more

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


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 df : visualizza lo spazio occupato nelle partizioni e
lo spazio rimanenete
Opzione -h : mostra la dimensione in formato umano
Comando free : mostra informazioni sulla memoria di sistema
Opzione -h : mostra la dimensione in formato umano

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


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

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


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 lindicizzazione dei file
locate filedacercare.txt
Comando grep : ricerca principalmente nei file
grep pattern file

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


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

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


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 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

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


ecc)
Opzione -r : visualizza la versione del kernel

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


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

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


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

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


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

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


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)

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


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

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


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 )

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


I comandi di avanzati Esempio
di script
#!/bin/sh
#
# Nome utente
echo Immettere nome utente:
read USER_NAME
# Aggiunge lutente allalbero 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

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


Link utili

http://www.mimante.net/doc/comandi.txt
http://wiki.ubuntu-it.org/AmministrazioneSistema/Comandi
Base?action=show&redirect=ComandiBase
http://linux.collectiontricks.it/wiki/Guida_ai_comandi_base
_della_shell_in_GNU/Linux#Muoversi_fra_le_directory

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


Seguitici su Linuxtrent

http://www.linuxtrent.it

Contatto email relatore : ninevolt85@gmail.com

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