Censorship banner.png

Guri:Terminale

From Wiki - Hipatia
Jump to: navigation, search

Comandi e opzioni utilizzati più spesso dal terminale

List

Il comando ls (List) è un programma che elenca i file e cartelle in un determinato posto. La sintassi del comando e' ls dove

il comando

ls -a 

si usa per vedere i file nascosti

il comando

ls -l 

mostra i file in forma estesa con i permessi

man

questo comando significa manuale e serve semplicemente per vedere le istruzioni di un comando da terminale. Per farlo basta digitare man seguito da un comando di cui vogliamo informarci, nella forma:

man X

dove X è il comando (se il comando non è installato nel sistema "man" non mostrerà niente).


Change Directory

il comando cd (change directory) serve per cambiare la cartella sulla quale stiamo lavorando. Comando cd /home per andare nella home. Nano é un programma di scrittura che permette di modificare file di testo. per farlo basta digitare il comando nano dopo aver aperto una cartella; si aprirà una finestra in cui si potrà scrivere e salvare un file di testo dandogli un nome. se si salva il file apparirà poi nel desktop. N.B. se siamo entrati in una cartella col comando "cd" e vogliamo tornare indietro dobbiamo scrivere il comando "cd" seguito da 2 punti, in questa maniera:

cd ..

cat

il programma cat viene utilizzato per visualizzare il contenuto dei file di testo.

cat file

echo

serve per ripetere la parola appena scritta che se è una parola di testo la scrive tale e quale mentre se è una variabile ti dice il suo valore.

echo parola

tree

questo comando serve a visuallizare un elenco dall'alto verso il basso di file e cartelle. Questo comando è molto simile al comando ls, ma quest'ultimo dispone di tutte le cartelle e i file in orrizzontale e quindi è meno estetico rispetto a tree. Un vantaggio di ls però è poter entrare dentro una sottocartella per visualizzarne il contenuto, mentre con tree non si può fare, bisogna prima entrare nella cartella desiderata usando il comando cd.

traceroute

traceroute è un programma che serve per determinare il percorso che il computer deve fare per andare in un certo posto e anche quanto tempo ci mette. per esempio per andare nel sito di google.com dobbiamo collegarci a questi 13 nodi (vedi riquadro)

traceroute to www.google.com (173.194.35.48), 30 hops max, 60 byte packets
1  192.168.2.1 (192.168.2.1)  0.185 ms  0.157 ms  0.144 ms
2  192.168.1.1 (192.168.1.1)  1.355 ms  1.831 ms  2.067 ms
3  net-93-64-48-1.cust.dsl.vodafone.it (93.64.48.1)  35.791 ms  37.260 ms  38.496 ms
4  * * *
5  * * *
6  * * *
7  83.224.66.254 (83.224.66.254)  86.753 ms  37.228 ms  39.936 ms
8  83.224.66.253 (83.224.66.253)  40.173 ms  41.159 ms  41.646 ms
9  85.205.11.25 (85.205.11.25)  44.382 ms  48.364 ms  48.601 ms
10  72.14.223.169 (72.14.223.169)  45.841 ms  47.826 ms  48.062 ms
11  209.85.249.54 (209.85.249.54)  48.798 ms  49.284 ms  39.368 ms
12  209.85.241.67 (209.85.241.67)  40.828 ms  41.813 ms  38.154 ms
13  mil01s17-in-f16.1e100.net (173.194.35.48)  39.864 ms  40.849 ms  41.335 ms

dpkg

questo programma significa Debian package e serve per installare pacchetti.

dpkg -i pacchetto.deb

pipe (|)

questo comando si trova nella parte alta a sinistra della tastiera e serve per combinare 2 programmi del terminale contemporaneamente. in sostanza il comando scritto prima di "|" fa eseguire il programma mentre quello scritto dopo fa eseguire il programma "dentro" il programma scritto in precedenza. ad esempio il comando

cat X | grep Y

dove X è un file di testo e Y una parola, mostra il file di testo X e contemporaneamente viene mostrata anche dov'è la parola Y dentro il file.

grep

questo comando serve per cercare una o più parole in un file di testo e quindi è molto utile quando dobbiamo cercare una parola in file di testo molto lunghi.

> e >>

questi 2 comandi devono essere scritti in mezzo ad altre 2 parole (come il pipe). il primo comando serve per mettere un comando dentro un file di testo. se ad esempio scriviamo:

ls > X

il computer farà un file di testo denominato X con il risultato del comando ls (ovviamente il file verrà aperta nella cartella dove stiamo scrivendo). il comando >> invece serve per aggiungere comandi dentro un file che abbiamo già creato precedentemente. per esempio possiamo aggiungere altri comandi dentro il file X creato in precedenza.

tee

Questo comando funziona esattamente come il comando ">", però questo comando a differenza del primo ti mostrerà nel terminale quello che verra inserito nel file di testo. l'unica accortezza è che bisogna scriverlo in modo differente preceduto dal pipe, in questo modo:

