Differenze tra le versioni di "Corso Shell Marzo 2009"

Da GolemWiki.
Jump to navigation Jump to search
 
(33 versioni intermedie di 6 utenti non mostrate)
Riga 1: Riga 1:
''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 [http://it.wikipedia.org/wiki/Terminale_(informatica) terminali] testuali non in grado di compiere alcuna elaborazione e connessi ad un elaboratore centrale.
 
 
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 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".
 
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).
+
La shell è il programma eseguito all'interno di un terminale testuale per impartire comandi al sistema. Esistono e possono 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.
+
L'interfaccia a linea di comando è ancora diffusa per il controllo di vari dispositivi (router, switch, stampanti di rete...) e per connettersi remotamente ad altri elaboratori. In tal caso, vengono impiegati protocolli come telnet o ssh.
 
 
  
  
 
'''Corso Linux primavera 2009'''
 
'''Corso Linux primavera 2009'''
  
 +
'''Iscritti''':
  
'''Iscritti''':
+
# Hal (hal at linux.it)
# Lorex (lorenzo.bambi a gmail.com)
+
# linux-lover (linuxloverstaff at gmail.com)
# Hal (hal a linux.it)
+
# Toposodo (topogigio2000 at supereva.it)
# linux-lover (linuxloverstaff a gmail.com)
+
# Marino (marinovegni at tim.it )
# Francesco del FLUG (francesco a firenze.linux.it)
+
# Alessandro (iz5ilv at hotmail.it)
# Topolo (???)
+
# Fabio (fabio_pa at hotmail.com)
# Marino (marinovegni a tim.it )
+
# Jacopo Pasquini (jacpas at yahoo.it)
# Alessandro (iz5ilv a hotmail.it)
+
# Emiliano (kk50 at email.it)
# ...
+
# Giulia (lywashu at email.it)
# ...
+
# Fabio (collega di Giulia)
 +
# Simone (collega di Giulia)
 +
# Andrea (collega di Giulia)
 +
# Elisabetta (elisabetta.bosi at unifi.it)
 +
# FabioT (amico C.po Officina)
 +
# StefanoM (Amico C.Po Officina)
 +
# Marco Bandini (m.banda at alice.it)
 
# ...
 
# ...
 
# ...
 
# ...
 +
# Lorex (lorenzo.bambi at gmail.com), non può partecipare alle prime lezioni
 +
# <del>Francesco del FLUG</del> (francesco at firenze.linux.it), il mercoledì è impegnato fino alle 22
  
Per iscriversi basta inviare un messaggio all'indirizzo [mailto:golem@golem.linux.it '''golem@golem.linux.it''']
+
Per informazioni mandate un messaggio all'indirizzo [mailto:golem@golem.linux.it '''golem@golem.linux.it''']
 
 
 
 
  
 
  '''Prezzo''' d'iscrizione: '''0 euro'''.
 
  '''Prezzo''' d'iscrizione: '''0 euro'''.
Riga 35: Riga 39:
  
  
'''Inizio corso''': metà-fine marzo (indicativamente).
+
'''Inizio corso''': 18 marzo.
  
Molto probabilmente si terrà di mercoledì, il numero complessivo delle lezioni è ancora in fase di valutazione.
+
Si terrà di mercoledì, per un numero complessivo di 6 lezioni.
Le lezione saranno svolte nella sede del golem a meno che qualcuno non proponga qualcosa di meglio.
 
  
 +
Gli incontri saranno svolti presso il circolo arci del Pozzale dalle ore 21:30 alle 23.
  
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 ">".
 
  
 +
Bozza del '''programma del corso'''
  
*'''Organizzazione del File System di Linux''': [http://www.pathname.com/fhs/pub/fhs-2.3.html 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).
+
*'''Concetti generali'''
  
* Condivisibili: directory ed eseguibili contenuti in un server, ma potenzialmente utilizzabili anche da altri client (che usano un OS compatibile con quello del server)
+
Terminali hardware ed emulatori di terminale.
  
* Non condivisibili: directory che non ha senso o che creerebbero problemi se venissero condivise.
+
Introduzione storica sugli interpreti di comandi (shell) e dei protocolli di connessione remota (telnet, rsh, ssh).
  
* 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.
+
"When you know Slackware, you know Linux... when you know Red Hat, all you know is Red Hat."
  
* Variabili: tutti i file che non sono statici (es. directory /var).
+
Testo di riferimento del corso: [http://a2.pluto.it/ Appunti di Informatica Libera] (la Bibbia di Linux)
  
  
Contenuto del file system nel dettaglio:
+
*[http://linuxpedia.netsons.org/index.php?title=Comandi_shell_Linux '''Principali comandi Unix''']; uso di "&", "|", ";" e ">".
  
/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.
+
*'''Organizzazione del File System di Linux''': [http://www.pathname.com/fhs/pub/fhs-2.3.html FHS]
 +
Classificazione dei file: condivisibili / non condivisibili; statici / variabili
  
/dev: file che rappresentano i dispositivi collegati al sistema.
+
Contenuto del file system nel dettaglio (inclusi /dev e /proc).
  
/etc: riservata ai file locali di configurazione (da et cetera), nessun file binario dovrebbe trovarsi in questa directory.
+
[http://med.homelinux.org/spooky/wordpress/?p=337 Approfondimenti]
  
/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.
 
  
 +
*'''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
 +
