barzi
16-09-2007, 12:25
Ciao a tutti.
ho una proposta su come imparare/insegnare Linux.
Sul Web ci sono molti manuali, c'è una dose di informazioni incredibile.
Ho scaricato diversi manuali,qualcuno fatto bene,qualcuno un po meno bene ma in linea di massima ci siamo (i migliori che ho trovato sono qui: http://www.isinet.it/~marco/unix/manuale-unix.pdf e qui: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ )
Però uno li prende... li legge.... e pensa :"Ah si ok... questi sono i permessi... ah si il tar!! Ah però! Carino!!!! WOW!!! Che figata il crontab!!!"
Dopo aver letto ste cose il giorno seguente nn ci si ricorda piu niente (anche se si è speso qualche quarto d'ora su qualche comando). A me ad esempio è capitato che taaaaanto tempo fa lessi qualcosa circa il crontab. Pensai :"ah figo!".
Dopo abbastanza tempo mi è capitato al lavoro di dover pianificare un'operazione giornaliera sul server linux. Pensavo tra me e me :"Chissà se si può fare?" Mi metto alla ricerca su internet e scopro l'esistenza di sto crontab. Me lo studio e faccio sta pianificazione.
Ora io questa cosa l'avevo letta ma.... l'ho dimenticata subito!!! Mi sono accorto di averla gia letta proprio stamattina scartabellando un po di carte che ho qui con me... E ho pensato:"Minkia il crontab già lo avrei dovuto sapere!!!" . Questo a dimostrazione del fatto che le cose leggendole si dimenticano.
Un proverbio cinese recita più o meno sta cosa qua:
1) Ascolto e dimentico
2) Vedo e ricordo
3) Faccio e capisco
Bene. Quindi secondo me bisognerebbe puntare sul terzo punto. Attualmente mi ritrovo a dover insegnare qualche comando da terminale ad un ragazzo che lavora con me che è a completo digiuno di Linux. Per fargli rimanere impresse le cose in testa gli ho dato un prontuario di comandi, gli ho spiegato come funziona il comando "man" e gli ho creato un account per connettersi al server linux. Bene. Gli sto insegnando linux assegnandogli degli esercizi. Devo dire che ci ha sbattuto un po la testa ma ora tutto ciò che ha fatto ce l'ha bene impresso. Sono partito da esercizi del tipo
a. Crea un'alberatura di cartelle fatta in questo modo ( e gli ho fatto un disegno). A questo punto ti do dei dei files e mettili in queste cartelle e poi sposta e rinomina i files in questo modo qua (e gli facevo un disegnino). Dopo aver fatto tutto ciò facevo qualcosa come :"Ora elimina la cartella B con tutto il suo contenuto facendo uso di una sola istruzione". Ho strutturato questo esercizio per fargli prendere dimestichezza con il file system.
b. Dopo una breve introduzione sul vi e sul vim gli ho iniziato a far scrivere qualche testo, proponendo esercizi del tipo: "...facendo l'uso del copia incolla sotto vi replica il primo blocco di 5 righe alla fine del testo per 3 volte e salva tutto in /...../...../...." dandogli un percorso. In questo modo oltre ad insegnargli il vi gli facevo imparare operazioni un po più avanzate.
c. A questo punto gli ho insegnato qualcosa sul tar. o meglio gli ho spiegato la differenza tra archivio e archivio compresso e gli ho fatto fare un esercizio del tipo:" scrivi 5 files con vi e salvali come a.txt,b.txt,c.txt,d.txt,e.txt. Mettili salvali un po dove vuoi. A questo punto crea un archivio di questi files ad eccezione del file e.txt. Visualizza senza scompattare il contenuto di Archivio.tar. Elimina il file c.txt dall'Archivio e aggiungigi il file e.txt. Adesso comprimi l'archivio. Ora scompatta l'archivio nella cartella ./XYZ"
d. Utilizzo di crontab. Date 4 cartelle A,B,C,D e altre 4 cartelle a,b,c,d pianificare un'operazione che ogni notte alle 2:00 A) ripulisca il contenuto di a,b,c,d B) Copi il conteuto di A dentro a, il contenuto di B dentro b, il contenuto di C dentro c e il contenuto di E dentro e (tip: usare un ciclo FOR per fare ciò). Generare automaticamente un file log.txt che mostri A) La data in cui è avvenuta l'operazione con l'ora B) tutto il contenuto alle 2:01 delle cartelle a,b,c,d. In pratica il contenuto aggiornato delle cartelle a,b,c,d deve essere memorizzato automaticamente nel file log.txt
Devo dire che è il metodo più rapido e funzionale che ho trovato!! Ora 'sto ragazzo fa un uso intensivo del TAB e del man. Si muove con agilità nel file system e si trova a suo agio con vim. Sono davvero contento dei risultati ottenuti. Ovviamente gli assegnavo un esercizio e gli dicevo:" Qui sul server ci sono diversi manuali e prontuari. Quello che ti serve ci sta scritto. Fai parecchio uso del comando man e studiati le opzioni. Vedi che ce la farai". E io andavo via. Tornavo nella sua stanzetta una volta ogni 1-2 ore per vedere i risultati ottenuti. E ogni tanto lo "orientavo" ma facevo in modo che alla soluzione ci arrivasse lui con le sue gambe.
Bene,dopo sta lunga introduzione, che ne dite di sfruttare questo 3D per proporre degli "esercizi" per far capire Linux(me compreso)? Dalla mia esperienza credo che il "practing" sia il modo migliore per apprendere.
Penso che in fondo se una persona non ha un obbiettivo le cose non se le impara. Invece in questo modo di pongono degli obbiettivi.Diciamo che è una via alternativa per imparare "sul campo" linux. Non credete?
Considerate che SERVE anche a me approfondire un po visto che conosco solo 4 minkiate. Ad esempio potete proporre esercizi per familiarizzare con gli script della shell, esercizi sulla gestione di utenti/gruppi e permessi, esercizi sull'impostazione di un PC, sulla compilazione dei sorgenti.... su come controllare l'HW del PC. magari possiamo strutturare ogni "esercizio" con dei prerequisiti del tipo:" Per fare questo esercizio devi vederti prima ste cose qua...1) cosa c'è nella cartella /dev 2) Il ciclo for 3) cosa è uno script 4) ...."
Che ne pensate?
Secondo me si eliminerebbero ancche tanti 3D del tipo :"Come faccio a fare questo?" Una risposta potrebbe essere :" fatti l'esercizio 4.1".
Pensate si possa fare una cosa del genere? :)
ho una proposta su come imparare/insegnare Linux.
Sul Web ci sono molti manuali, c'è una dose di informazioni incredibile.
Ho scaricato diversi manuali,qualcuno fatto bene,qualcuno un po meno bene ma in linea di massima ci siamo (i migliori che ho trovato sono qui: http://www.isinet.it/~marco/unix/manuale-unix.pdf e qui: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ )
Però uno li prende... li legge.... e pensa :"Ah si ok... questi sono i permessi... ah si il tar!! Ah però! Carino!!!! WOW!!! Che figata il crontab!!!"
Dopo aver letto ste cose il giorno seguente nn ci si ricorda piu niente (anche se si è speso qualche quarto d'ora su qualche comando). A me ad esempio è capitato che taaaaanto tempo fa lessi qualcosa circa il crontab. Pensai :"ah figo!".
Dopo abbastanza tempo mi è capitato al lavoro di dover pianificare un'operazione giornaliera sul server linux. Pensavo tra me e me :"Chissà se si può fare?" Mi metto alla ricerca su internet e scopro l'esistenza di sto crontab. Me lo studio e faccio sta pianificazione.
Ora io questa cosa l'avevo letta ma.... l'ho dimenticata subito!!! Mi sono accorto di averla gia letta proprio stamattina scartabellando un po di carte che ho qui con me... E ho pensato:"Minkia il crontab già lo avrei dovuto sapere!!!" . Questo a dimostrazione del fatto che le cose leggendole si dimenticano.
Un proverbio cinese recita più o meno sta cosa qua:
1) Ascolto e dimentico
2) Vedo e ricordo
3) Faccio e capisco
Bene. Quindi secondo me bisognerebbe puntare sul terzo punto. Attualmente mi ritrovo a dover insegnare qualche comando da terminale ad un ragazzo che lavora con me che è a completo digiuno di Linux. Per fargli rimanere impresse le cose in testa gli ho dato un prontuario di comandi, gli ho spiegato come funziona il comando "man" e gli ho creato un account per connettersi al server linux. Bene. Gli sto insegnando linux assegnandogli degli esercizi. Devo dire che ci ha sbattuto un po la testa ma ora tutto ciò che ha fatto ce l'ha bene impresso. Sono partito da esercizi del tipo
a. Crea un'alberatura di cartelle fatta in questo modo ( e gli ho fatto un disegno). A questo punto ti do dei dei files e mettili in queste cartelle e poi sposta e rinomina i files in questo modo qua (e gli facevo un disegnino). Dopo aver fatto tutto ciò facevo qualcosa come :"Ora elimina la cartella B con tutto il suo contenuto facendo uso di una sola istruzione". Ho strutturato questo esercizio per fargli prendere dimestichezza con il file system.
b. Dopo una breve introduzione sul vi e sul vim gli ho iniziato a far scrivere qualche testo, proponendo esercizi del tipo: "...facendo l'uso del copia incolla sotto vi replica il primo blocco di 5 righe alla fine del testo per 3 volte e salva tutto in /...../...../...." dandogli un percorso. In questo modo oltre ad insegnargli il vi gli facevo imparare operazioni un po più avanzate.
c. A questo punto gli ho insegnato qualcosa sul tar. o meglio gli ho spiegato la differenza tra archivio e archivio compresso e gli ho fatto fare un esercizio del tipo:" scrivi 5 files con vi e salvali come a.txt,b.txt,c.txt,d.txt,e.txt. Mettili salvali un po dove vuoi. A questo punto crea un archivio di questi files ad eccezione del file e.txt. Visualizza senza scompattare il contenuto di Archivio.tar. Elimina il file c.txt dall'Archivio e aggiungigi il file e.txt. Adesso comprimi l'archivio. Ora scompatta l'archivio nella cartella ./XYZ"
d. Utilizzo di crontab. Date 4 cartelle A,B,C,D e altre 4 cartelle a,b,c,d pianificare un'operazione che ogni notte alle 2:00 A) ripulisca il contenuto di a,b,c,d B) Copi il conteuto di A dentro a, il contenuto di B dentro b, il contenuto di C dentro c e il contenuto di E dentro e (tip: usare un ciclo FOR per fare ciò). Generare automaticamente un file log.txt che mostri A) La data in cui è avvenuta l'operazione con l'ora B) tutto il contenuto alle 2:01 delle cartelle a,b,c,d. In pratica il contenuto aggiornato delle cartelle a,b,c,d deve essere memorizzato automaticamente nel file log.txt
Devo dire che è il metodo più rapido e funzionale che ho trovato!! Ora 'sto ragazzo fa un uso intensivo del TAB e del man. Si muove con agilità nel file system e si trova a suo agio con vim. Sono davvero contento dei risultati ottenuti. Ovviamente gli assegnavo un esercizio e gli dicevo:" Qui sul server ci sono diversi manuali e prontuari. Quello che ti serve ci sta scritto. Fai parecchio uso del comando man e studiati le opzioni. Vedi che ce la farai". E io andavo via. Tornavo nella sua stanzetta una volta ogni 1-2 ore per vedere i risultati ottenuti. E ogni tanto lo "orientavo" ma facevo in modo che alla soluzione ci arrivasse lui con le sue gambe.
Bene,dopo sta lunga introduzione, che ne dite di sfruttare questo 3D per proporre degli "esercizi" per far capire Linux(me compreso)? Dalla mia esperienza credo che il "practing" sia il modo migliore per apprendere.
Penso che in fondo se una persona non ha un obbiettivo le cose non se le impara. Invece in questo modo di pongono degli obbiettivi.Diciamo che è una via alternativa per imparare "sul campo" linux. Non credete?
Considerate che SERVE anche a me approfondire un po visto che conosco solo 4 minkiate. Ad esempio potete proporre esercizi per familiarizzare con gli script della shell, esercizi sulla gestione di utenti/gruppi e permessi, esercizi sull'impostazione di un PC, sulla compilazione dei sorgenti.... su come controllare l'HW del PC. magari possiamo strutturare ogni "esercizio" con dei prerequisiti del tipo:" Per fare questo esercizio devi vederti prima ste cose qua...1) cosa c'è nella cartella /dev 2) Il ciclo for 3) cosa è uno script 4) ...."
Che ne pensate?
Secondo me si eliminerebbero ancche tanti 3D del tipo :"Come faccio a fare questo?" Una risposta potrebbe essere :" fatti l'esercizio 4.1".
Pensate si possa fare una cosa del genere? :)