ls | tee X

ps

questo comando letteralmente significa process status, ovvero stato dei processi, e mostra un elenco di informazioni sui processi al momento presenti nel sistema. esistono molte opzioni di ps che differiscono solo per alcune lettere: "u" fa vedere i processi dell'utente, "x" fa vedere i processi del terminale, "a" invece quelli del sistema e "m" gli argomenti. queste 3 lettere possono essere coombinate fra loro come si vuole. è molto utile anche usare il comando tree per fare un elenco dei processi ad albero, così se ordiniamo di chiudere un processo sappiamo anche quali sotto-processi vengono chiusi.

which

questo comando serve semplicemente per mostrarci il percorso di un programma presente nel sistema operativo.

pwd

questo comando funziona verosimilmente come "which", soltanto che invece di mostrare il percorso di un programma che digitiamo noi ci mostra il percorso della directory sulla quale stiamo lavorando (print working directory).

cp

questo comando significa Copy (copiare), e serve per copiare un file presente in una cartella in un'altra cartella. per farlo bisogna digitare il comando seguito dal percorso con il nome del file e in seguito il percorso dove vogliamo metterlo.

cp file destinazione

move

mv file destinazione

questo comando serve per spostare o per rinominare un file

rm

Questo comando significa remove (elimina), e serve per eliminare un file presente in una cartella.

rm file

mkdir

serve per creare nuove cartelle. per usarlo bisogna digitare il comando seguito dal nome della cartella che vogliamo dare e se vogliamo in seguito scrivere il percorso nel quale vogliamo venga creata.

mkdir cartella

Utenti

su e exit

Il comando "su" letteralmente vuol dire switch user e si usa semplicemente per cambiare utente. Quando si digita questo comando il computer ci chiederà la password del nuovo utente che vogliamo diventare; se non la si conosce non sarà possibile entrare (i caratteri non verranno visualizzati mentre li si digita).C'è la possibilità di entare anche come root ( amministratore ) usando il comando "sudo". Quando si vuole ritornare al proprio utente basterà digitare "exit".

sudo

E' un comando del sistema operativo. E' l'abbreviazione di super user-do Consente di eseguire un programma come Super utente,da amministratore senza usare le credenziali di amministrazione gli utenti autorizzati a usare il programma sudo sono nel file /etc/sudoers per cambiare i permessi si apre il terminale


come accedere a sudo

per aver accesso al file

/etc/sudoers

bisogna prima di tutto essere in root. in seguito aprendo la cartella /etc e digitando in seguito il programma nano con il nome del file si può accedere al file e modificare la parte del testo riservata ai privilegi scrivendo il proprio account seguito dalle stesse parole scritte nell'account di amministrazione(di solito ALL).

"utente"    ALL=(ALL) ALL

Editor di testo nano

Quando si apre il terminale bisogna digitare il comando "ls" (list) per visualizzare l'elenco delle cartelle disponibili: per selezionarne una bisogna digitare il comando "cd" (change directory) seguito dal nome della cartella. infine bisogna digitare la parola "nano" (programma di scrittura) in modo da aprire una nuova finestra in cui scrivere quello che si vuole, salvare il file o uscire con varie combinazioni di tasti elencate in fondo alla finestra. quando si salva il file sarà visualizzabile nella parte grafica del computer.

ifconfig

Il comando " ifconfig" vuol dire letteralmente interface configuration e serve per configurare le diverse schede di rete presenti sul computer. Generalmente esso viene usato per verificare se le diverse schede di rete sono a posto o hanno qualche errore di funzionamento ma anche solo per capire qual'è la scheda di rete principale (generalmente eth0 o eth1). Le schede di rete sono segnate da un nome, un numero e la quantità di bytes trasmessi e ricevuti.

sudo ifconfig -a

visualizza tutte le schede di reti presenti sul computer, comprese quelle nascoste

NB questo comando per sicurezza e ordine può essere utilizzato solo dall'amministratore (root) usando il comando " Sudo" e non dagli utenti normali.


chmod

