E' possibile copiare qualsiasi cosa appare sul proprio terminale in un file specifico con il comando capture, che riproduce un terminale VT100.
E' possibile utilizzare il comando script per copiare qualsiasi cosa appaia sul terminale in un file specifico, senza riprodurre il terminale VT100.
Entrambi i comandi sono utili per record delle finestre di dialogo del terminale.
Ad esempio, per copiare lo schermo di un terminale riproducendo un terminale VT100, nella riga comandi, immettere:
capture screen.01
Premere Invio.
Il sistema visualizza informazioni simili alle seguenti:
Capture command is started. The file is screen.01. Use ^P to dump screen to file screen.01. You are now emulating a vt100 terminal. Press Any Key to continue.
Dopo aver immesso i dati ed aver eseguito il dump dei contenuti dello schermo, arrestare il comando capture premendo Ctrl-D o digitando exit e premendo Invio. Il sistema visualizza informazioni simili alle seguenti:
Capture command is complete. The file is screen.01. You are NO LONGER emulating a vt100 terminal.
Utilizzare il comando cat per visualizzare i contenuti del file.
Ad esempio, per copiare lo schermo di un terminale, nella riga comandi, immettere:
script
Premere Invio.
Il sistema visualizza informazioni simili alle seguenti:
Script command is started. The file is typescript.
Qualsiasi cosa visualizzata sullo schermo adesso è copiata nel file typescript.
Per terminare il comando script, premere Ctrl-D o immettere exit e premere Invio. Il sistema visualizza informazioni simili alle seguenti:
Script command is complete. The file is typescript.
Utilizzare il comando cat per visualizzare i contenuti del file.
Il comando tee, utilizzato con un pipe, legge le immissioni standard, quindi scrive le emissioni di un programma in emissioni standard e copia simultaneamente in file specifici. Utilizza il comando tee per vedere immediatamente e allo stesso tempo l'emissione, e memorizzarla per usi futuri.
Ad esempio, immettere:
ps -ef | tee program.ps
Premere Invio.
Ciò visualizza l'emissione standard del comando ps -ef nell'unità schermo e allo stesso tempo ne salva una copia nel file program.ps. Se il file program.ps già esiste, esso viene eliminato e sostituito, a meno che l'opzione noclobber del comando incorporato set viene specificata.
Ad esempio, per visualizzare e salvare l'emissione da un comando in un file esistente:
ls -l | tee -a program.ls
Ciò visualizza l'emissione standard di ls -l nell'unità schermo a allo stesso tempo ne allega una copia alla fine del file program.ls.
Il sistema visualizza informazioni simili alle seguenti, ed il file program.ls contiene le stesse informazioni:
-rw-rw-rw- 1 jones staff 2301 Sep 19 08:53 161414 -rw-rw-rw- 1 jones staff 6317 Aug 31 13:17 def.rpt -rw-rw-rw- 1 jones staff 5550 Sep 10 14:13 try.doc
Quando l'annotazione >> nomefile è aggiunta alla fine di un comando, l'emissione del comando viene aggiunta al nome file specifico, piuttosto che essere sovrascritta a qualsiasi dato già esistente. Il simbolo >> è conosciuto come l'operatore aggiungi reindirizzamento.
Ad esempio, per aggiungere file2 a file1, immettere:
cat file2 >> file1
Premere Invio.
Nota: Se il file file1 non esiste, viene creato, a meno che l'opzione noclobber del comando set built-in ksh (Korn shell) o csh (C shell) viene specificata.
L'emissione di un processo può essere reindirizzato in un file immettendo il comando seguito dal nome file. Ad esempio, per inviare i risultati del comando who ad un file chiamato users, immettere:
who > users
Premere Invio.
Nota: Se il file users esiste già, viene eliminato e sostituito, a meno che l'opzione noclobber del comando set built-in ksh (Korn shell) o csh (C shell) viene specificata.
Per vedere i contenuti del file users, immettere:
cat users
Premere Invio.
Viene visualizzato un elenco simile a quanto segue:
denise lft/0 May 13 08:05 marta pts/1 13 Mag 08:10 endrica pts/2 13 Mag 13 09:33
Se si desidera reindirizzare l'errore standard o altre emissioni, è necessario utilizzare un descrittore di file. Un descrittore file è un numero associato con ognuno dei file I/O che un comando utilizza normalmente. I descrittori di file possono essere specificati per reindirizzare le immissioni e le emissioni standard, ma sono già i valori assunti. I numeri seguenti sono associati alle immissioni, emissioni ed errori standard:
| 0 | Immissione standard (tastiera) |
| 1 | Emissione standard (schermo) |
| 2 | Errore standard (schermo) |
Per reindirizzare l'emissione di errore standard, immettere il descrittore di file numero 2 all'inizio dell'emissione, oppure aggiungere i simboli di reindirizzamento (> o > >) ed un nome file dopo il simbolo. Ad esempio, il seguente comando prende l'errore standard dal comando cc dove compilava il file testfile.c e lo aggiunge alla fine del file ERRORS:
cc testfile.c 2 >> ERRORS
Altri tipi di immissione possono anche essere reindirizzate utilizzando i descrittori di file da 0 a 9. Ad esempio, se il comando cmd scrive le emissioni nel descrittore di file 9, è possibile reindirizzare l'emissione nel file savedata con il seguente comando:
cmd 9> savedata
Se un comando scrive a più di un'emissione, è possibile reindirizzarne ognuna indipendentemente. Presumendo che un comando reindirizzi l'emissione standard nel descrittore di file 1, indirizza l'emissione di errore standard al descrittore di file 2 e crea un file di dati sul descrittore file 9, il seguente comando reindirizza ogni emissione in un file diverso:
command > standard 2> error 9> data