Ubuntu, come tutte le distribuzioni Linux, consente di dare comandi diretti attraverso il terminale che può essere attivato nei seguenti modi:

  • Da Applicazioni > Accessori > Terminale.
  • premendo contemporaneamente CTRL + ALT + F1. A tutto schermo appare il 1° terminale dei sei disponibili (F1, F2, F3, F4, F5, F6). Per ritornare a lavorare in modalità grafica premere CTRL + ALT + F7.

La necessità  di ricorrere al Terminale nasce dal fatto che attraverso la riga di comando è possibile eseguire operazioni molto efficaci, che in certi casi risultano quasi impossibili utilizzando l’interfaccia grafica.

Inoltre è possibile ripetere o correggere un comando dato precedentemente semplicemente richiamandolo con le frecce su o giù da tastiera o con il comando history.

Principali comandi Linux

Segue un elenco dei principali comandi di Linux. Un comando può avere una serie di opzioni che solitamente sono indicate con il segno “-“

<comando> <-opzione1> <-opzione2> …

Ogni spazio bianco separa il comando da ogni opzione.

Esempio

$ ls -l

help: manuale dei comandi

<comando> –help è la guida che spiega la sintassi del comando

$ ls –helpE’ la guida che spiega la sintassi del comando ls
$ ls –help | lessconsente di visualizzare la guida del comando ls su più pagine video (vedi comando less)

cd: cambio directory (cartella)

cd <directory> consente di cambiare la directory corrente in quella indicata in <directory> (change directory)

$ cd Desktopse la directory corrente è home porta nella directory Desktop
$ cd ..porta della directory superiore (o padre)
$ cd /varin qualunque directory ci si trovi porta nella directory /var
$ cd ~ oppure cdporta della directory home dell’utente (/home/[nome utente])
$ cd –porta della directory precedente

pwd: mostra la directory corrente

pwd: questo comando ci permette di sapere in che directory ci troviamo

ls: lista il contenuto di una directory (cartella)

ls <opzioni> [<directory>] visualizza il contenuto di una directory (list)

-a lista anche i file nascosti
-l mostra tutte le informazioni per ogni file (formato lungo)
-k dimensione dei file è in Kb (normalmente è in byte).
-F classifica i file a seconda del tipo.

$ ls -lcontenuto della directory corrente in formato lungo
$ ls -a /contenuto della directory iniziale (root) compresi i file nascosti
$ ls -lahcontenuto della directory corrente in formato lungo
$ ls -Relenco ricorsivo

cp: copia file e directory

cp: questo comando ci permette di copiare un file o una directory (copy)

-r copia le directory e le sottodirectory ricorsivamente

$ cp file1 cart1copia file1 dentro la directory cart1
$ cp -r cart1 cart2copia tutta la directory cart1 dentro a cart2
$ sudo cp -a cart1 cart2copia tutta la directory cart1 dentro a cart2 mantenendo gli stessi permessi e le informazioni su data e ora di creazione
$ cp -rv cart1 cart2copia tutta la directory cart1 dentro a cart2 visualizzando l’operazione (verbose)

mv: muove o rinomina un file o una directory

mv: con questo comando è possibile spostare file o directory (move). Può essere anche utilizzato per rinominare un file o una directory.

-i chiede la conferma

$ mv vecchio nuovorinomina il file vecchio in nuovo
$ mv file1 cart1sposta il file file1 dentro la directory cart1

rm: rimuove un file o una directory

rm con questo comando è possibile cancellare uno o più file (remove)

-rf cancella ricorsivamente sia le cartelle che il loro contenuto

$ rm file1 file2cancella file1 e file2
$ rm *.*cancella TUTTO il contenuto della directory corrente. Le eventuali directory presenti non saranno rimosse. Da usare con cautela !
$ rm -rf cart1cancella tutto il contenuto della directory cart1

rmdir: rimuove una directory vuota

rmdir: con questo comando è possibile cancellare una o più directory vuote (remove directory)

$ rmdir provacancella la directory vuota prova

mkdir: crea una directory

mkdir: con questo comando è possibile creare una directory (make directory)

$ mkdir provacrea la directory prova

pwd: mostra la directory corrente

pwd: con questo comando è possibile sapere in quale directory ci troviamo (print working directory)

$ pwdSe l’utente ziopixel si trova nella cartella principale visualizza /home/ziopixel

chmod: modificare i permessi di un file

chown con questo comando è possibile modificare il permessi di un file.

Per un approfondimento dettagliato sui permessi vedi http://it.wikipedia.org

Il parametro -R consente di modificare ricorsivamente i permessi delle directory indicate e del loro contenuto.

