Differenze tra le versioni di "Corso Shell Marzo 2009"

Da GolemWiki.
m (Pagina categorizzata)
 
(46 versioni intermedie di 7 utenti non mostrate)
Riga 1: Riga 1:
'''Introduzione'''
+
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.
  
30 anni fa arrivava l'MS-DOS e compariva il suo indimenticabile C:\> ogni volta che accendevamo il PC.
+
In ambiente Windows la CLI è ottenuta tramite il programma "Prompt dei comandi" che richiama nella grafica l'interfaccia del Sistema Operativo MS-DOS.
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'':
 
 
 
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".
 
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
+
# linux-lover (linuxloverstaff at gmail.com)
# Hal
+
# Toposodo (topogigio2000 at supereva.it)
# ...
+
# Marino (marinovegni at tim.it )
# ...
+
# Alessandro (iz5ilv at hotmail.it)
# ...
+
# Fabio (fabio_pa at hotmail.com)
 +
# Jacopo Pasquini (jacpas at yahoo.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 '''hack@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 37: Riga 39:
  
  
'''Inizio corso''': metà-fine marzo (indicativamente).
+
'''Inizio corso''': 18 marzo.
  
 +
Si terrà di mercoledì, per un numero complessivo di 6 lezioni.
  
Bozza del '''programma del corso'''
+
Gli incontri saranno svolti presso il circolo arci del Pozzale dalle ore 21:30 alle 23.
  
  
* '''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''': [http://www.pathname.com/fhs/pub/fhs-2.3.html FHS]
+
Bozza del '''programma del corso'''
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)
+
*'''Concetti generali'''
  
* Non condivisibili: directory che non ha senso o che creerebbero problemi se venissero condivise.
+
Terminali hardware ed emulatori di terminale.
  
* 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.
+
Introduzione storica sugli interpreti di comandi (shell) e dei protocolli di connessione remota (telnet, rsh, ssh).
  
* Variabili: tutti i file che non sono statici (es. directory /var).
+
"When you know Slackware, you know Linux... when you know Red Hat, all you know is Red Hat."
  
 +
Testo di riferimento del corso: [http://a2.pluto.it/ Appunti di Informatica Libera] (la Bibbia di Linux)
  
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).
+
*[http://linuxpedia.netsons.org/index.php?title=Comandi_shell_Linux '''Principali comandi Unix''']; uso di "&", "|", ";" e ">".
  
/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.
+
*'''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
  
/etc: riservata ai file locali di configurazione (da et cetera), nessun file binario dovrebbe trovarsi in questa directory.
+
Contenuto del file system nel dettaglio (inclusi /dev e /proc).
  
/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).
+
[http://med.homelinux.org/spooky/wordpress/?p=337 Approfondimenti]
  
/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 121: Riga 92:
 
  /etc/rc.local
 
  /etc/rc.local
  
 +
[http://www.slacky.eu/wikislack/index.php?title=Slackware_Linux_initrd_HOWTO Approfondimenti]
  
  
*'''Principali file di configurazione:'''
+
*'''Installazione Slackware o Archlinux'''
/etc/apt/sources.list (solo nelle distribuzioni che usano il package manager apt).
+
 
/etc/fstab
+
 
/etc/group
+
<table>
  /etc/password
+
  <tr>
/etc/hosts
+
<td>[[Image:Corso_shell_1.jpg|300px|thumb|center]]
/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 19: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