Perchè Linux?
Linux è il sistema operativo più utilizzato nei server, circa il 90% di Internet è gestito da server Linux. Questo perché Linux è veloce, sicuro e soprattutto, a differenza dei server Windows, è totalmente gratuito e open source. Il sistema operativo che gestisce circa l’80% degli smartphone nel mondo, Android, è anch’esso realizzato con il kernel Linux e non solo, la maggior parte dei virus sono creati per funzionare su Windows, difficilmente su Linux. Vediamo quali sono i principali comandi Linux per iniziare subito ad utilizzarlo.
Shell Linux o “Terminale”
Una shell è un programma che riceve comandi dall’utente e lo invia al sistema operativo per l’elaborazione, mostrando l’output. La shell di Linux è l’interfaccia principale. Le sue distro sono disponibili nella GUI (Interfaccia Utente Grafica), ma fondamentalmente Linux ha una CLI (interfaccia a riga di comando). In questo tutorial, tratteremo i comandi linux di base che utilizziamo nella shell.
Naturalmente per utilizzare linux devi averlo prima installato, puoi utilizzare Ubuntu una distribuzione gratuita e molto stabile, facilmente installabile anche su pendrive. Per aprire il terminale, premi Ctrl + Alt + T in Ubuntu, oppure premi Alt + F2, digita gnome-terminal e premi Invio. In Raspberry Pi, digitare lxterminal.
Per familiarizzare con la riga di comando di Linux, in questo tutorial mostreremo i comandi di base di Linux con esempi che vengono frequentemente utilizzati. Per essere un esperto di Linux, il primo passo per un principiante è iniziare a imparare i comandi di base.
Il comando è seguito da opzioni (ovviamente facoltative) e da un elenco di argomenti. Le opzioni possono modificare il comportamento di un comando. Gli argomenti possono essere file o directory o altri dati su cui agisce il comando. Ogni comando potrebbe non aver bisogno di argomenti. Alcuni comandi funzionano con o senza di essi (ad esempio il comando ‘ls’). Le opzioni possono essere fornite in due modi: opzioni a parola intera con – (ad es. –Help) o opzioni a lettera singola con – (ad es. -A -b -c o opzioni multiple, -abc).
Sintassi
I comandi in Linux hanno la seguente sintassi:
$command options arguments
Comandi di base Linux
Cominciamo con alcuni semplici comandi.
1) Comando pwd
Il comando ‘pwd’ stampa il percorso assoluto della directory di lavoro corrente.
$ pwd
/home/jucker
2) Comando cal
Visualizza il calendario del mese corrente.
$ cal
July 2012
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
‘cal’ visualizzerà il calendario per il mese e l’anno specificati.
$ cal 08 1991
August 1991
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
3) Comando echo
Questo comando farà eco, cioè farà visualizzare un messaggio o generare i risultati di altri comandi.
$ echo "punto-informatico.it"
punto-informatico.it
Il comando ‘echo’ spesso viene utilizzato per visualizzare i valori di una variabile. Una di queste variabili è ‘HOME’. Per verificare il valore di una variabile precedere la variabile con un segno $.
$ echo $HOME
/home/jucker
4) Comando date
Visualizza ora e data correnti.
$ date
Fri Jul 6 01:07:09 IST 2012
Se sei interessato solo al tempo, puoi usare ‘date +% T’ (in hh: mm: ss):
$ date +%T
01:13:14
5) Comando tty
Visualizza il terminale corrente.
$ tty
/dev/pts/0
6) Comando whoami
Questo comando indica l’utente che è attualmente connesso.
$ whoami
jucker
7) Comando id
Questo comando stampa l’utente e i gruppi (UID e GID) dell’utente corrente.
$ id
uid=1000(jucker) gid=1000(jucker) groups=1000(jucker),4(adm),20(dialout),24(cdrom),46(plugdev),112(lpadmin),120(admin),122(sambashare)
Per impostazione predefinita, vengono visualizzate le informazioni sull’utente corrente. Se viene fornito un altro nome utente come argomento, verranno stampate le informazioni su quell’utente:
$ id root
uid=0(root) gid=0(root) groups=0(root)
8) Comando clear
Questo comando cancella lo schermo.
Comandi di aiuto
Ricordare tutti i comandi è un po’ difficile, linux ci viene in aiuto con queste indicazioni. Possiamo usare l’opzione di help dal comando like
9) Opzioni help
Con quasi tutti i comandi, l’opzione ‘–help’ mostra il riepilogo dell’utilizzo.
$ date --help
Usage: date [OPTION]... [+FORMAT] or: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] Display the current time in the given FORMAT, or set the system date
10) Comando whatis
Questo comando fornisce una descrizione di una riga sul comando. Può essere usato come riferimento rapido per qualsiasi comando.
$ whatis date
date (1) - print or set the system date and time
$ whatis whatis
whatis (1) - display manual page descriptions
11) Pagine del manuale
L’opzione ‘–help’ e il comando ‘whatis’ non forniscono informazioni complete sul comando. Per informazioni più dettagliate, Linux fornisce pagine manuale e informazioni. Per vedere la pagina del manuale di un comando, viene utilizzato il comando man.
$ man date
Le pagine man sono pagine adeguatamente documentate. Hanno le seguenti sezioni:
- NAME: il nome e la descrizione di una riga del comando.
- SYNOPSIS: la sintassi del comando.
- DESCRIPTION: Descrizione dettagliata di ciò che fa un comando.
- OPTIONS: un elenco e una descrizione di tutte le opzioni del comando.
- EXAMPLES: esempi di utilizzo del comando.
- FILES: qualsiasi file associato al comando.
- AUTHOR: autore della pagina man
- REPORTING BUGS: collegamento del sito Web o dell’ID di posta elettronica in cui è possibile segnalare qualsiasi errore.Con l’opzione -k, è possibile eseguire una ricerca tra le pagine man. Cerca uno schema nel nome e nella breve descrizione di una pagina man.
$ man -k gzip
gzip (1) - compress or expand files
lz (1) - gunzips and shows a listing of a gzip'd tar'd archive
tgz (1) - makes a gzip'd tar archive
uz (1) - gunzips and extracts a gzip'd tar'd archive
zforce (1) - force a '.gz' extension on all gzip files
12) Pagine informative
I documenti informativi sono talvolta più elaborati delle pagine man. Ma per alcuni comandi, le pagine informative sono le stesse delle pagine man. Queste sono come pagine Web. I collegamenti interni sono presenti nelle pagine informative. Questi collegamenti sono chiamati nodi. Le pagine informative possono essere spostate da una pagina all’altra attraverso questi nodi.
$ info date
Comandi del filesystem Linux
13) Comando modifica directory
$ cd [path-to-directory]
Modifica la directory di lavoro corrente nella directory fornita come argomento. Se non viene fornito alcun argomento a “cd”, cambia la directory nella home directory dell’utente. Il percorso della directory può essere un percorso assoluto o relativo alla directory corrente. Il percorso assoluto inizia sempre con /. La directory corrente può essere verificata con il comando ‘pwd’:
$ pwd
/home/jucker
$ cd /usr/share/
$ pwd
/usr/share
$ cd doc
$ pwd
/usr/share/doc
Nel primo comando ‘cd’, viene utilizzato il percorso assoluto (/usr/share) e, con il secondo comando, viene utilizzato il percorso relativo (doc).
14) Elenco dei file e comando delle directory
$ ls [files-or-directories]
Elenca i file e/o le directory. Se non viene fornito alcun argomento, vengono visualizzati i contenuti della directory corrente.
$ ls
example file1.txt file2.txt file3.txt
Se una directory viene fornita come argomento, vengono visualizzati i file e le directory in quella directory.
$ ls /usr
bin games include lib lib64 local sbin share src
“ls -l” mostra un lungo elenco di file.
$ ls -l
total 4
drwxr-xr-x 2 jucker jucker 4096 2012-07-06 12:52 example
-rw-r--r-- 1 jucker jucker 0 2012-07-06 12:52 file1.txt
-rw-r–r– 1 jucker jucker 0 2012-07-06 12:52 file2.txt
-rw-r–r– 1 jucker jucker 0 2012-07-06 12:52 file3.txt
In questo lungo elenco, il primo carattere è ‘d’ o ‘-‘. Distingue tra i tipi di file. Le voci con un ‘-‘ (trattino) sono file regolari e quelle con ‘d’ sono directory. I successivi 9 caratteri sono permessi (‘rwxr-xr-x’ nel primo elenco). Il numero che segue le autorizzazioni è il conteggio dei collegamenti. Il conteggio dei collegamenti segue l’utente e il proprietario del gruppo. Nell’esempio sopra, il proprietario del file è ‘jucker’ e anche il proprietario del gruppo è ‘jucker’. La prossima è la dimensione del file. E quindi timestamp prima del nome del file (o della directory).
Per impostazione predefinita, i file o le directory nascosti non vengono visualizzati, per visualizzare anche i file nascosti, viene utilizzata un’opzione. I file nascosti in Linux iniziano con un segno di punto (.). Qualsiasi file che inizia con un punto è nascosto. Quindi, per nascondere un file, devi solo rinominarlo (e mettere un punto prima).
$ ls -la odesk
total 16
drwxr-xr-x 4 jucker jucker 4096 2012-07-06 13:46 .
drwxr-xr-x 11 jucker jucker 4096 2012-07-06 13:15 ..
drwxr-xr-x 2 jucker jucker 4096 2012-07-06 12:52 example
-rw-r--r-- 1 jucker jucker 0 2012-07-06 12:52 file1.txt
-rw-r--r-- 1 jucker jucker 0 2012-07-06 12:52 file2.txt
-rw-r--r-- 1 jucker jucker 0 2012-07-06 12:52 file3.txt
drwxr-xr-x 2 jucker jucker 4096 2012-07-06 13:46 .hiddendir
-rw-r--r-- 1 jucker jucker 0 2012-07-06 13:46 .hiddenfile1.txt
-rw-r--r-- 1 jucker jucker 0 2012-07-06 13:46 .hiddenfile2.txt
Se vuoi vedere le proprietà di una directory invece dei file in essa contenuti, usa l’opzione -d (con -l):
$ ls -ld odesk/
drwxr-xr-x 4 jucker jucker 4096 2012-07-06 13:46 odesk/
Creazione di file e directory
15) Comando mkdir
Per creare una directory, viene utilizzato il comando ‘mkdir’.
$ mkdir example
$ ls -l
total 4
drwxr-xr-x 2 jucker jucker 4096 2012-07-06 14:09 example
16) Comando touch
Per creare un file vuoto, utilizzare il comando touch.
$ touch file1 file2 file3
$ ls -l
total 4
drwxr-xr-x 2 jucker jucker 4096 2012-07-06 14:09 example
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file1
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file2
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file3
Se esiste già un file, aggiornerà il suo timestamp. Esistono molti altri metodi per creare un nuovo file, ad esempio utilizzando un editor di testo come vi o gedit o utilizzando il reindirizzamento. Ecco un esempio di creazione di un file mediante il reindirizzamento:
$ ls -l /usr > usrlisting
$ ls -l
total 8
drwxr-xr-x 2 jucker jucker 4096 2012-07-06 14:09 example
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file1
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file2
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file3
-rw-r--r-- 1 jucker jucker 491 2012-07-06 14:23 usrlisting
In questo esempio viene creato un file chiamato usrlisting.
Comandi linux per Copia, sposta e rimuovi
17) Comando cp
$cp source destination
Copia file e directory. Se l’origine è un file e il nome di destinazione (file) non viene chiuso, l’origine viene copiata con un nuovo nome, ovvero con il nome fornito come destinazione.
$ cp usrlisting listing_copy.txt
$ ls -l
total 12
drwxr-xr-x 2 jucker jucker 4096 2012-07-06 14:09 example
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file1
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file2
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file3
-rw-r--r-- 1 jucker jucker 491 2012-07-06 16:02 listing_copy.txt
-rw-r--r-- 1 jucker jucker 491 2012-07-06 14:23 usrlisting
Se la destinazione è una directory, il file viene copiato con il suo nome originale in quella directory.
$ cp listing_copy.txt example/
$ ls -l example/
total 4
-rw-r--r-- 1 jucker jucker 491 2012-07-06 16:07 listing_copy.txt
È inoltre possibile copiare più file, ma in tal caso si prevede che l’ultimo argomento sia una directory in cui devono essere copiati tutti i file. E il resto degli argomenti verrà trattato come nomi di file.
$ cp file1 file2 example/
$ ls -l example/
total 4
-rw-r--r-- 1 jucker jucker 0 2012-07-06 16:10 file1
-rw-r--r-- 1 jucker jucker 0 2012-07-06 16:10 file2
-rw-r--r-- 1 jucker jucker 491 2012-07-06 16:07 listing_copy.txt
Se una directory deve essere copiata, deve essere copiata in modo ricorsivo con i file in essa contenuti. Per copiare ricorsivamente una directory, usa l’opzione -r con il comando ‘cp’:
$ cp -r example /tmp/expertslogin/
$ ls -l /tmp/expertslogin
total 4
drwxr-xr-x 2 jucker jucker 4096 2012-07-06 16:12 example
18) Comando mv
$ mv source destination
Sposta file o directory. Il comando ‘mv’ funziona come il comando ‘cp’, tranne per la rimozione del file originale. Tuttavia, il comando mv può essere utilizzato per rinominare i file (o le directory).
$ mv listing_copy.txt usrcopy
$ ls -l
total 12
drwxr-xr-x 2 jucker jucker 4096 2012-07-06 16:10 example
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file1
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file2
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file3
-rw-r--r-- 1 jucker jucker 491 2012-07-06 16:02 usrcopy
-rw-r--r-- 1 jucker jucker 491 2012-07-06 14:23 usrlisting
“listing_copy.txt” viene spostato con il nome “usrcopy” nella stessa directory (oppure puoi dire che è stato rinominato).
19) Rimuovere o eliminare
$ rmdir
Il comando ‘rmdir’ rimuove qualsiasi directory vuota, ma non può cancellare una directory se in essa è presente un file. Per usare il comando ‘rmdir’, devi prima rimuovere tutti i file presenti nella directory che desideri rimuovere (e possibilmente le directory se ce ne sono).
Per rimuovere file e directory
$ rm files|directories
Una directory deve essere rimossa in modo ricorsivo con l’opzione -r.
$ rm file2
$ rm -r example/
$ ls -l
total 8
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file1
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file3
-rw-r--r-- 1 jucker jucker 491 2012-07-06 16:02 usrcopy
-rw-r--r-- 1 jucker jucker 491 2012-07-06 14:23 usrlisting
Qui, il file denominato “file2” viene rimosso per primo, quindi la directory “esempio” viene rimossa in modo ricorsivo. Questo può essere visto nell’output del comando “ls -l” dove questi due non sono più presenti.
Altri comandi linux per i file
20) Comando file
Il comando file determina il tipo di file di un determinato file. Per esempio:
$ file /etc/passwd
/etc/passwd: ASCII text
È possibile fornire uno o più file come argomento al comando file.
$ file td.c td.out ARP.java Screenshot.png StringTokenizing.class
idl.rar List.pdf
td.c: ASCII C program text, with CRLF line terminators
td.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, not stripped
ARP.java: ASCII Java program text, with CRLF line terminators
Screenshot.png: PNG image data, 1366 x 768, 8-bit/color RGB, non-interlaced
StringTokenizing.class: compiled Java class data, version 50.0 (Java 1.6)
idl.rar: RAR archive data, v1d, os: Win32
List.pdf: PDF document, version 1.4
21) Comando stat
Per controllare lo stato di un file. Ciò fornisce informazioni più dettagliate su un file rispetto all’output di ‘ls -l’.
$ stat usrcopy
File: `usrcopy'
Size: 491 Blocks: 8 IO Block: 4096 regular file
Device: 808h/2056d Inode: 149452 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ jucker) Gid: ( 1000/ jucker)
Access: 2012-07-06 16:07:06.413522009 +0530
Modify: 2012-07-06 16:02:30.204152386 +0530
Change: 2012-07-06 16:17:18.992559654 +0530
22) Comando cat
Il comando linux ‘cat’ è in realtà un concatenatore ma può essere usato per visualizzare il contenuto di un file.
$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
23) Comando pagers
Il comando cat elenca il file nel suo insieme. Ma se il file è abbastanza grande per adattarsi a una schermata, saremo in grado di vedere solo l’ultima pagina del file. I comandi ‘less’ e ‘more’ visualizzano i file una pagina alla volta. Quindi sono anche chiamati pagers. Puoi navigare attraverso un file usando i tasti freccia. Per uscire da un pagers, premi “q”.
24) Comando head
Visualizza le prime righe di un file. Per impostazione predefinita, il comando ‘head’ visualizza le prime 10 righe di un file. Ma con l’opzione -n, è possibile specificare il numero di righe da visualizzare.
$ head /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
25) Comando tail
Simile a head; il comando ‘tail’ mostra le ultime 10 righe di default e anche l’opzione -n è disponibile.
$ tail -n 4 /etc/passwd
jucker:x:1000:1000:Jucker Sharma,,,:/home/jucker:/bin/bash
sshd:x:113:65534::/var/run/sshd:/usr/sbin/nologin
dictd:x:114:123:Dictd Server,,,:/var/lib/dictd:/bin/false
mysql:x:115:124:MySQL Server,,,:/nonexistent:/bin/false
26) Comando wc
Il comando wc (word count) conta le righe, le parole e le lettere dell’input che gli è stato dato.
$ wc /etc/passwd
35 57 1698 /etc/passwd
Il file /etc/passwd ha 35 righe, 57 parole e 1698 lettere presenti.
27) Comando grep
Il comando ‘grep’ cerca un modello in un file (o input standard). Supporta espressioni regolari. Restituisce una linea se corrisponde al modello in quella linea. Quindi, se vogliamo trovare le righe contenenti la parola ‘nologin’, usiamo ‘grep’ come segue:
$ grep nologin /etc/passwd
sshd:x:113:65534::/var/run/sshd:/usr/sbin/nologin
28) Comando In
Il comando ln è usato in linux per creare collegamenti. I collegamenti sono una sorta di scorciatoie per altri file. La forma generale di comando è:
$ ln TARGET LINK_NAME
Esistono due tipi di link, soft link e hard link. Per impostazione predefinita, vengono creati collegamenti reali. Se si desidera creare un collegamento software, utilizzare l’opzione -s. In questo esempio, entrambi i tipi di collegamenti vengono creati per il file usrlisting.
$ ln usrlisting hard_link
$ ln -s usrlisting soft_link
$ ls -l
total 12
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file1
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file3
-rw-r--r-- 2 jucker jucker 491 2012-07-06 14:23 hard_link
lrwxrwxrwx 1 jucker jucker 10 2012-07-09 14:00 soft_link -> usrlisting
-rw-r--r-- 1 jucker jucker 491 2012-07-06 16:02 usrcopy
-rw-r--r-- 2 jucker jucker 491 2012-07-06 14:23 usrlisting
Editor di testo
29) Pico & Nano
‘Pico’ è un editor di testo in Linux. L’editor “Nano” è ispirato a “pico”. Funzionano quasi allo stesso modo. Se esiste l’argomento indicato come nome file, quel file verrà aperto per la modifica in pico / nano. Altrimenti, verrà creato un nuovo file con quel nome. Creiamo un nuovo file chiamato hello.txt:
$ pico hello.txt
GNU nano 2.2.6 File: hello.txt Modified
This file is edited with pico editor.
^G Get Help ^O WriteOut ^R Read File ^Y Prev Page ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where Is ^V Next Page ^U UnCut Text^T To Spell
Dopo aver apportato tutte le modifiche al file, premere ‘ctrl + o’ per scrivere le modifiche nel file e ‘ctrl + x’ per uscire dall’editor. Ci sono molte funzioni disponibili con questo editor. È possibile accedere al menu di aiuto premendo i tasti ‘ctrl + g’.
30) Editor VI
Il VI sta per Visual editor, ed è un altro editor di testo in Linux. Questo è uno standard in molti ambienti Linux/Unix ed è l’editor predefinito fornito con molte distribuzioni Linux.
È possibile aprire un file con VI per la modifica utilizzando quanto segue:
$ vi hello.txt
L’editor VI ha 3 modalità in cui svolge le sue funzioni. L’impostazione predefinita è la modalità COMMAND, in cui è possibile eseguire attività come copia, incolla, annulla ecc. Puoi cambiare una modalità solo dalla modalità di comando (e tornare). La seconda modalità è la modalità INSERT, in cui qualsiasi chiave digitata viene trattata come un carattere e verrà caricata nel buffer del file. Per entrare in questa modalità, premi ‘i’ quando sei in modalità comando.
La modalità finale è la modalità EX o l’ultima riga. Le modifiche apportate nel buffer possono essere salvate o eliminate in questa modalità.
Comandi utili
31) Comando alias
“Alias” è un sinonimo per un comando. Se non viene fornito alcun argomento, mostra gli alias correnti. Gli alias possono essere utilizzati per nomi brevi di comandi. Ad esempio, è possibile utilizzare frequentemente il comando clear. Puoi creare un alias per questo:
$ alias c="clear"
La prossima volta che inserisci “c” dalla riga di comando, lo schermo diventerà chiaro. Gli alias correnti possono essere controllati con il comando “alias”:
$ alias
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias c='clear'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'
32) Comando w
Il comando w viene utilizzato per verificare quali utenti sono connessi al sistema e quale comando stanno eseguendo in quel determinato momento:
$ w
10:06:56 up 57 min, 3 users, load average: 0.04, 0.06, 0.09
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 10:06 28.00s 1.02s 0.67s pager -s
jucker tty7 :0 09:19 57:33 1:22 0.20s gnome-session --session=classic-gnome
jucker pts/0 :0.0 09:34 0.00s 0.78s 0.00s w
Mostra anche il tempo di attività, il numero di utenti connessi e la media di caricamento del sistema (nella prima riga dell’output sopra).
33) Comando last
Visualizza le informazioni sugli utenti che hanno effettuato l’accesso e la disconnessione dal sistema. L’output dell’ultimo comando può essere molto grande, quindi il seguente output è stato filtrato (tramite head) per visualizzare solo le prime 10 righe:
$ last | head
root tty1 Mon Jul 9 10:06 still logged in
root tty1 Mon Jul 9 10:06 - 10:06 (00:00)
jucker pts/1 :0.0 Mon Jul 9 10:05 - 10:06 (00:00)
jucker pts/0 :0.0 Mon Jul 9 09:34 still logged in
jucker tty7 :0 Mon Jul 9 09:19 still logged in
reboot system boot 2.6.38-13-generi Mon Jul 9 09:09 - 10:12 (01:02)
jucker tty7 :0 Sun Jul 8 23:36 - 00:30 (00:54)
reboot system boot 2.6.38-13-generi Sun Jul 8 23:36 - 00:30 (00:54)
jucker tty7 :0 Sun Jul 8 21:07 - down (01:06)
reboot system boot 2.6.38-13-generi Sun Jul 8 21:07 - 22:14 (01:07)
Un comando simile è ‘lastb’ che mostra gli ultimi tentativi di accesso falliti. Ma questo comando deve essere eseguito come root, altrimenti si otterrebbe un errore che dice che l’autorizzazione è stata negata.
$ lastb
jucker tty2 Mon Jul 9 10:16 - 10:16 (00:00)
UNKNOWN tty2 Mon Jul 9 10:15 - 10:15 (00:00)
ubuntu tty8 :1 Mon Jul 2 10:23 - 10:23 (00:00)
btmp begins Mon Jul 2 10:23:54 2012
34) Comando du
Il comando “du” determina l’utilizzo del disco di un file. Se l’argomento fornito è una directory, elencherà in modo ricorsivo l’utilizzo del disco di tutti i file e le directory in quella directory:
$ du /etc/passwd
4 /etc/passwd
$ du hello/
52 hello/HelloApp
4 hello/orb.db/logs
20 hello/orb.db
108 hello/
35) Comando df
Il df riporta l’utilizzo del file system. Per esempio:
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda7 10079084 7372872 2194212 78% /
none 1522384 768 1521616 1% /dev
none 1529012 252 1528760 1% /dev/shm
none 1529012 108 1528904 1% /var/run
none 1529012 4 1529008 1% /var/lock
/dev/sda8 5039616 3758824 1024792 79% /home
/dev/sda2 209715196 196519248 13195948 94% /media/Data
36) Comando fdisk
Fdisk è uno strumento per ottenere informazioni sulle partizioni e per aggiungere e rimuovere partizioni. Lo strumento fdisk richiede privilegi di superutente. Per elencare tutte le partizioni di tutti i dischi rigidi disponibili:
$ fdisk -l
Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x396f396f
Device Boot Start End Blocks Id System
/dev/sda1 1 2611 20971520 7 HPFS/NTFS
/dev/sda2 2611 28720 209715200 7 HPFS/NTFS
/dev/sda3 * 28720 38914 81882113 5 Extended
/dev/sda5 28720 33942 41943040 7 HPFS/NTFS
/dev/sda6 33942 34464 4194304 7 HPFS/NTFS
/dev/sda7 34464 35739 10240000 83 Linux
/dev/sda8 35739 36376 5120000 83 Linux
/dev/sda9 36376 36886 4096000 82 Linux swap / Solaris
/dev/sda10 36887 38276 11164672 83 Linux
/dev/sda11 38277 38914 5117952 83 Linux
Fdisk è uno strumento interattivo per modificare la tabella delle partizioni. Prende un dispositivo (disco rigido) come argomento, la cui tabella delle partizioni deve essere modificata.
$ fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Premendo ‘m’ al prompt di fdisk si stampa la guida mostrata sopra che elenca tutti i comandi disponibili per fdisk. Una nuova partizione può essere creata con ‘n’ e una partizione esistente può essere eliminata con il comando ‘d’. Quando hai finito di modificare le partizioni, premi ‘w’ per scrivere le modifiche sul disco, e infine, premi ‘q’ per uscire da fdisk (q non salva le modifiche).
37) comando netstat
“Netstat” è un comando utilizzato per controllare le statistiche di rete del sistema. Elencherà le connessioni di rete correnti, le informazioni sulla tabella di routing, le statistiche dell’interfaccia, le connessioni mascherate e molte altre informazioni.
$ netstat | head
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 13 [ ] DGRAM 8498 /dev/log
unix 2 [ ] DGRAM 6824 @/org/kernel/udev/udevd
unix 3 [ ] STREAM CONNECTED 56738 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 56113
unix 3 [ ] STREAM CONNECTED 29138
unix 3 [ ] STREAM CONNECTED 29137
38) comando history
Il comando history mostra la cronologia dei comandi che hai inserito finora sul tuo terminale.
39) comando passwd
Serve per cambiare la password.
40) Comando shutdown
In Linux, è possibile utilizzare il comando shutdown per arrestare in modo corretto il sistema. Il comando più comunemente usato è
shutdown -h now