$ chmod 0755 file1imposta lettura, scrittura ed esecuzione per il proprietario, e lettura ed esecuzione per gruppo ed altri per file1
$ sudo chmod -R 0755 dir1imposta lettura, scrittura ed esecuzione per il proprietario, e lettura ed esecuzione per gruppo ed altri per la directory di1 e per i file contenuti
$ chmod u+rwx file1imposta lettura, scrittura ed esecuzione per il proprietario lasciando inalterati gli altri permessi
$ chmod ugo+rwx file1imposta lettura, scrittura esecuzione per tutti (u user, g group, o other)
$ chmod ugo-x file1rimuove il permesso di esecuzione a tutti

 

chown: modificare il proprietario di un file

chown: con questo comando è possibile modificare il proprietario di un file.

Il parametro -R consente di modificare ricorsivamente i permessi delle directory indicate e del loro contenuto.

$ chown nome1 file1rende il file1 proprietario di nome1
$ chown nome1:gruppo1 file1rende il file1 proprietario di nome1 e del gruppo1
$ chown -R nome1:gruppo1 dir1rende la directory dir1 e i file contenuti proprietari di nome1 e del gruppo1
$ sudo chown -R root:root drupalrende la directory drupal e i file contenuti proprietari di root e del root

cat: visualizza il contenuto di uno o più file

cat con questo comando è possibile visualizzare il contenuto di uno o più files

$ cat file1Visualizza il contenuto del file1
$ cat file1 file2 > file3crea file3 con il contenuto di file1 e file2
$ cat file1 file2 >> file3aggiunge il contenuto di file1 e file2 al file3
$ cat file1 -nVisualizza il contenuto del file1 numerandolo
$ tac file1Visualizza il contenuto del file1 in ordine inverso

more: visualizza il contenuto di un file su più pagine video

more: con questo comando è possibile visualizzare il contenuto di un file in più pagine video. Il tasto di Invio fa avanzare la visualizzazione riga per riga mentre la barra spaziatrice fa avanzare di pagine video. Per interrompere utilizzare CTRL+Z

$ more file1Visualizza il contenuto del file1 in pagine video
$ ls -l | morevisualizza il contenuto della directory corrente in formato lungo su più pagine video (vedi comando ls)

less: più efficiente di more visualizza il contenuto di un file su più pagine video

less: A differenza di more è possibile scorrere il testo avanti e indietro. Per interrompere utilizzare CTRL+Z

$ less file1Visualizza il contenuto del file1 in pagine video
$ ls -l | lessvisualizza il contenuto della directory corrente in formato lungo su più pagine video (vedi comando ls)

head – tail  visualizza le prime / ultime righe

$ head -<n> filevisualizza le prime <n> righe di file
$ tail -<n> filevisualizza le ultime <n> righe di file

find: ricerca di files / directory

$ find . -name  “*.tmp”ricerca dei files temporanei *.tmp nella directory corrente
$ find . -name  “*.tmp” -exec rm {} \;ricerca ed eliminazione dei files temporanei nella directory corrente

Comandi di sistema

free: mostra lo stato della memoria

free: con questo comando è possibile visualizzare lo stato della memoria.

zipixel@zpxc321:~$ free
buff/cache condivisi gratuiti totali utilizzati disponibili
Mem: 16305172 1212028 12705336 150888 2387808 14619256
Swap: 17092604 0 17092604
zipixel@zpxc321:~$

df: spazio libero su disco

df: con questo comando è possibile visualizzare lo spazio libero su disco

$ df -hVisualizza il contenuto dello spazio libero su disco utilizzando G,M,K byte
zipixel@zpxc321:~$ df -h
File system Dim. Usati Dispon. Uso% Montato su
tmpfs 1,6G 3,2M 1,6G 1% /run
/dev/sda6 101G 17G 79G 18% /
tmpfs 7,8G 0 7,8G 0% /dev/shm
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
/dev/sda1 285M 6,1M 279M 3% /boot/efi
/dev/sda7 322G 8,3G 297G 3% /home
tmpfs 1,6G 124K 1,6G 1% /run/user/1000
/dev/sdd1 1,9T 659G 1,2T 36% /media/zipixel/TOSHIBA2T
/dev/sdc1 1,9T 689G 1,2T 37% /media/zipixel/TOUSB2T
/dev/sdb2 3,7T 2,3T 1,5T 61% /media/zipixel/Maxtor4T
zipixel@zpxc321:~$

top: mostra i processi attualmente in esecuzione

top: questo comando visualizza i processi attualmente in esecuzione e le informazioni importanti relative a tali processi.

