Linux Tempo 0
esempi d'uso per neoutenti. release 0.73c 01/08/99 by moser marco,
sito su http://www.marcomoser.it
convenzioni
# | shell utente root |
$ | [marco]$ | shell utente normale | shell utente marco |
[x] | tasto o parametro o opzionalita' |
cmq | usa la tua fantasia |
installazione
CDROM,C | nel bios abilitare il boot da cdrom con [CANC] allo startup |
# fdisk | partiziona il disco |
hda | primo disco fisso ide (primario master) |
hda2 | seconda partizione di hda |
# lilo | seleziona il sistema operativo all'avvio della macchina |
[TAB] | all'avvio visualizza i sistemi operativi installati |
linux 1 | al boot indica di caricare linux in modo single user |
utenti
login | procedura di identificazione utente |
root | superutente amministratore di sistema |
$ man cat | sfoglia il manuale |
# groupadd soci | crea un gruppo di utenti |
# useradd marco -g soci | [-G soci2] -m crea un utente e la sua home dir |
# passwd marco | imposta la password per l'utente |
# userdel -r marco | rimuove utente e la sua home dir |
$ su diaolin | cambia identita' |
$ su - | diventa root, - = rilegge i file di configurazione |
$ who | visualizza gli utenti collegati |
$ exit | esce dalla shell corrente |
$ last | lista collegamenti |
$ cat /etc/passwd | mostra il contenuto del file delle password |
$ touch degheio.tot | crea un file vuoto degheio |
$ chgrp soci spriz.tot | cambia il gruppo di appartenenza del file spriz.tot |
$ chown ianez spriz.tot | cambia il proprietario del file spriz.tot |
file system { file, directory, + mc }
$ bash | shell: interprete comandi/prompt |
^d | alias exit |
^r comando | ricerca un comando nel history (^r precedente) |
^s comando | ricerca un comando nel history (^s succesivo) |
@d | cancella prossima parola |
$ ls -laF | lista tutti file (anche nascosti) in formato esteso |
$ cd /etc | cambia la directory corrente |
$ pwd | mostra la directory corrente |
$ mc | shell stile norton commander |
chmod | cambia i permessi di lettura/scrittura/esecuzione dei file |
drwxr-xr-x | d=dir, l=link, -=file |
| utente - gruppo - altri: r=legge, w=scrive, x=esegue |
link | crea collegamenti tra file e directory |
^O | visualizza schermata comandi |
^S xxx | ^S | attiva ricerca nome file / continua la ricerca |
+ | - | * | ins seleziona/deseleziona files | |
$ mcedit | editor di testo |
$ du -k /home/marco mostra lo spazio in Kb occupato dalla directory | |
$ df -k | mostra lo spazio allocato/disponibile del disco |
file system
/bin | contiene i comandi |
/sbin | contiene i comandi di amministrazione usati da root |
/etc | contiene i file di configurazione |
/lib | contiene le librerie di sistema |
/boot | contiene i kernel: vmlinuz |
/lib/modules | contiene i moduli del kernel |
/tmp | contiene i file temporanei |
/root | la home directory di root |
/home/[user1] | la home directory degli utenti |
/usr | contiene i programmi utente |
/var | contiene i file pseudotemporanei: spool stampa,mail,logs... |
/mnt | contiene i mount temporanei a cdrom, floppy, partizioni |
/dev | contiene le periferiche di sistema |
/proc | mappa i processi, la memoria (come fossero files) |
$ mount /mnt/cdrom | vede il cdrom come una directory |
$ ls /mnt/cdrom | lista il contenuto del cdrom |
$ umount /mnt/cdrom | disabilita l'uso del cdrom |
/etc/fstab | tabella dei montaggi allo startup |
$ mount -t vfat -o rw /dev/hda1 /mnt/win vede la partizione windows95 | |
vedi: mkdir, rmdir, cp, | mv, ln, pwd, which, chmod, chown |
shell { esegue comandi }
$ bash | interprete comandi (shell) di default |
[TAB] | completa il comando corrente |
[SHIFT][PGUP]|[PGDOWN] | scorre il testo del terminale |
[Alt+F1] o [Alt+F2] ... | abilita la vista sui terminali virtuali |
[^C] | interrompe comando corrente |
[^D] | fine file (stdin) / exit dalla shell |
[Ctrl+Alt+Del] | shutdown: resetta la macchina |
tastiera italiana
AltGr + ' | Alt + 96 | ` | accento grave |
AltGr + = | Alt + 126 Alt + i' | ~ | tilde |
AltGr + ( | Alt + 123 | { | |
AltGr + ) | Alt + 125 | } | |
$ set var=valore | imposta una variabile |
$ echo $var | visualizza variabile |
$ exit | esce dalla shell |
$ $[TAB] | visualizza variabili di sistema |
$ echo $USER | nome utente corrente |
$ env | lista le variabili di sistema |
$ echo | visualizza una stringa |
$ echo "ss$USER" | la shell interpreta solo le variabili |
$ echo '$USER' | evita che la shell interpreti le variabili |
$ /etc/profile | file di configurazione generale a tutti gli utenti |
~ o $HOME | variabile contenente la directory home dell'utente |
~/.bash_profile | file di configurazione personalizzato per utente |
export PS1='degheio :' es: imposta il prompt dei comandi | |
~/.bash_rc | file di configurazione per shell (alias,...) |
alias dir='ls -la --color' es: crea il comando veloce 'dir' | |
$ echo $PATH | percorsi in cui ricercare i comandi digitati sul prompt |
$ export $PATH=$PATH:. | setta il path includendo anche la directory corrente |
$ [cmd] & | lancia un comando in background |
$ [^Z] bg | porta il comando corrente in background |
$ fg | ripristina l'iterazione con un comando |
$ jobs | lista i comandi in background |
$ ps | mostra i programmi [pid] in esecuzione |
$ kill 2308 | termina un programma usando il pid |
$ mcedit | editor di testo |
$ joe | editor di testo |
$ vi [file] | editor di testo unix ([ESC] + [:q!] per uscirne indenni) |
stdin | default da dove la shell legge i comandi (<) |
stdout | default dove scrive gli output (> o |) |
stderr | default dove scrive gli errori in output (2>) |
$ ls /etc /xxx 2> err.txt visualizza le directory ma nasconde gli errori | |
$ cat err.txt | mostra il file a video |
$ tr [:lower:] [:upper:] trasforma lo stdin da minuscolo in maiuscolo | |
$ sort | ordina le righe stdin su stdout |
$ ls | sort | ordina il risultato del ls |
$ ps aux | grep init | visualizza i processi contenenti la stringa init |
script | file comandi per shell |
$ joe lsdir | esempio: |
#!/bin/bash | identifica bash script |
# mostra directory | commento |
if [ -d "$1" ] | verifica che il primo parametro passato sia una dir |
then | |
ls -l "$1" | visualizza la directory per esteso |
echo $? | mostra l'esito di ls |
fi | |
$ chmod +x lsdir | abilita l'esecuzione dello script |
$ lsdir /etc | esegue |
$ file lsdir | identifica un tipo di file/comando |
vedi: date | |
kernel{il sistema operativo}
/usr/src/linux | posizione dei sorgenti del sistema operativo (kernel) |
/usr/src/linux/Documentation | |
# make mrproper | azzera (elimina anche .config) |
# make config | setta i moduli del kernel senza interfaccia grafica |
# make xconfig | interfaccia grafica via X |
# make menuconfig | interfaccia grafica testuale (raccomandata) |
<*> kernel | Y funzionalita' nel kernel |
module | M come modulo (si carica quando serve) |
< > none | N funzionalita' disabilitata |
abilitare assolutamente: | |
<*> kerneld | demone caricatore dei moduli |
<*> second ext2 fs | supporto del file system proprio di linux |
/usr/src/.config | output di make *config |
# make dep | costruisce le dipendenze |
# make clean | inizializza la compilazione |
# make bzImage | crea il kernel /usr/src/linux/arch/i386/boot/bzImage |
# make modules | crea i moduli |
# make modules_install | copia i moduli in /lib/modules/2.2.7/*.o |
# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.2.7 | |
# cp /usr/src/linux/System.map /boot/System.map-2.2.7 | |
# ln -s /boot/System.map-2.2.7 /boot/System.map | |
# vi /etc/lilo.conf | abilita la selezione del nuovo kernel all'avvio |
image=/boot/vmlinuz-2.2.7 | |
label=linux-2.2.7 | nome di boot |
root=/dev/hda2 | mount della root directory |
read-only | permette il check all'avvio |
# lilo | aggiorna il boot record/partition table |
# shutdown -r now | riavvia il sistema (alias # reboot) |
# shutdown -h 5 | blocca il sistema fra 5 minuti (alias # halt) |
# dmesg | more | visualizza i messaggi di sistema |
# modeprobe -l | lista i moduli installati |
ip_network
$ hostname | legge il nome della macchina |
# vi /etc/sysconfig/network | per settare hostname usare i tool della |
# vi /etc/HOSTNAME | distribuzione oppure editare questi file |
# vi /etc/hosts | validi per la redhat |
# vi /etc/host.conf | priorita' per la conversione nome → ip |
order hosts,bind | prima file hosts, dopo dns |
multi on | multi ip per host |
# vi /etc/hosts | converte i nomi (host.oltre)->ip (212.11.69.208) |
127.0.0.1 localhost.localdomain localhost interfaccia locale obbligatoria | |
198.168.1.1 madrano1.ol3d madrano1 superhost il nome della macchina (LAN) | |
198.168.1.2 madrano2.ol3d | un'altro host (LAN) |
# vi /etc/resolv.conf | accesso al server risolutore dei nomi (dns) |
domain ol3d | definisce il dominio locale |
search sede1.ol3d sede.ol3d prova la ricerca anche per altri suffix | |
nameserver 192.168.0.1 | ip della macchina dns (es: sp)(max 3) |
# telinit 0 | blocca la macchina |
# telinit 1 | single user no network |
# telinit 3 | attivo in modalita' testo |
$ ping 127.0.0.1 | verifica l'attivita' dell'interfaccia locale |
vedi: /etc/hosts.allow, /etc/hosts.deny | |
Xserver { ambiente grafico }
# XF86Setup | configura le periferiche (video,mouse...) |
/etc/X11/XF86Config | configurazione generata |
# startx -probeonly | test di funzionalita' |
/etc/X11/xinit/xinitrc | configurazione della sessione X di default |
/etc/X11/xinit/Xclients | configurazione del client X di default |
$ vi ~/.Xclients | attiva il window manager preferito (x utente) |
fvwm | es: fvwm, altri: |
| twm, fvwm2, afterstep, kde, gnome-session, wm |
$ chmod +x .Xclients | rende eseguibile lo script |
$ startx | |
/etc/X11/fvwm/system.fvwm2rc | configurazione di default di fvwm2 |
$ xvidtune | individua/setta le frequenze del monitor |
$ export DISPLAY=nomehost:0.0 | manda l'output su un'altra macchina |
$ xhost + | autorizza l'output da altre macchine |
[Ctrl+Alt+F1][Ctrl+Alt+F2]... | attiva terminali testuali |
[Alt+F7] | X server |
[Ctlr+Alt+backspace] | chiude X |
[Ctrl+Alt][+] o [-] | aumenta o diminuisce la risouzione video |
: linux 3 | al liloboot: forza la modalita' testo |
$ vi /etc/inittab | |
initdefault=5 | parte xdm alla login (5 per la redhat) |
vedi: xmodmap settaggi tastiera | |
vi{editor di testo}
$ vi filename | apre l'editing |
[ESC] | modalita' comandi |
i | a | A | o | insert | appende | appende fine riga | insert nuova riga |
:q! | esce senza salvare |
:w | salva il buffer |
:wq | ZZ | salva ed esce |
3dd | cancella 3 (n) righe |
dw | cw | cancella la parola corrente | sovrascrive la p. corrente |
R | rimpiazza il testo fino al ESC |
4Y | copia 4 (n) righe |
P | p | incolla sulla riga precedente | successiva |
j | appende la riga successiva alla corrente |
:e filename | carica un'altro file nel buffer |
:%s/pattern/testo/gi | sostituisce il pattern (regex) con testo dappertutto |
/pattern | ?pattern | cerca pattern (regex) in avanti | in dietro |
mx | `x | marca una zona x | va alla zona marcata x |
:set ic | noic | ignora maiuscolo/minuscolo | attiva |
:set ai | noai | attiva indentazione automatica | disattiva |
:r ! ls | butta lo stdout di ls nel buffer corrente |
5G | G | va alla quinta riga | va alla fine del file |
^F | ^B | avanza una pagina | indietro di una pagina |
~/.exrc | file di configurazione |
rpm { installa applicazioni redhat/suse .rpm }
# rpm -ih xx.rpm | installa il pacchetto.rpm (con grafica :) |
# rpm -qi samba | informazioni sull'installato |
# rpm -qa | lista tutti i pacchetti installati |
# rpm -qpi xx.rpm | informazioni sul pacchetto.rpm |
# rpm -qpil xx.rpm | info + lista files sul pacchetto.rpm |
# rpm -e samba | disinstalla |
# rpm -Uvh XFree86-3.3.5.rpm | aggiorna una versione precedente con grafica :) |
# rpm -U --force --nodeps x.rpm | forza l'upgrade |
# glint | interfaccia (X) per supporto rpm |
tar { pacchetti .tar .tgz }
# tar tvf supercips_2.3.tar | t visualizza il contenuto archivio, v dettagli |
# tar xzf supercips_2.3.tgz | x estrae il contenuto, z decomprimendolo |
# tar cf degheio homedirectory | c crea l'archivio degheio.tar da homedirectory |
# gunzip -c supercips_2.3.tar.gz | tar xvf - decomprime ed estrae archivio | |
ftp { trasferisci file }
$ ftp ftp.sito.it | connette al sito |
login, xxpasswordxx | (per l'accesso anonimo usare anonymous e email@...) |
> dir | lista i file |
> cd pub | cambia directory remota |
> pwd | visualizza la directory corrente |
> bin | attiva il trasferimento binario dei file |
> get readme.txt | scarica readme.txt |
> put degheio.zip | upload del file degheio.zip |
> delete ecciu.tos | rimuove il file ecciu.tos |
> lcd filez | cambia la directory sulla macchina locale |
> ! ls | esegue il comando ls sulla macchina locale |
> prompt | disabilita la richiesta y/n sulle mget/mput |
> mget * | scarica tutti i files |
> help | ottiene la lista dei comandi possibili |
> bye | esce |
$HOME/.netrc | file di configurazione ad uso ftp -i |
regex{pattern di ricerca}
$ grep "^auto" aci.txt visualizza tutte le righe che iniziano con "auto"
auto di recupero
automobile
simboli:
^ inizio riga, "^Il giro"
$ fine riga, "super$"
. qualsiasi carattere, "de.h.io"
quota i simboli speciali, "fine riga."
[a-z_] set (^=not), "[^BCa-z]" no caratteri BC e no a .. z
occorrenze:
- 0+ ripetizioni, "u*mount"
- 1+ ripetizioni, "al+ora"
? 0-1 ripetizioni
{n,m} min <= ripetizioni del prec <= max
$ grep "^w +la [sS]hel+$"
w la shell ok
w la shell
prova non matcha
w la Shel ok
w la Shel
utility
$ find / -name 'isdn*' | less | ricerca un file isdn* in tutto il disco |
$ less /etc/passwd | mostra il file delle password |
/marco | n | cerca la stringa marco | prosegue (next) |
[spazio] | avanza una pagina |
[invio] | b | avanza una riga | ritorna di una riga |
1G | G | va alla riga 1 del file | va in fondo |
q | esce |
$ wget -r "http://www.oltreferina.it" | download completo di un intero sito |
$ wc -l filo.zzo | conta le righe di testo nel filo.zzo |
$ bc -l | calcolatrice |
Bibliografia
> unix man
http://linuxtrent.trew.it estratto dal primo corso Linux tenuto dall'associazione
Linuxtrent Oltrefersina dal 18/3/1999 al 27/5/1999. Relatori: Ianeselli Matteo, Ciampa Marco,
Natali Giuliano [diaolin], Granatiero Claudio, Bruganara Guido.
mailto:linuxtrent@stone.trew.it mailing list del Linuxtrent Oltrefersina.
http://ildp.linux.it documentazione italiana.
http://ildp.linux.it/AppuntiLinux/index.html Appunti Linux di Daniele Giacomini.