Corso Shell Marzo 2009

Da GolemWiki.
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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