Corso Shell Marzo 2009

Da GolemWiki.
Jump to navigation Jump to search

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 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 (lorenzo.bambi a gmail.com)
  2. Hal (hal a linux.it)
  3. linux-lover (linuxloverstaff a gmail.com)
  4. Francesco del FLUG (francesco a firenze.linux.it)
  5. Topolo (???)
  6. Marino (marinovegni a tim.it )
  7. Alessandro (iz5ilv a hotmail.it)
  8. ...
  9. ...
  10. ...
  11. ...

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


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


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

Molto probabilmente si terrà di mercoledì, il numero complessivo delle lezioni è ancora in fase di valutazione. Le lezione saranno svolte nella sede del golem a meno che qualcuno non proponga qualcosa di meglio.


Bozza del programma del corso


  • Concetto generale

"When you know Slackware, you know Linux... when you know Red Hat, all you know is Red Hat."

Appunti di Informatica Libera (la Bibbia di Linux)


  • 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 potenti mainframe ai quali erano 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


  • 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

Approfondimenti


  • 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