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.
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.
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 %
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.
Il comando pwd stampa la directory attuale.
Il comando cd cambia la directory attuale. Si provi "cd /" e "pwd" e "cd" e "pwd".
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).
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.