Sei sulla pagina 1di 5

Dopo che abbiamo installato la nostra VirtualBox e creato uno spazio per il sistema operativo di

Xubuntu, installiamo Xubuntu e iniziamo a conoscere un po’ questo sistema operativo.

Apriamo la shell di Xubuntu e proviamo a muoverci tra le cartelle principali.


Come abbiamo visto, le cartelle sono viste come file per cui risulta più facile lavorare con esse.
La shell dei comandi è case sensitive, cosa si intende? Scrivere una parola utilizzando le lettere
maiuscole, ad esempio, è diverso dallo scrivere la stessa parola ma con le lettere minuscole, quindi
per case sensitive si intende che la scrittura di una parola anche per dimensioni del carattere è molto
accurata
Tra le cartelle più importanti troviamo:

/root
/bin
/dev
/etc
/home
/lib
/proc
/srv
/sys
/tmp
/usr
/var

Possiamo muoverci tra le cartelle utilizzando il comando cd


cd .. permette di tornare alla cartella superiore
cd ~ permette di andare direttamente alla cartella dell’utente con cui siamo loggati
cd / permette di tornare alla cartella del file system
Per riuscire a muoverci più agilmente all’interno delle cartelle, possiamo utilizzare il comando ls che
ci permette di vedere quali file e sottocartelle sono contenuti all’interno della cartella, in cui ci
troviamo; torna comodo utilizzare ls per verificare anche il modo in cui sono scritti i file, in quanto
la scrittura dei comandi è case sensitive
Immaginiamo ora di voler implementare il nostro sistema operativo installando qualche programma
che possa tornarci comodo, magari per scrivere.
Possiamo installare il software synaptic che ci permette di gestire l’installazione e l’aggiornamento
dei pacchetti
Oppure possiamo utilizzare, direttamente nella shell, il comando
sudo apt install [nome del programma]
- sudo (SuperUser DO) è il comando che permette di eseguire i comandi come amministratore
root, anche se siamo loggati con un altro account
- apt o apt-get sono comandi che permettono di gestire i pacchetti direttamente dalla shell,
sono seguiti da install (per installare) o da search (per cercare) e il nome del software di
nostro interesse
Come esercizio proviamo ad installare kate, un editor di testo che potremmo utilizzare per riuscire
a visualizzare diversi tipi di file
Per eseguire basta scrivere kate e premere invio
Per vedere tutti i processi possiamo utilizzare il comando pstree e se scriviamo pstree | grep kate
vedremo i processi collegati a kate
Per terminare un processo specifico si può usare il comando kill [nome processo]
Altrimenti per uccidere tutti i processi attivati da un programma si può usare il comando killall
[processo]

Esiste anche un editor di testo già presente nella shell, nano, per utilizzare nano basta scrivere:
nano [nomefile.estensione]
Per scrivere un file è possibile utilizzare anche il reindirizzamento, >. Il reindirizzamento permette
di eseguire il comando scritto direttamente all’interno di un nuovo file, ad esempio scrivendo
echo ciao mondo > ciao.txt
scriveremo un file ciao.txt con all’interno il testo ciao mondo
Per cercare un file, invece, possiamo utilizzare il comando find nome.estensione
Find può essere usato in più modi, ad esempio, se non conosciamo l’esatto nome del file che stiamo
cercando possiamo usare l’asterisco, *, per cercare tutti i file.
Per raffinare la ricerca, invece, possiamo aggiungere il segno pipe | e il comando grep con una o più
parole per raffinare la nostra ricerca, ad esempio find *.* | grep ciao

Come esercizio:
1 creare nella nostra cartella utente una cartella chiamata test, in cui creare una sottocartella, in
quest’ultima inserire un file (usare echo), in cui scrivere una stringa di errore che sono stati cancellati
i driver del touchpad ad esempio
2 tornare nella cartella utente, e con il comando sudo iniziale creare una cartella chiamata testroot,
che a sua volta ha una sottocartella
3 le due cartelle test si trovano in /home/nomeutente, attraverso l’interfaccia grafica (non
utilizzando la shell) provare ad andare in testroot/sottocartella e quindi provare a creare un file
come quello sopra

Siete riusciti a creare il file?


Non ci riuscite, perché quando abbiamo creato testroot eravamo superutenti. Utilizzando
l’interfaccia invece siamo “solo” l’utente con cui siamo loggati e non avevamo i permessi per
eseguire altre funzioni. Proviamo a controllare cosa vuol dire avere i permessi:
Con il tasto destro facciamo click sulla cartella, andiamo in proprietà si apre una finestra, facciamo
click su Permessi

In queste finestre è possibile vedere i permessi della cartella o del file.


Quali sono i permessi?
- r lettura
- w scrittura
- x esecuzione
Questi possono combinarsi e dare diversi gradi di permessi, e chi può avere i permessi?
- proprietario
- gruppo (è possibile indicare un gruppo solo)
- altri
Nell’esempio, a sinistra, è possibile vedere che la cartella è stata creata da un utente Gloria, mentre
nel secondo caso la cartella è stata creata da root.
Solo il proprietario può modificare i permessi di un file, ad eccezione del root, che può eseguire tutti
i comandi.
Nella finestra si legge che al proprietario è permesso l’accesso in lettura e in scrittura, (rimane
sottointeso il permesso di esecuzione).
Subito sotto può essere indicato il tipo di accesso ai gruppi e nell’esempio il gruppo famiglia può
solo leggere
Infine viene indicato il tipo di permesso riservato a tutti gli altri utenti
Possiamo cambiare i permessi di accesso ai file e cartelle anche da shell, con il comando chmod
[utenti u(utente) g(gruppo) o(other)] [+(aggiungi) –(togli)] [permesso r/w/x] [nomefile o
nomecartella] ad esempio
chmod ugo +r -w test
in questo modo renderemo la cartella test leggibile per tutti gli utenti, proprietario/gruppo/other
ma non sarà scrivibile per nessuno

Riassunto dei comandi


man : formatta e mostra le pagine della guida in linea.
help : richiama l'help per i comandi built-in della shell.
cd : cambia la directory corrente.
ls : mostra il contenuto di una directory.
cp [nome file o directory]: copia file e directory.
mv [nome file o directory]: muove o rinomina un file o una directory.
rm [nome file o directory]: cancella file e directory.
mkdir [nome directory]: crea una directory.
cat [nome file]: mostra il contenuto di un file.
find [nome file]: cerca un file tra le directory.
-name xxx cerca file di nome xxx. -type X cerca file di tipo X (_d_irectory, _f_ile)
grep [nome file] permette di raffinare la ricerca
chmod : modifica i permessi di accesso di un file.
metodo numerico: primo numero (opzionale):
4 : set user ID
2 : set group ID
1 : swappa la text image
secondo numero; permessi del proprietario:
4 : lettura
2 : scrittura
1 : esecuzione
terzo numero; permessi del gruppo, stessi valori.
quarto numero; permessi degli altri, stessi valori.
-R ricorsivo.
chown : cambia il proprietario di un file o directory.
user.group setta il proprietario a user.group
-R ricorsivo.

kill : invia un messaggio (TERM di default) ad un processo.


killall: invia un messaggio a tutti i processi con uguale nome.
-s specifica che deve inviare il segnale s.
-i chiede conferma per ogni processo.
clear : pulisce lo schermo del terminale.
who : mostra chi è loggato.
whoami: indica l'username con cui si è attualmente loggati.

Potrebbero piacerti anche