Differenze tra le versioni di "Corso Shell Marzo 2009"
Riga 44: | Riga 44: | ||
− | + | *'''Concetto generale''' | |
"When you know Slackware, you know Linux... when you know Red Hat, all you know is Red Hat." | "When you know Slackware, you know Linux... when you know Red Hat, all you know is Red Hat." | ||
+ | [http://a2.pluto.it/ Appunti di Informatica Libera] (la Bibbia di Linux) | ||
− | * '''Principali comandi Unix''': | + | |
+ | *'''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 ">". | 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 ">". | ||
Versione delle 10:13, 4 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 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:
- Lorex (lorenzo.bambi a gmail.com)
- Hal (hal a linux.it)
- linux-lover (linuxloverstaff a gmail.com)
- Francesco del FLUG (francesco a firenze.linux.it)
- Topolo (???)
- Marino (marinovegni a tim.it )
- Alessandro (iz5ilv a hotmail.it)
- ...
- ...
- ...
- ...
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:
/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