zipixel@zpxc321:~$ top
top - 15:18:00 up 5 days,  5:27,  2 users,  load average: 0,18, 0,06, 0,01
Tasks: 231 total,   1 running, 230 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1,7 us,  1,2 sy,  0,0 ni, 97,0 id,  0,0 wa,  0,0 hi,  0,2 si,  0,0 st
MiB Mem :  15923,0 total,  12409,7 free,   1180,8 used,   2332,6 buff/cache
MiB Swap:  16692,0 total,  16692,0 free,      0,0 used.  14279,5 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
    973 avahi     20   0    8288   4840   3804 S   1,0   0,0  12:59.95 avahi-daemon
   1590 nx        20   0 1351832 128992  14228 S   0,7   0,8  24:08.37 nxserver.bin
 107230 zipixel   20   0   13256   4240   3368 R   0,7   0,0   0:00.13 top
     14 root      20   0       0      0      0 I   0,3   0,0   5:41.55 rcu_sched
   3107 zipixel   20   0 4074784 196924 117240 S   0,3   1,2  13:12.11 cinnamon
   3125 zipixel   20   0  377212  29532  23188 S   0,3   0,2  15:04.19 xapp-sn-watcher
   3432 zipixel   20   0 1427616 141304 104016 S   0,3   0,9  20:21.43 qbittorrent
  83974 zipixel   20   0  972988  78936  54024 S   0,3   0,5   1:07.77 cinnamon-screen
  96847 root      20   0       0      0      0 I   0,3   0,0   0:01.98 kworker/1:1-events
  97894 root      20   0       0      0      0 I   0,3   0,0   0:00.31 kworker/u4:1-events_freezable_power_
  97992 zipixel   20   0    9976   3584   3324 S   0,3   0,0   0:04.59 bash
      1 root      20   0  168024  13556   8340 S   0,0   0,1   0:43.47 systemd

Una volta lanciato top si possono utilizzare i seguenti comandi

q - per uscire da top
u - ordina per utente
M - ordina per uso della memoria
P - ordina per l'uso del processore
h - visualizza la guida (help)
k - termina un processo
n - modifica il numero di processi visualizzati

lshw: lista hardware del computer

lshw: con questo comando è possibile avere una lista di tutti i dispositivi che compongono l’hardware del computer

$ sudo lshwlista completa di tutti i dispositivi hardware del computer
$ sudo lshw -shortlista abbreviata di tutti i dispositivi hardware del computer
zipixel@zpxc321:~$ sudo lshw -short
Percorso H/W Dispositivo Classe Descrizione
==============================================================
system ZBOX-CI321NANO (NA)
/0 bus ZBOX-CI321NANO
/0/0 memory 64KiB BIOS
/0/3d processor Intel(R) Celeron(R) 2961Y @ 1.10GHz
/0/3d/3e memory 512KiB L2 cache
/0/3d/3f memory 128KiB L1 cache
/0/3d/40 memory 2MiB L3 cache
/0/41 memory 16GiB Memoria di sistema
/0/41/0 memory 8GiB SODIMM DDR3 Sincrono 1333 MHz (0,8 ns)
/0/100 bridge Haswell-ULT DRAM Controller
/0/100/2 /dev/fb0 display Intel Corporation
/0/100/3 card0 multimedia Haswell-ULT HD Audio Controller

uname: informazioni sul sistema

uname: con questo comando è possibile sapere se il processore è a 32 o 64 bit

$ uname -ainformazioni complete
$ sudo lshw -shortlista abbreviata di tutti i dispositivi hardware del computer

grep: ricerca stringhe

Il comando grep in Linux viene utilizzato per cercare una stringa di testo all’interno di uno o più file. Ecco alcuni esempi utili per comprendere meglio come utilizzare il comando grep:

  1. Cerca una parola in un file:
perl grep "parola" nome_file.txt

Questo comando cerca la parola “parola” all’interno del file “nome_file.txt”.

  1. Cerca una parola in tutti i file all’interno di una directory:
