Command Line Fu
🐧 Usare Linux su Windows con WSL
La shell Linux
Operating System Concepts
Path assoluti e relativi
Operating System Concepts
/
home
angilica
Scrivania
Scaricati
…
Documenti
ianni
var
log
lib
cryptsetup
scripts
…
dev
sda
sdb
Percorsi assoluti nei vostri programmi == Problemi
Directory corrente | Directory destinazione | Path assoluto | Path relativo |
angilica | Scrivania | /home/angilica/Scrivania | ./Scrivania |
angilica | cryptsetup | /lib/cryptsetup | ../../lib/cryptsetup |
angilica | log | /var/log | ../../var/log |
Variabili di ambiente
Operating System Concepts
Le directories
Operating System Concepts
Directory | Contenuto |
/ | Root directory |
/bin, /sbin, /usr/bin, /usr/sbin | Eseguibili |
/dev | Dispositivi (tutto è un file!) |
/etc | File di configurazione |
/home | Home degli utenti |
/lib | Librerie |
/mnt, /media | File system esterni (non ci sono lettere di drive) |
/opt | Componenti opzionali |
/tmp | File temporanei |
/usr | Molti eseguibili e tanto altro |
/var | File variabili, soggetti a continue modifiche (es. file di log) |
/proc | Processi e varie |
🐧 Usare Linux su Windows con WSL (cont.)
Come navigare le directory
In ogni momento la shell ha una sua cartella corrente.
Ogni utente possiede una sua cartella $HOME
Operating System Concepts
Comando | Descrizione |
mkdir <nomedir> | Crea una nuova cartella dal nome <nomedir> |
cd <nomedir> | Ci si sposta nella cartella <nomedir> |
cd | Ci si sposta in $HOME |
rmdir <nomedir> | Rimuove la cartella dal nome <nomedir> ma SOLO se è vuota |
rm –rf <nomedir> | Rimuove la cartella dal nome <nomedir> e ricorsivamente tutto il suo contenuto*** |
pwd | Mostra il path in cui ci si trova |
ls <nomedir> | Lista il contenuto della cartella <nomedir> |
*** È PERICOLOSO. Tutto ciò che è stato eliminato non potrà più essere recuperato
Come gestire i file
Operating System Concepts
Comando | Descrizione |
cp file1 file2 | Crea una copia del file1 in file2 |
cp file1 .. filex directory | Crea una copia di tutti i file specificati in directory |
mv file1 file2 | Rinomina il file1 in file2 |
mv file1 .. filex directory | Sposta tutti i file specificati nella in directory |
rm file1 | Rimuove il file1 |
less file1 | Legge il contenuto del file1 in modalità interattiva |
cat file1 | Stampa su terminale il contenuto di file1 |
nano file1 | Modifica il file1 da terminale (alias: pico) |
file filename | Analizza il tipo di file di filename |
touch file1 | Crea un nuovo file vuoto dal nome file1 |
Ricerca tra directory e file
Operating System Concepts
Comando | Descrizione |
find <nomedir> -name file1 | Cerca i file di nome file1 a partire dalla directory <nomedir> |
find <nomedir> -name *.txt | Cerca i file che hanno estensione .txt a partire dalla directory <nomedir> |
grep –R parola <nomedir> | Cerca in tutti i file collocati nella directory <nomedir> la parola parola e restituisce le righe che la contengono |
grep parola file1 | Mostra solo le righe del file1 che contengono la parola parola |
Caratteri Jolly
Operating System Concepts
Come funzionano i caratteri jolly
Operating System Concepts
Navigare tra i comandi e shortcut
Operating System Concepts
Comando | Descrizione |
CTRL + R | Avvia la ricerca di comandi tra la history dei comandi eseguiti in passato |
Tasti freccia | Scorre i precedenti comandi |
Tab | Completa i nomi di file e dei comandi |
CTRL + L | Ripulisce il terminale (scorciatoia comando clear) |
CTRL + C | Interrompe l’esecuzione di un comando |
Programmi console e loro canali di input
Operating System Concepts
Programma
Standard Input
STDIN, cin
Es: cin >> nomeUtente;
Standard output
STDOUT, cout
Es: cout << “Ciao”;
Standard error
STDERR, cerr
Es: cerr << “No file”;
Linea di comando
@ARGV, argv[ ]
Es: nomedir = argv[1];
Redirezione stdout ed stderr
Operating System Concepts
P1
F1
P1
F1
Redirezione stdout ed stderr
Operating System Concepts
P1
F1
Redirezione e piping
Operating System Concepts
P1
F1
P1
F1
NON E’ LA STESSA COSA DI
Redirezione e piping
Operating System Concepts
P1
P2
Redirezione e piping: xargs
Operating System Concepts
P1
P2
Redirezione e piping
Operating System Concepts
Gestione processi e job
Operating System Concepts
Comando | Descrizione |
ps | Mostra la lista dei processi attivi e i loro id |
top | Mostra la lista dei processi attivi in tempo reale dei processi e le attività gestite dal kernel |
htop | Come top ma semplificato e con possibilità di interazione da parte dell’utente |
kill <pid> | Termina il processo con il process id (pid) specificato |
jobs | Mostra i task eseguiti in background dall’utente |
fg | Sposta un task da background in foreground |
bg | Riprende l’esecuzione di un task lasciato in sospeso in background |
Diritti di accesso
Operating System Concepts
Diritti di accesso
Operating System Concepts
Diritti di accesso
Operating System Concepts
N.B. Di default, chmod +w file non modifica i permessi in scrittura di g e o
‘r’ e ‘x’ per cartelle
Operating System Concepts