NOME¶
intro - Introduzione ai comandi utente
DESCRIZIONE¶
La sezione 1 del manuale descrive i comandi e gli strumenti per l'utente, per
esempio gli strumenti per manipolare i file, le shell, i compilatori, i
browser web, i visualizzatori e gli editor di file e di immagini, e
così via.
Tutti i comandi producono un valore di stato quando terminano. Questo valore
può essere testato (per esempio in molte shell la variabile
$?
contiene lo stato dell'ultimo comando eseguito) per controllare se il comando
è stato completato con successo. Per convenzione uno stato di uscita
zero indica il successo, mentre uno stato diverso da zero significa che il
comando non ha avuto successo. (Si possono trovare dettagli sugli stati di
uscita in
wait(2).) Uno stato di uscita diverso da zero è
compreso tra 1 e 255, e molti comandi usano diversi valori per gli stati di
uscita per indicare il motivo per cui il comando è fallito.
NOTES¶
Linux è una variante di Unix, e come prima approssimazione tutti i
comandi utente sotto Unix lavorano precisamente nello stesso modo sotto Linux
(e FreeBSD e molti altri sistemi tipo Unix).
Sotto Linux ci sono GUI (interfacce grafiche utente), in cui si può
puntare, cliccare e trascinare, e, si spera, completare il lavoro senza
leggere prima tonnellate di documentazione. L'ambiente Unix tradizionale
è una CLI (interfaccia a linea di comando), in cui si digitano comandi
per dire al computer cosa fare. Ciò è più rapido e
più potente, ma è necessario scoprire quali siano i comandi. Di
seguito il minimo essenziale per partire.
Login¶
Per iniziare a lavorare probabilmente bisognerà prima eseguire il login,
che significa dare i propri nome utente e password. Si veda anche
login(1). Il programma
login avvia una
shell (interprete
dei comandi) per l'utente. In caso di login grafico si accede a uno schermo
con menu o icone e un click del mouse avvierà una shell in una
finestra. Vedere anche
xterm(1).
La shell¶
I comandi si digitano nella
shell, l'interprete dei comandi. La shell non
è incorporata nel sistema, è solo un programma, e l'utente
può cambiare la propria shell. Ciascuno ha la sua favorita. Quella
standard si chiama
sh. Vedere anche
ash(1),
bash(1),
csh(1),
zsh(1),
chsh(1).
Una sessione può essere così
knuth login: aeb
Password: ********
% date
Tue Aug 6 23:50:44 CEST 2002
% cal
August 2002
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
% ls
bin tel
% ls -l
total 2
drwxrwxr-x 2 aeb 1024 Aug 6 23:51 bin
-rw-rw-r-- 1 aeb 37 Aug 6 23:52 tel
% cat tel
maja 0501-1136285
peter 0136-7399214
% cp tel tel2
% ls -l
total 3
drwxr-xr-x 2 aeb 1024 Aug 6 23:51 bin
-rw-r--r-- 1 aeb 37 Aug 6 23:52 tel
-rw-r--r-- 1 aeb 37 Aug 6 23:53 tel2
% mv tel tel1
% ls -l
total 3
drwxr-xr-x 2 aeb 1024 Aug 6 23:51 bin
-rw-r--r-- 1 aeb 37 Aug 6 23:52 tel1
-rw-r--r-- 1 aeb 37 Aug 6 23:53 tel2
% diff tel1 tel2
% rm tel1
% grep maja tel2
maja 0501-1136285
%
e a questo punto digitando Control-D si termina la sessione. Il carattere
%
in questo caso è il prompt dei comandi ○oè il modo
della shell di indicare che è pronta per il prossimo comando). Il
prompt può essere personalizzato in moltissimi modi, includendo cose
come nome utente, nome macchina, directory attuale, ora, ecc. Un'assegnazione
PS1="Cosa faccio ora, capo? " cambierebbe il prompt come indicato.
Vediamo che ci sono comandi
date (che fornisce data e ora), e
cal
(che fornisce un calendario).
Il comando
ls elenca i contenuti della directory attuale
○oè elenca i file presenti). Con l'opzione -l fornisce un elenco
lungo, che include proprietario, dimensione e data del file, e i permessi
degli utenti per modificare o cambiare il file. Per esempio il file
"tel" è lungo 37 byte, il proprietario è aeb che
può leggerlo e scriverlo, altri possono solo leggerlo. Proprietario e
permessi possono essere cambiati dai comandi
chown e
chmod.
Il comando
cat visualizzerà il contenuto di un file. (Il nome
viene da "concatenate and print": tutti i file indicati come
parametri sono concatenati e inviati allo "standard output", che qui
è il terminale video.)
Il comando
cp (da "copy") copierà un file. D'altra parte
il comando
mv (da "move") si limita a rinominarlo.
Il comando
diff elenca le differenze tra due file. In questo caso non
c'è output perché non ci sono differenze.
Il comando
rm (da "remove") cancella il file, e si faccia
attenzione: è andato. Nessun cestino per la carta straccia o altro.
Cancellato significa perso.
Il comando
grep (da "g/re/p") trova le ricorrenze di una
stringa in uno o più file. In questo caso trova il numero di telefono
di Maja.
Nomi di percorso e la directory attuale¶
I file risiedono in un grande albero, la gerarchia dei file. Ciascuno ha un
nome di percorso che descrive il percorso dalla radice dell'albero (che
è chiamata /) al file. Per esempio, un nome di percorso completo
potrebbe essere /home/aeb/tel. Usare sempre nomi di percorso completi non
sarebbe conveniente, e il nome di un file nella directory attuale potrebbe
essere abbreviato dando solo l'ultimo componente. Questa è la ragione
per cui "/home/aeb/tel" può essere abbreviato in
"tel" quando la directory attuale è "/home/aeb".
Il comando
pwd stampa la directory attuale.
Il comando
cd cambia la directory attuale. Si provi "cd /" e
"pwd" e "cd" e "pwd".
Directory¶
Il comando
mkdir crea una nuova directory.
Il comando
rmdir rimuove una directory se essa è vuota, altrimenti
si lamenta.
Il comando
find (con una sintassi piuttosto barocca) troverà file
con il nome dato o con altre proprietà. Per esempio "find . -name
tel" troverà il file "tel" a partire dalla directory
attuale (che è chiamata "."). E "find / -name tel"
farà lo stesso, ma partendo dalla radice dell'albero. Ricerche ampie su
un disco di molti GB richiederanno tempo, e potrebbe essere meglio usare
locate(1).
Dischi e Filesystem¶
Il comando
mount attaccherà il file system presente su un disco (o
floppy, o CDROM o altro) alla grande gerarchia del file system. E
umount lo stacca di nuovo. Il comando
df informerà su
quanto spazio è ancora libero sul disco.
Processi¶
Su un sistema Unix molti processi degli utenti e di sistema sono in funzione
contemporaneamente. Quello che si sta utilizzando funziona in
primopiano
, gli altri sullo
sfondo. Il comando
ps
visualizzerà i processi attivi e i numeri a loro associati. Il comando
kill permette di sbarazzarsene. Senza opzioni è una richiesta
amichevole: per favore vattene. E "kill -9" seguito dal numero del
processo terminerà immediatamente il processo stesso. I processi in
primo piano possono spesso essere interrotti digitando Control-C.
Esistono migliaia di comandi, ciascuno con molte opzioni. I comandi tradizionali
sono documentati nelle
pagine di manuale, (come questa), dunque il
comando "man kill" documenterà l'uso del comando
"kill" (e "man man" documenterà il comando
"man"). Il programma
man invia il testo a qualche
paginatore, di solito
less. Premere la barra spaziatrice per
andare alla pagina successiva, premere q per uscire.
Nella documentazione è abitudine fare riferimento alle pagine di manuale
indicando nome e numero di sezione, come in
man(1). Le man page sono
concise, e permettono di trovare rapidamente qualche dettaglio dimenticato.
Per i nuovi arrivati è utile un testo introduttivo con più
esempi e spiegazioni.
Molto del software GNU/FSF è fornito con file info. Digitare "info
info" per un'introduzione all'uso del programma "info".
Argomenti speciali sono spesso trattati in HOWTO. Guardare in
/usr/share/doc/howto/en e usare un browser se vi si trovano file in
HTML.
VEDERE ANCHE¶
standards(7)