Il comando chmod(change mode) si usa quando si vogliono modificare i permessi di file e cartelle. Per spiegare meglio questo comando conviene prima di tutto spiegare un altro comando; cioè "ls -l" che farà un elenco di documenti e cartelle con varie caratteristiche, in particolare si concentrerà sulle prime scritte (drwxr-x ecc.). Il numero dei caratteri complessivi è 10 ma per comprenderli bisogna dividerli in 3 gruppi da 3 lettere, e precisamente gruppi composti da "rwx"(a volte con i trattini al posto delle lettere). Il primo carattere "d" sta per directory (cartella), mentre le 3 lettere rwx significano rispettivamente read (lettura), writing (scrittura), execute (avvio). Se al posto delle lettere ci sono scritti dei trattini "-", il primo indica un file, mentre al posto delle altre lettere indicano i permessi negati. Ora i tre gruppi di lettere indicano rispettivamente i permessi dell'utente, del gruppo e degli altri. Dopo di che chmod servirà per modificare i permessi dei diversi utenti e delle diverse funzioni. Per farlo bisogna usare 3 abbreviazioni dopo chmod, rispettivamente: "-R" u(utente), g(gruppo), o(altri) o a(tutti)/ +(aggiungi) -(togli) o =(uguale)/ r,w o x e alla fine bisogna scrivere il nome del file o cartella che vogliamo modificare; il "-R" si usa solo quando ci riferiamo ad una cartella, e serve per far in modo che i permessi si estendano a tutti i file contenenti dentro la cartella. Esiste anche una variante che consente di scrivere più velocemente i permessi di tutti e 3 i gruppi usando semplicemente 3 numeri per gruppo. È possibile scrivere fino a 23 , ovvero 8 numeri, dallo 0 al 7. ogni numero combacia con una combinazione di rwx, e precisamente sono elencati nella tabella qui sotto:

rwx binario numero comando
--- 000 0
--x 001 1 eseguire
-w- 010 2 scrivere
-wx 011 3 scrivere, eseguire
r-- 100 4 leggere
r-x 101 5 leggere, eseguire
rw- 110 6 leggere, scrivere
rwx 111 7 leggere, scrivere, eseguire

chown

Il comando chown(change owner) serve per cambiare il proprietario e il gruppo assegnati ai file e alle cartelle. quando si digita il comando "ls -l" vengono indicati anche il nome del proprietario e del gruppo ai quali appartengono i file e le cartelle. Per cambiare il nome del proprietario basta digitare il comando chown seguito dal nome del nuovo utente e alla fine del file o della cartella che si vuole modificare. Se si intende modificare il gruppo basta digitare "ls -:" prima del nuovo nome del gruppo. Se invece vogliamo modificare sia il proprietario che il gruppo bisogna digitare il nome del proprietario seguito da ":" e infine il nome del gruppo. In sostanza il comando per intero con le incognite è:

chown X:Y cartella o file.

dove X sta per il nome del proprietario mentre Y sta per il nome del gruppo.

rsync

il comando rsync serve per trasferire i file e le cartelle da un computer all'altro. questo programma è molto utile quando bisogna lavorare su più computer di una rete in modo che ognuno possa avere sul suo computer tutti i suoi programmi, cartelle e file. il programma può funzionare in tutti e 2 i sensi, ovvero che può trasferire sul computer in cui si sta lavorando i programmi da un altro computer e può trasferire i programmi del proprio computer su un altro computer. i comandi per fare queste 2 operazioni sono differenti: per il primo si usa il comando:

rsync -avz utente@IP:/home/utente /home

il secondo invece è:

rsync -avz /home/utente utente@IP:/home

in questi comandi utente sta per il proprio account, mentre IP sta per l'indirizzo del computer sul quale vogliamo trasferire i nostri dati o dal quale vogliamo prendere i dati.

Server

ssh

Il comando ssh(secure shell) serve per entrare nell'account di un altro computer e per farlo basta scrivere il comando seguito dall'indirizzo IP del computer su cui vogliamo entrare e in seguito il computer ci chiederà la nostra password per poter entrare. Adesso possiamo spedire tutto ciò che vogliamo all'altro computer, per esempio alcuni file o cartelle.

nmap

questo comando(network map) serve per scansionare una rete. nel nostro caso abbiamo scansionato una rete locale usando il nostro indirizzo IP interno (192.168.1....) per vedere quanti computer sono collegati alla rete locale. per farlo abbiamo digitato il comando seguito dai caratteri "-sP" e infine l'indirizzo IP interno in cui al posto del numero finale verrà scritto 1 - un numero limite di computer in rete che il nostro computer dovrà cercare. ad esempio digitando 1-15 il computer cercherà tutti i computer collegati in rete dall'1 al 15, indicando le loro caratteristiche e quali non sono presenti. il comando complessivo da digitare è questo:

nmap -sP 192.168.1.1-15

una particolarità di questo programma è che oltre a scansionare i computer ci dice anche qual'è la scheda di rete alla quale ogni coputer dev'essere collegato per poter comunicare con gli altri(porta 22). per vedere se questa porta aperta bisogna digitare un altro comando, e precisamente:

nmap -A -T4 192.168.1.X

al posto della "X" bisogna inserire uno dei numeri dei computer che abbiamo scansionato in precedenza con il primo comando che non sia il nostro per verificare se la porta 22 di quel computer è aperta è quindi se è possibile comunicare con esso.

netstat

questo comando serve per vedere i socket del nostro computer. per vedere un determinato socket basta digitare il comando seguito dal pipe e in seguito grep più il nome del processo che socket usa per connettersi. ad esempio:

netstat | grep ssh

mostra il socket che si collega alla porta 22 tramite il processo ssh.