INTRO(1)

NOME
intro - Introduzione ai comandi utente

DESCRIZIONE
Linux è una variante di Unix, e come prima approssimazione tutti i comandi utente sotto Unix lavorano precisamente nello stesso modo che in Linux (e FreeBSD e molti altri sistemi Unix-like).

Sotto Linux ci sono GUI (intarfacce grafiche utente), dove 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 richiede di trovare cos sono i comandi. Di seguito si dà il minomo essenziale per partire.

  Login
Per iniziare probebilmente bisogna prima eseguire il login, che significa dare il proprio nome utente e password. Si veda anche login(1). Il programma login avvia una shell shell (interprete 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
Si digitano i comandi nella shell, l'interprete dei comandi. Esso non è incluso nel sistema, ma è un programma, e si può cambiare la propria shell. Ciascuno ha la propria favorita. Quella standard è chiamata sh. Vedere anche ash(1), bash(1), csh(1), zsh(1), chsh(1).

Una sessione può essere come segue
    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 qui digitando Control-D si termina la sessione. Il carattere % qui è il prompt comandi il modo della shell di indicare che è pronta per il prossimo comando). Il prompt può essere personalizzato in moltissimi modi, e uno può includere cose come nome utente, nome macchina, directory corrente, 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 corrente ○oè dice quali file si hanno). Con un'opzione -l fornisce un elenco lungo, questo include il proprietario e dimensione e data del file, e i permessi che gli utenti hanno per modificare e/o cambiare il file. Per esempio il file "tel" qui è lungo 37 byte, il proprietario è aeb ed esso 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 dati 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. Qui non c'era output perché non c'erano differenze.

Il comando rm (da "remove") cancella il file, e attenzione! è andato. Nessun cestino o altro. Cancellato significa perso.

Il comando grep (da "g/re/p") trova le occorrenze di una stringa in uno o più file. Qui esso trova il numero di telefono di Maja.

  Nomi di percorso e la directory corrente
I file vivono in un grande albero, la gerarchia dei file. Ciascuno ha un nome percorso che descrive il percorso dalla radice dell'albero (che è chiamata /) al file. Per esempio, un nome percorso completo potrebbe essere /home/aeb/tel. Usare sempre nomi di percorso completi non sarebbe conveniente, e il nomedi un file nella directory corrente potrebbe essere abbreviato dando solo l'ultimo componente. Questa è la ragione per cui "/home/aeb/tel" può essere abbreviato in "tel" quando la directory corrente è "/home/aeb".

Il comando pwd stampa la directory corrente.

Il comando cd cambia la directory corrente. Provare "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 segnala un errore.

Il comando find (con una sintassi piuttosto barocca) troverà file con il nome dato o altre proprietà. Per esempio "find . -name tel" troverà il file "tel" a partire dalla directory corrente (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 locate(1).

  Dischi e Filesystem
Il comando mount attaccherà il filesystem troveto in un disco (o floppy, o CDROM o altro) alla grande gerarchia del filesystem. 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 foreground, gli altri in background. Il comando ps visualizzerà i processi attivi e quali numeri sono associati a questi processi. Il comando kill permette di sbarazzarsi di essi. Senza opzioni esso è una richiesta amichevole: per favore vattene. E "kill -9" seguito dal numero del processo è un 'uccisione' immediata. I processi in primo piano possono spesso essere chiusi digitando Control-C.

  Ottenere informazioni
Esistono migliaia di comandi, ciascuno con molte opzioni. I comandi tradizionali sono documentati sulle man page, (come questa), in modo che il comando "man kill" documenti l'uso del comando "kill" (e "man man" documenta il comando "man"). Il programma man invia il testo a qualche paginatore, normalmente less. Premere la barra spaziatrice per andare alla pagina successiva, premere q per uscire.

Nella documentazione è abitudine fare riferimento alle man page dando 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 diversi 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 qui si trovano file in HTML.