tar
& gzip
Sotto Unix ci sono alcune applicazioni usatissime per archiviare e
comprimere i file. tar
e' usato per fare archivi---e' come PKZIP
ma
non comprime, archivia soltanto. Per fare un nuovo archivio:
$ tar -cvf <archive_name.tar> <file> [file...]
Per estrarre files da un arhivio:
$ tar -xpvf <archive_name.tar> [file...]
Per listare il contenuto di un archivio:
$ tar -tf <archive_name.tar> | less
I file si comprimono con compress
, che e' obsoleto e non dovrebbe
essere piu' usato, o con gzip
:
$ compress <file>
$ gzip <file>
che crea un file file compresso con estensione .Z (compress
) o .gz
(gzip
). Questi programmi comprimono solo un file alla volta. Per
decomprimere, scrivete
$ compress -d <file.Z>
$ gzip -d <file.gz>
LMP.
Ci sono anche unarj
, zip
e unzip
(PK??ZIP compatibile). I
files con estensione .tar.gz
o .tgz
(archivi fatti con tar
e
compressi con gzip
) sono comuni nel mondo Unix come i files .ZIP sotto
DOS. Per listare i contenuti di un file .tar.gz
:
$ gzip -dc <file.tar.gz> | tar tf - | less
Prima di tutto: installare nuove applicazioni e' compito di root. Alcune
applicazioni Linux sono distribuite come archivi .tar.gz
o .tgz
,
fatti in modo da poter essere scompattati dalla directory / col seguente
comando:
# gzip -dc <file.tar.gz> | tar xvf -
oppure, in modo equivalente,
$ tar -zxf <file.tar.gz>
I file vengono decompressi nella directory giusta, che viene creata sul
momento. Gli utenti della distribuzione Slackware hanno il programmino
pkgtool
; un altro e' rpm
, disponibile per tutte le distribuzioni
grazie a Red Hat.
Altri package non possono essere installati da /; tipicamente, l'archivio
contiene una directory chiamata nome_programma/
e tanti files e/o
sottodirectories sotto nome_programma/
. Una regola e' quella di
installare questi programmi da /usr/local
. Inoltre, altri programmi
sono distribuiti come sorgenti in C o C++ che vanno compilati per fare gli
eseguibili. In molti casi, basta dare make
; ovviamente vi servira' il
compilatore gcc
.
Command completion: premere <TAB> mentre si scrive un comando al
prompt completa la linea di comando. Esempio: dovete scrivere
gcc nome_file_molto_lungo.c
; scrivendo gcc nome<TAB>
e' sufficiente. (Se avete altri file che cominciano con gli stessi
caratteri, scrivete altre lettere per risolvere l'ambiguita').
Backscrolling: premendo SHIFT + PAG UP (tasto grigio) consente di fare lo scroll all'indietro dello schermo, a seconda di quanta memoria video avete;
Resettare lo schermo: puo' capitare di fare more
o cat
di un
file binario, e come conseguenza lo schermo potrebbe riempirsi di schifezze.
Per rimettere a posto, battere alla cieca reset
o questa sequenza di
caratteri: echo CTRL-V ESC c RETURN
;
Incollare il testo: per la console, vedete sotto; in X, fate click e
trascinate per selezionare il testo in una finestra xterm
, poi
premete il tasto di mezzo (o i due bottoni insieme se non avete tre tasti)
per incollare il testo selezionato altrove. C'e' anche il programma
xclipboard
(purtroppo solo per il testo); non fatevi confondere dal suo
lentissimo tempo di risposta;
Usare il mouse: installate gpm
, un mouse driver per la console.
Fate click e trascinate per selezionare il testo, poi fate click col tasto
destro per incollare il testo selezionato. Funziona anche tra diverse VC.
Messaggi dal kernel: date un occhio a /var/adm/messages
o /var/log/messages
come root per vedere i messaggi del kernel,
compresi i messaggi in fase di boot. Anche il comando dmesg
e' molto
utile.
Ovviamente, questa lista riflette i miei gusti e le mie necessita' personali.
Prima di tutto, dove trovarli: sapete tutti come usare la rete, archie
ed ftp
, quindi vi daro' solo gli indirizzi piu' importanti che riguardano
Linux:
sunsite.unc.edu
,
tsx-11.mit.edu
, e
nic.funet.fi
. Usate il vostro mirror piu' vicino.
at
serve per eseguire comandi e programmi ad un'ora o data
specifica;
awk
e' un linguaggio di programmazione, semplice ma potente, per
manipolare file di dati (e non solo). Per esempio, se avete un file di dati
a piu' campi chiamato data.dat
,
$ awk '$2 ~ "abc" {print $1, "\t", $4}' data.dat
scrive i campi 1 e 4 di ogni linea in data.dat
il cui secondo campo
contiene ``abc''.
delete-undelete
fanno quello che il loro nome suggerisce;
df
da' informazioni sui dischi montati;
dosemu
consente di far girare molte (anche se non tutte)
applicazioni DOS, incluso Windows 3.x se ci smanettate un bel po';
file <filename>
dice che cos'e' filename
(file ASCII,
eseguibile, archivio, etc.);
find
(vedi anche Sezione
Directories) e' uno dei comandi piu' utili e potenti. Si usa per
trovare file che rispondono a certi criteri ed eseguire azioni su si essi.
Uso generale di find
:
$ find <directory> <espressione>
dove <espressione> include criteri di ricerca ed azioni da eseguire.
Esempi:
$ find . -type l -exec ls -l {} \;
trova i file che sono link simbolici e mostra a cosa puntano.
$ find / -name "*.old" -ok rm {} \;
trova i files che corrispondono al pattern e li cancella, chiedendo prima il
permesso di farlo.
$ find . -perm +111
trova i file i cui permessi corrispondono con 111 (eseguibile).
$ find . -user root
trova i files che appartengono a root. Ci sono molte altre possibilita', LMP.
gnuplot
e' un bel programma per il plotting scientifico;
grep
trova pattern in file di testo. Per esempio,
$ grep -l "geology" *.tex
lista tutti i files *.tex che contengono la parola ``geology''. La
variante zgrep
agisce su file gzippati. LMP;
joe
e' un buon editor. Lanciandolo come jstar
si ottengono
le stesse combinazioni di tasti di WordStar e dei suoi discendenti, compresi
l'editor del DOS e quello dei linguaggi Borland;
less
e' probabilmente il migliore visualizzatore di file di
testo, e se configurato consente di visualizzare archivi gzip, tar e zip;
lpr
<file> stampa un file in background. Per controllare
lo stato della coda di stampa, usate lpq
; per cancellare un file dalla
coda di stampa, usate lprm
;
mc
e' un bellissimo file manager;
pine
e' un buon programma per la posta elettronica;
script <script_file>
copia su script_file
tutto
quello che appare sullo schermo fino a quando non date il comando exit
.
Utile per il debugging;
sudo
permette di eseguire alcuni dei compiti solitamente
concessi solo a root (es. formattare e montare dischi; LMP);
tcx
comprime files eseguibili mantenendoli eseguibili;
uname -a
da' informazioni sul sistema;
zcat
e zless
sono utili per visualizzare file gzippati
senza decomprimerli. Per esempio:
$ zless textfile.gz
$ zcat textfile.gz | lpr
bc, cal, chsh, cmp,
cut, fmt, head, hexdump, nl, passwd, printf, sort, split, strings, tac,
tail, tee, touch, uniq, w, wall, wc, whereis, write, xargs, znew.
LMP.
Potrete incontrare tantissime estensioni di file. A parte le piu' esotiche (ad es. fonts, etc.), ecco una lista:
1 ... .8
: man page. Procuratevi man
.
arj
: archivio fatto con arj
. unarj
per estrarre i
file.
dvi
: output file prodotto da TeX (vedi sotto). xdvi
per
visualizzare; dvips
per convertire in un file .ps (postscript)
gif
: file grafico. Procuratevi seejpeg
o xpaint
.
gz
: file compresso con gzip
.
info
: file info (una specie di alternativa alle man pages.).
Procuratevi info
.
jpg, jpeg
: file grafico. Procuratevi seejpeg
.
lsm
: Linux Software Map file. È un file ASCII
contenente la descrizione di un package.
ps
: file postscript. Per visualizzare o stampare, usare gs
e, opzionalmente, ghostview
.
tgz, tar.gz
: archivio fatto con tar
e poi compresso con
gzip
.
tex
: file di testo da comporre con TeX, un potente programma di
impaginazione. Procurarsi tex
, disponibile in molte distribuzioni;
attenti alla distribuzione NTeX, che ha dei font corrotti ed e' parte di
Slackware fino alla versione 96.
texi
: file texinfo (vedi .info
). Procuratevi texinfo
.
xbm, xpm, xwd
: file grafici. Procuratevi xpaint
.
Z
: file compresso con compress
.
zip
: archivio fatto con zip
. Procuratevi zip
e
unzip
.