Differenze tra le versioni di "Corso Shell Marzo 2009"

Da GolemWiki.
Riga 1: Riga 1:
'''Introduzione'''
 
 
30 anni fa arrivava l'MS-DOS e compariva il suo indimenticabile C:\> ogni volta che accendevamo il PC.
 
Nel 1992 Windows 3.1 ha portato nelle nostre case il concetto di desktop (scrivania), finestre, icone, etc... dando il via alla genesi di future generazioni di mouse dipendenti.
 
 
 
 
''Tratto da Wikipedia'':
 
''Tratto da Wikipedia'':
  

Versione delle 00:51, 3 mar 2009

Tratto da Wikipedia:

L'interfaccia a linea di comando (in inglese CLI: command line interface), è la modalità di interazione tra utente ed elaboratore che avviene inviando comandi tramite tastiera e ricevendo risposte alle elaborazioni tramite testo scritto. Questo tipo di approccio deriva dalla modalità di interazione con i primi calcolatori che avveniva attraverso terminali testuali non in grado di compiere alcuna elaborazione e connessi ad un elaboratore centrale.

In ambiente Windows NT la CLI è ottenuta tramite il programma "Prompt dei comandi" che richiama nella grafica l'interfaccia del Sistema Operativo MS-DOS.

In Unix, Linux e sistemi analoghi si parla invece di "terminale". La shell è il programma con interfaccia a linea di comando che viene eseguito all'interno di un terminale testuale per impartire comandi al sistema. Possono esistere ed essere utilizzate contemporaneamente differenti shell (Bourn Shell, Bash, Korn shell, C shell, Dash, Z shell). L'interfaccia a linea di comando è ancora molto diffusa per il controllo e la configurazione di dispositivi specializzati, come router, switch e stampanti di rete, ma anche per connettersi remotamente ad altri elaboratori. In tal caso, vengono impiegati protocolli come telnet o ssh.


Corso Linux primavera 2009


Iscritti:

  1. Lorex
  2. Hal
  3. ...
  4. ...
  5. ...
  6. ...
  7. ...

Per iscriversi basta inviare un messaggio all'indirizzo hack@golem.linux.it


Prezzo d'iscrizione: 0 euro.
Richiesta tessera socio GOLEM 10 euro (valida 1 anno).


Inizio corso: metà-fine marzo (indicativamente).


Bozza del programma del corso


  • Principali comandi Unix:

man, ls (+ cenni echo *), pwd, mv, cp (-R), ln, mkdir, cat, less, chmod, chown, chgrp, adduser (useradd), dmesg, lsmod, modprobe, ps, top, kill, killall, exit, su, pwd, w, whoami, halt shutdown, sleep, fdisk, cfdisk, mkfs.*, fsck.*, dd, mount (-o loop,nodev...), tar, gzip, free, lspci, lsusb, X (-configure), grep, loadkeys, dhcpcd, ifconfig, route. Uso di "&", "|", ";" e ">".


  • Organizzazione del File System di Linux: FHS

Classificazione dei file

NB: un tempo l'hardware non era a basso costo come oggi, spesso nelle grandi aziende e nelle università venivano impiegati dei potenti mainframe ai quali venivano collegati dei più economici terminali. Non era insolito che i programmi che occupavano più spazio venissero installati solo sul server, ma venissero utilizzati anche dai terminali tramite un network file system (NFS).

  • Condivisibili: directory ed eseguibili contenuti in un server, ma potenzialmente utilizzabili anche da altri client (che usano un OS compatibile con quello del server)
  • Non condivisibili: directory che non ha senso o che creerebbero problemi se venissero condivise.
  • Statici: file binari, librerie, documentazione, etc… non cambiano a meno che non intervenga l'amministratore di sistema. Spesso si tratta di directory che possono essere condivise.
  • Variabili: tutti i file che non sono statici (es. directory /var).


Contenuto del file system nel dettaglio:

/bin: eseguibili utilizzabili da tutti gli utenti e sufficienti per permettere al sistema di funzionare anche quando gli altri filesystem non sono montati (es. boot in single user mode).