/etc/profile
  
  
Riga 122: Riga 92:
 
  /etc/rc.local
 
  /etc/rc.local
  
 +
[http://www.slacky.eu/wikislack/index.php?title=Slackware_Linux_initrd_HOWTO Approfondimenti]
 +
 +
 +
*'''Installazione Slackware o Archlinux'''
  
  
*'''Principali file di configurazione:'''
+
<table>
  /etc/apt/sources.list (solo nelle distribuzioni che usano il package manager apt).
+
  <tr>
/etc/fstab
+
<td>[[Image:Corso_shell_1.jpg|300px|thumb|center]]
/etc/group
 
/etc/password
 
/etc/hosts
 
/etc/X11/xorg.conf
 
~/.xinitrc
 
/etc/sudoers
 
  
 +
</td>
 +
  <td>[[Image:Corso_shell_2.jpg|300px|thumb|center]]
 +
</td>
 +
  <td>[[Image:Corso_shell_3.jpg|300px|thumb|center]]
  
 +
</td>
 +
</tr>
 +
</table>
  
*'''Installazione Slackware o Archlinux'''
+
[[Category:Corsi]]

Versione attuale delle 18:48, 21 set 2015

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 eseguito all'interno di un terminale testuale per impartire comandi al sistema. Esistono e possono essere utilizzate contemporaneamente differenti shell (Bourn Shell, Bash, Korn shell, C shell, Dash, Z shell). L'interfaccia a linea di comando è ancora diffusa per il controllo di vari dispositivi (router, switch, stampanti di rete...) e per connettersi remotamente ad altri elaboratori. In tal caso, vengono impiegati protocolli come telnet o ssh.


Corso Linux primavera 2009

Iscritti:

  1. Hal (hal at linux.it)
  2. linux-lover (linuxloverstaff at gmail.com)
  3. Toposodo (topogigio2000 at supereva.it)
  4. Marino (marinovegni at tim.it )
  5. Alessandro (iz5ilv at hotmail.it)
  6. Fabio (fabio_pa at hotmail.com)
  7. Jacopo Pasquini (jacpas at yahoo.it)
  8. Emiliano (kk50 at email.it)
  9. Giulia (lywashu at email.it)
  10. Fabio (collega di Giulia)
  11. Simone (collega di Giulia)
  12. Andrea (collega di Giulia)
  13. Elisabetta (elisabetta.bosi at unifi.it)
  14. FabioT (amico C.po Officina)
  15. StefanoM (Amico C.Po Officina)
  16. Marco Bandini (m.banda at alice.it)
  17. ...
  18. ...
  19. Lorex (lorenzo.bambi at gmail.com), non può partecipare alle prime lezioni
  20. Francesco del FLUG (francesco at firenze.linux.it), il mercoledì è impegnato fino alle 22

Per informazioni mandate un messaggio all'indirizzo golem@golem.linux.it

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


Inizio corso: 18 marzo.

Si terrà di mercoledì, per un numero complessivo di 6 lezioni.

Gli incontri saranno svolti presso il circolo arci del Pozzale dalle ore 21:30 alle 23.



Bozza del programma del corso


  • Concetti generali

Terminali hardware ed emulatori di terminale.

Introduzione storica sugli interpreti di comandi (shell) e dei protocolli di connessione remota (telnet, rsh, ssh).

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

Testo di riferimento del corso: Appunti di Informatica Libera (la Bibbia di Linux)



  • Organizzazione del File System di Linux: FHS

Classificazione dei file: condivisibili / non condivisibili; statici / variabili

Contenuto del file system nel dettaglio (inclusi /dev e /proc).

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
/etc/profile


  • 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


  • Installazione Slackware o Archlinux


Corso shell 1.jpg
Corso shell 2.jpg
Corso shell 3.jpg