marcomoser.it
programmatore java & php > consulente informatico
home / guide / [ linux-tempo0 ] [ Login ]
T
O
C

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.

TreWiki - Aggiornamento pagina 2006-03-18 18:34:36

Informativa sulla privacy - P.IVA 0199 0700 229