Comandi Shell Linux

Da Wiki-itsos.

Situazione iniziale

Questo gruppo di esercizi va compilato utilizzando queste specifiche:
1- Bisogna avere attiva la propria macchina virtuale di livello 1a:
• con utente tech e password supp
• root attivata
• il nome host DEVE contenere il <VostroCognome>
• ricordarsi che la macchina deve essere accessibile via SSH

2- Generare un nuovo messaggio avente come oggetto Shell

3- Copiare Il contenuto di questo messaggio dalla riga in poi e incollarlo nel nuovo messaggio, indirizzato alla conferenza 3InfoA-Shell

4- Eseguire una alla volta le attività indicate con il simbolo

5- Incollare sotto ciascuna attività l'evidenza che il comando è stato eseguito nella vostra macchina virtuale

Sito di riferimento http://wiki.ubuntu-it.org/AmministrazioneSistema/ComandiBase#ComandiBase#Introduzione
Si consiglia di tenere aperta la pagina del sito (ed eventualmente consultarlo) mentre eseguite gli esercizi

Azioni da svolgere

Collegarsi alla vostra macchina virtuale

Base

1- Su che sistema Hardware stiamo lavorando? Comando

uname

- Ottenere più informazioni con il parametro -a

2- Produrre una evidenza temporale con il Comando:

date


Gestire File e directory.

3- Dove mi trovo? Comando

pwd


4- Vedere il contenuto della directory. Comando:

ls 

- Esaminare i parametri di ls, quindi eguire ls in 3 modi diversi, possibilmente significativi

Informazione: i file il cui nome incomincia con il simbolo . ( punto - in inglese dot) sono normalmente invisibili.
Per vedere i file invisibili dovete aggiungere a ls il parametro -a.

5- Cambiare posizione. Comando:

cd

- Posizionarsi alla radice del disco ( / ) e mostrare il suo contenuto
- posizionarsi nel percorso /home/tech e mostrare il suo contenuto
- se siete utente tech, /home/tech viene chiamata la vostra home directory.
- da /home/tech, dare per 2 volte il comando cd ..

Nota bene: il comando cd (senza altre aggiunte) porta qualunque utente alla sua home directory (homedir)


Percorsi assoluti e percorsi relativi

E' importante cogliere la differenza fra percorso assoluto e percorso relativo. Ad esempio: se sono in homedir e do il comando cd cartella, sto dando un percorso relativo, precisamente sto dicendo al sistema di spostarsi nella sottodir cartella della mia homedir.

Se invece scrivo cd /library, (notate la / prima di library) sto dando un percorso assoluto. Sto dicendo al sistema di spostarsi nella sottodir library della root, qualunque sia la mia attuale dir di lavoro.



6- Creare directory. Comando:

mkdir 

- posizionatevi preventivametne in /home/tech
- create la directory prova
- mostrate con ls il risultato
- collaudate le 2 varianti di mkdir mostrate sul sito

7- Creare file VUOTI. Comando:

touch 

- posizionatevi preventivametne in /home/tech
- create il file vuoto.txt
- mostrate con ls il risultato

8- Copiare file o directory. Comando:

cp 

- utilizzare la directory /prova, creata nel punto precedente, come destinazione dei file da copiare
- quindi copiate in prova un file qualsiasi, dando l'evidenza del comando dato, del suo esito, e del contenuto della directory prova
Più in dettaglio:
- posizionatevi preventivametne in /home/tech
- copiate il file vuoto.txt dentro la dir /home/tech/prova con il comando

cp vuoto.txt /home/tech/prova/

- copiate il file vuoto.txt dentro la dir /home/tech/prova e insieme cambiategli nome in miofile con il comando

cp vuoto.txt /home/tech/prova/miofile

- mostrate con ls il risultato
Copiate quindi una intera directory, usando il comando cp -r come spiegato sul sito

9- Spostare file o directory. Comando:

mv 

- posizionatevi preventivametne in /home/tech
mv agisce come cp con l'importante differenza che NON crea una copia, SPOSTA l'originale
- testate mv su alcuni file e su alcune cartelle (per fare esperimenti, usate solo file e cartelle in /home/tech, evitate di fare test in / e sui file di sistema)

10- Cancellare file o directory. Comando:

rm  rmdir 

- posizionatevi preventivametne in /home/tech
rm cancella uno o più file (accetta caratteri jolly, come * - usare con cautela)
rmdir cancella le dir (se non sono vuote, bisogna dare opzione rm -r (usare con cautela)
- testate rm e rmdir su alcuni file e su alcune cartelle (per fare esperimenti, usate solo file e cartelle in /home/tech, evitate di fare test in / e sui file di sistema)


Informazione utile sulla shell: tutti i comandi digitati, vengono memorizzati, e possono essere richiamati utilizzando il tasto freccia su. Anche i comandi dati in sessioni precedenti alla nostra.



Informazioni sul sistema

11- Che versione di sistema operativo stiamo usando? Comando:

lsb_release -a

Attenzione, dopo lsb_release un parametro è obbligatorio

12- Come stiamo usando la memoria? Comando:

free


13- Quanto spazio abbiamo su disco? Come è occupato? Comando:

df

(aggiungere il parametro -h e cofrontare l'esito)

14- Come è formattato/partizionato il disco? Comando:

fdisk -l


15- Come trovare un file o un percorso sul disco? Comando:

find [directory] [espressione]

Eseguire alcune ricerche come mostrato sul sio, e riportare qui sotto i risultati ottenuti

16- Come estrarre una informazione in mezzo a molte? Comando:

grep

Attenzione: la comprensione piena di questo esercizio necessita di spiegazione in classe.
As esempio, se ci posizioniamo nella radice e scriviamo find * otterremo un grande numero di file.
(per interrompere la visualizzazione, premere il tasto Ctrl e, insieme, il tasto c )

Se vogliamo, ad esempio, estrarre solo le righe che contengono la parola home, daremo il comando
find * | grep home


Gestione di servizi e processi

17- come visualizzare i processi attivi? Comando:

top


18 - Come interrompere un processo? Comando:

kill


(attenzione, usare con cautela: non interrompere processi vitali o il sistema sarà compromesso)

19- Alternativo a kill: usare top per interrompere un processo quindi lanciate il comando top, individuate un processo, dare il comando k, seguito dal PiD del processo da interrompere, e premere Invio.


20- Come visualizzare i servizi attivi? Comando:

netstat -tap