bash:  grep "parola" /directory/*

Questo comando cerca la parola “parola” in tutti i file presenti nella directory “directory”.

  1. Cerca una parola in tutti i file all’interno di una directory e sottodirectory:
bash:  grep -r "parola" /directory/

Questo comando cerca la parola “parola” in tutti i file presenti nella directory “directory” e nelle sue sottodirectory.

  1. Cerca una parola ignorando maiuscole e minuscole:
perl:  grep -i "parola" nome_file.txt

Questo comando cerca la parola “parola” all’interno del file “nome_file.txt”, ignorando la differenza tra maiuscole e minuscole.

  1. Cerca una parola e stampa le linee corrispondenti:
bash:  grep "parola" nome_file.txt | cat -n

Questo comando cerca la parola “parola” all’interno del file “nome_file.txt” e stampa le linee corrispondenti insieme al numero di linea.

  1. Cerca una parola escludendo alcune linee:
perl:  grep "parola" nome_file.txt | grep -v "parola_esclusa"

Questo comando cerca la parola “parola” all’interno del file “nome_file.txt”, ma esclude le linee che contengono la parola “parola_esclusa”.

Questi sono solo alcuni esempi utili di come utilizzare il comando grep in Linux per cercare una stringa di testo all’interno di uno o più file.

Il comando grep inoltre può essere utilizzato in combinazione con altri comandi, come ad esempio ps, per filtrare e visualizzare solo le informazioni pertinenti. Ecco un esempio di come utilizzare grep con ps:

perl:  ps aux | grep "nome_processo"

Questo comando visualizza tutti i processi in esecuzione nel sistema utilizzando il comando ps aux. La pipeline | invia l’output di ps aux al comando grep, che filtra solo le righe che contengono la stringa “nome_processo”. Questo può essere utile per trovare un processo specifico all’interno dell’elenco di processi in esecuzione.

Inoltre, grep può essere utilizzato con altri comandi come find, ls e tail per cercare informazioni specifiche all’interno di file, elenchi di directory o log di sistema. Utilizzando grep in combinazione con altri comandi, puoi raffinare la ricerca e ottenere solo le informazioni pertinenti.

Rete

nast: strumento di analisi della rete

nast: con questo strumento è possibile analizzare lo stato della rete

$ sudo nast -m mappa dei dispositivi connessi alla rete

ifconfig: stato delle connessioni di rete

ifconfig: con questo strumento è possibile sapere lo stato di connessone della rete (LAN, WAN) e l’indirizzo IP assegnato alle schede

$ ifconfigstato di connessone della rete

 

Creare un file iso

Creare una iso con tutti i file della cartella corrente

sudo mkisofs -r -o iso_da_masterizzare.iso .

Importante il punto finale

Gestione cartelle compresse .tar

tar: crea/decomprime archivi compressi

Comprimere file1 file2 in archivio.tar.gz

$ tar -cvzf archivio.tar.gz file1 file2c= crea, v=verbose, z=comprimi, f=nome archivio (ES archivio.tar.gz)
$ tar -xvf archivio.tar.gzx=estrai, v=verbose, f=nome archivio (ES archivio.tar.gz)

Utility

VncViewer

Questo potente strumento consente di visualizzare quello che avviene su un altro Computer

Impostazioni pc host

Per prima cosa bisogna impostare il pc a cui ci si vuole connettere (host). Andare su Sistema > preferenze > Desktop remoto

attivare [ ] Consentire agli altri utenti di visualizzare il proprio desktop. Se si vuole controllare anche il pc remoto occorre attivare anche

Consentire agli altri utenti di controllare il proprio desktop.

Impostazioni pc server

Dare da terminale il comando

vncviewer <opzioni> <indirizzo-IP>:<porta>

-shared : consente la condivisione della connessione con altri client

-viewonly : con questa opzione non è possibile interagire sul computer remoto

-fullscreen : con questa opzione il PC server viene visualizzato a tutto schermo. Premendo F8 compare una finestra pop-up per terminare vncviewer o disabilitare il fullscreen

$ vncviewer -viewonly -fullscreen 192.168.100.1:0Visualizza a pieno schermo ciò che avviene sul pc con indirizzo 192.168.100.1

NoMachine

NoMachine è un software di desktop remoto che consente agli utenti di accedere e controllare un computer da un altro dispositivo. Può essere utile per lavorare da casa, accedere a file e programmi su un computer remoto, o per fornire supporto tecnico a distanza.

Per installare NoMachine su Linux Debian, puoi seguire questi passaggi:

  1. Visita il sito web ufficiale di NoMachine all’indirizzo https://www.nomachine.com/ e scarica l’ultima versione per Linux Debian.
  2. Apri il terminale sul tuo computer Debian e naviga nella cartella in cui hai scaricato il file di installazione di NoMachine.
  3. Esegui il comando sudo dpkg -i nome_file.deb sostituendo nome_file.deb con il nome del file di installazione di NoMachine.
  4. Attendere che l’installazione sia completata.
  5. Avvia NoMachine dal menu delle applicazioni o dal terminale eseguendo il comando nxclient.

Una volta avviato NoMachine, puoi configurarlo per accedere e controllare un computer remoto tramite l’indirizzo IP del computer e le credenziali di accesso.

 

Banner per il consenso ai cookie di Real Cookie Banner