/boot: file statici del boot loader utilizzati prima che il kernel inizi ad eseguire programmi in user-mode.

/dev: file che rappresentano i dispositivi collegati al sistema.

/etc: riservata ai file locali di configurazione (da et cetera), nessun file binario dovrebbe trovarsi in questa directory.

/home/ (opzionale): directory home degli utenti, talvolta è un link simbolico che rimanda ad altre directory es. /usr/home (FreeBSD), /usr/export/home (Solaris), /Users/name (MacOSX, GoboLinux).

/lib: librerie di cui necessitano i programmi installati in /bin e /sbin

/media: punti di montaggio (spesso automatico) per dispositivi rimovibili come CD-ROM, floppy o penne USB (apparso in FHS-2.3).

/mnt: punti di montaggio per filesystem montati temporaneamente (floppy, hard disk, file system di rete, sistemi in chroot…). La sua gestione avviene a discrezione dell'amministratore di sistema, ma non dovrebbe interferire con i programmi in esecuzione.

/opt: pacchetti software statici e generalmente di grandi dimensioni (es. KDE, java, staroffice, quake, vmware…), è spesso utilizzata come directory predefinita d'installazione per software commerciali o non opensource. Non è sempre presente nei sistemi Unix.

/proc (tipica dei sistemi Linux): filesystem virtuale che mostra informazioni sullo stato del kernel, dell'hardware e dei processi attivi.

/root (opzionale): directory home dell'utente root.

/sbin: eseguibili utilizzati unicamente dall'utente root. Servono solo a montare /usr e a eseguire operazioni di ripristino del sistema. Gli altri comandi per l'amministrazione locale del sistema devono essere inseriti in /usr/sbin e /usr/local/sbin.

/srv: dati per i servizi forniti dal sistema (httpd, ftp, rsync, cvs). Un tempo questi file potevano trovarsi in varie directory a seconda del programma utilizzato, i file html in hosting web potevano trovarsi in /www, /var/www, /usr/local/www/apache**, /home/www/, /home/httpd…

/tmp: file temporanei, il suo contenuto è cancellato ad ogni riavvio del sistema.

/usr: gerarchia secondaria per i dati condivisibili; spesso ha una partizione a sé dedicata che è montata in sola lettura. Questa directory è nata per essere condivisa tra gli host e non deve contenere dati specifici.

/usr/bin: directory principale d'installazione dei programmi

/usr/sbin: eseguibili non indispensabili per la riparazione/ripristino del sistema utilizzabili solo dall'utente root.

/usr/share: dati condivisi (shared) indipendenti dall'architettura (manuali, icone, font…).

/usr/src (opzionale): codici sorgenti.

/usr/X11R6 (opzionale): X Window System, a partire dalla Versione 11 Release 6.

/usr/local: terza gerarchia con struttura simile alla directory /usr. Utilizzata dall'aministratore di sistema quando installa software a livello locale, come pacchetti compilati ed installati a partire dai sorgenti. Un tempo /usr era un partizione read-only che poteva non risiedere sul client ed essere montata tramite NFS. Su FreeBSD il sistema di base si trova in /bin, /sbin e /usr mentre il software installato dai ports è tutto in /usr/local.

/var: poiché l'FHS richiede che /usr possa essere montata in sola lettura, tutti i programmi che scrivono file di log o necessitano delle directory spool o lock dovrebbero scriverli nella directory /var.

/var/tmp: file temporanei preservati anche dopo il reboot.


  • Init e boot loader:
/boot/grub/menu.lst
initrd "initial ramdisk" (es. kernel26.img), mkinitfs e problematiche kernel monolitico/modulare
/etc/inittab
/etc/rc.d/* (funzionamento dell'init BSD + SysV runlevel)
/etc/rc.local


  • Principali file di configurazione:
/etc/apt/sources.list (solo nelle distribuzioni che usano il package manager apt).
/etc/fstab
/etc/group
/etc/password
/etc/hosts
/etc/X11/xorg.conf
~/.xinitrc
/etc/sudoers


  • Installazione Slackware o Archlinux