Da quando mi hanno fatto scoprire {ln:Yakuake}, ad esempio, io non riesco a farne a meno, al punto da dispiacermi quando lavoro su un’altra macchina dove {ln:Yakuake} non è presente… Si tratta di una shell comodissima, che si richiama con la pressione di un singolo tasto funzione (F12 per default), al suo interno è possibile aprire più shell per svolgere compiti differenti in ognuna di esse… Insomma è un giocattolino interessantissimo.
Facciamo così: scriverò una recensione a breve di questo mio amato giocattolino ed ora torno all’argomento dell’articolo…
OTTENERE INFORMAZIONI
Il comando fondamentale è: man
Ogni volta che non sapete come usare un comando, prima di sbattere la testa contro il muro o telefonare disperatamente ad un amico, provate ad usare il comando man. Questo comando vi fornirà tutte le indicazioni di cui avete bisogno: dalla sintassi ad esempi di utilizzo concreti
man nome_comando
visualizza il manuale dettagliato del comando digitato
man man
chiaramente esiste una pagina di manuale anche per il comando man
man –k parola
mostra i manuali che contengono la parola indicata
man –T nome_comando > nome_comando.ps
crea un file postscript del manuale del comando pronto per la stampa.
Un altro comando per ricevere informazioni è chiaramente: info
info nome_comando: visualizza l’help del comando digitato, è più dettagliato di man, ma…
…non esiste per tutti i comandi.
Ancora un comando utile per avere informazioni: whatis
whatis nome_comando: visualizza una breve descrizione del comando.
MUOVERSI NEL FILESYSTEM:
Analogamente al DOS per muoversi tra le directory si usa il comando cd (abbr. change directory)
cd nome_directory : va nella sottodirectory indicata
cd : riporta alla home
cd .. : torna alla directory superiore
cd / : va nella directory root
cd – : torna alla directory precedentemente visitata.
LISTA DEI FILE E DIRECTORY
Quello che in DOS era il comando dir per ottenere la lista dei file e delle directory presenti nel punto del filesystem in cui ci troviamo, nei sistemi Unix-like è il comando ls (abbr. list)
ls : fa la lista del contenuto della directory corrente
ls –a : visualizza anche i file nascosti (hanno un punto davanti al nome .file_nascosto)
ls –l : visualizza permessi, proprietari e dimensioni dei file
la serie di informazioni relative ad ogni singolo file è una stringa così composta:
permessi n utente gruppo dimensione data_ultima_modifica nome
in particolare i permessi sono indicati dalle 10 lettere iniziali, la prima lettera indica:
un file (-)
una directory (d)
un link (l)
la terna successiva indica i diritti dell’utente, la seconda quelli del gruppo, e la terza quella degli altri utenti,
ad esempio –rwxr-xr-x indica: un file (-) che tutti possono leggere ® ed eseguire (x), e solo il proprietario può modificare (w).
CAMBIARE I PERMESSI
Ora che abbiamo visto velocemente cosa sono i permessi possiamo analizzare un altro semplice ed utile comando. Il comando chmod (abbr. change mode) permette di cambiare i permessi associati a file e directory
La forma di utilizzo è : chmod {a, u, g, o} {+/-} {r, w, x} nome_file
Dove le lettere rappresentano:
“a” (all) rappresenta tutti gli utenti,
“u” (user) l’utente proprietario del file,
“g” (group) il gruppo proprietario,
“o” (other) altri utenti del sistema;
“r” (read) consente la lettura,
“w” (write) consente la scrittura,
“x” (execute) indica un file eseguibile.
Se i diritti (vedi ls –l) relativi al file pippo sono: –rwxr-xr-x e vogliamo dare al gruppo la possibilità di scrivere sul file, diamo il comando: chmod g+w pippo se vogliamo togliere agli utenti non del gruppo la possibilità di leggere il file, diamo il comando: chmod o-r pippo
COPIARE FILE E DIRECTORY
Si usa il comando cp (abbr. copy)
cp nome_file_esistente nuovo_nome_file : crea una copia, preservando l’originale
cp nome_file nome_directory/nome_file : copia il file nella directory indicata
se in questa directory esiste già un file con lo stesso nome, viene sovrascritto
cp –i nome_file nome_directory/nome_file : l’opzione –i attiva una modalità interattiva
che segnala casi particolari come quello descritto sopra.
CONOSCERE LO SPAZIO OCCUPATO
Si usa il comando du
du –h –s indica lo spazio occupato nella directory corrente.
CERCARE STRINGHE
Quando ci si trova a dover cercare una stringa all’interno di un file, di un listato ottenuto tramite ls o all’interno di qualunque cosa vogliate è importante usare il comando grep
grep “parola” file : cerca la parola indicata ” ” nel file
ps aux | grep firefox : permette di trovare la riga corrispondente a firefox tra i processi attivi
Occorre introdurre però l’uso del comando | (chiamato pipe): questo comando permette di concatenare un comando al successivo. Nell’esempio precedente abbiamo invocato il comando ps aux che ci fornisce il listato di tutti i processi attivi nel sistema, ma poichè questi è di grandi dimensioni abbiamo isolato la riga di nostro interesse passando l’output del primo comando al comando grep
CREARE DIRECTORY
Per creare directory si usa il comando mkdir.
mkdir nome_directory : crea una directory chiamata nome_directory nella posizione corrente
mkdir /home/user/nome_directory : crea una directory all’interno del percorso specificato
Ovviamente si possono creare directory solo dove l’utente è autorizzato a farlo. L’utente root (superuser) potrà creare directory ovunque nel filesystem, ma la stessa cosa non vale per utente normale. Non stupitevi dunque se otterrete un errore lanciando da utente normale il comando mkdir /directory_di_prova poichè state cercando di scrivere all’interno della directory radice (root) sulla quale non siete autorizzati ad agire.
SPOSTARE E RINOMINARE FILE E DIRECORY
Per spostare o rinominare un file o una directory si usa il comando mv (abbr. move)
mv nome_file nuovo_nome_file rinomina il file;
mv nome_file directory/ sposta il file nella directory indicata.
mv directory directory2/directory sposta la directory nella cartella directory2
ELIMINARE FILE E DIRECORY
Per eliminare un file o una directory si usa il comando rm (abbr. remove)
rm nome_file cancella il file;
rm –i nome_file modalità interattiva, chiede conferma prima di cancellare il file;
rm –f nome_file modalità forzata;
rm –fr nome_directory cancella la directory e tutti i file in essa contenuti, “r” (recursive)
Usare con molta prudenza.
COMPRIMERE E DECOMPRIMERE FILE E DIRECTORY
Il comando tar è probabilmente il più utilizzato per comprimere e decomprimere file in ambiente Linux. Quasi sempre gli archivi dei sorgenti di programmi per Linux vengono distribuiti compressi in formato tar.gz o tar.bz2
tar –cvf nome_archivio.tar nome_directory/
archivia il contenuto della directory indicata in un solo file;
tar –zcvf nome_archivio.tar.gz nome_directory/
il file archivio viene anche compresso;
tar –tvf nome_archivio.tar
mostra il contenuto dell’archivio;
tar –ztvf nome_archivio.tar.gz
mostra il contenuto dell’archivio compresso;
tar –xvf nome_archivio.tar
recupera i file archiviati;
tar –zxvf nome_archivio.tar.gz
recupera i file archiviati e compressi.
Il comando compress
compress nome_file il file compresso viene rinominato con l’aggiunta del suffisso .Z
compress –d nome_file.Z con l’opzione –d decomprime i file .Z;
Il comando gzip
gzip nome_file comprime file;
Il comando gunzip
gunzip nome_file.gz decomprime i file compressi con gzip;
Il comando bzip2
bzip2 nome_file comprime file tramite un algoritmo più potente;
Il comando bunzip2
bunzip2 nome_file.bz2 decomprime i file compressi con bzip2;
Il comando zip
zip nome_file.zip nome_file altro modo per comprimere file;
Il comando unzip
unzip nome_file.zip decomprime i file compressi con zip (e Winzip).
STAMAPARE
Il comando lpr
lpr –P nome_stampante nome_file stampa il file indicato con la stampante scelta;
lpr –o sides=two-sided-long-edge nome_file stampa fronte-retro (foglio verticale);
lpr –o sides=two-sided-short-edge nome_file stampa fronte-retro (foglio orizzontale);
lpr –o sides=one-sided nome_file stampa su singola facciata.
Il comando lpq
lpq –a mostra lo stato di stampa.
Il comando lprm
lprm numero_processo cancella la stampa indicata
il numero_processo si ottiene con il comando lpq
ALTRI COMANDI UTILI
Il comando clear
clear pulisce la shell.
Il comando kill
kill –9 id_processo è l’ultima risorsa per distruggere un programma sospeso,
per visualizzare il codice identificativo di un processo si utilizza il comando ps aux | grep.
Il comando less
less nome_file mostra il contenuto del file (testo);
comando | less mostra il risultato del comando in un file di testo temporaneo.
MONTARE E SMONTARE DISPOSITIVI
Prima di poter accedere a file contenuti in un dispositivo (sia esso un floppy, un cd o un hard disk esterno) occorre montarli, ovvero indicare al sistema la presenza di un nuovo dispositivo e in che punto del filesystem “agganciare” i file contenuti:
mount /mnt/floppy “monta” il dischetto;
mount /mnt/cdrom “monta” il cd-rom;
mount /dev/hdb1 /mnt/disco2 “monta” un secondo hard disk nella directory /mnt/disco2
Il comando mount necessita dei privilegi di root poiché va a modificare configurazioni di sistema
per accedere al contenuto i comandi sono:
cd /mnt/floppy ”apre” il dischetto;
cd /mnt/cdrom “apre” il cd-rom;
e poi per smontarli, al termine del loro utilizzo, occorre usare il comando umount:
umount /mnt/floppy “smonta” il dischetto;
umount /mnt/cdrom “smonta” il cd-rom.
umount /mnt/disco2 “smonta” il secondo hard disk.
DIVENTARE ROOT
Per diventare utente rootsi può procedere in diversi modi:
– autenticarsi direttamente come root all’avvio del sistema. E’ sconsigliato autenticarsi come root
in un sistema grafico.
– usare il comando su – vi verrà chiesta la password di root dopodichè verrete autenticati
– in sistemi {ln:Debian} e/o derivati come {ln:Ubunt} si può usare il comando sudo.
Il comando sudo è disponibile anche in altre distribuzioni, ma le distribuzioni derivate da Debian sono quelle che ne fanno un uso maggiore. Il comando sudo permette di lanciare un comando con i privilegi di root pur rimanendo autenticati come utente normale.
sudo mount /mnt/cdrom
vi consentirà ad esempio di montare il cdrom pur essendo utenti normali
CONOSCERE I PROCESSI ATTIVI SUL SISTEMA
Il comando ps
ps visualizza l’elenco dei processi in corso.
ps aux visualizza
CONOSCERE LA POSIZIONE ATTUALE
Il comando pwd (abbr. present working directory)
pwd indica la posizione attuale