Scroll to navigation

INTRO(1) novembre INTRO(1)

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.

Ottenere informazioni

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)

- 15