Are you a fan of the command line? Do you wish to test your knowledge of the terminal – the command line interface of Linux or macOS/OS X – and of the bash shell?
If you answered ‘yes’ to the questions above, head your browser to Commandline Challenge and test your skills trying to solve the challenges proposed there.
La recente mossa di Microsoft di integrare in Windows 10 il supporto alle applicazioni Linux ha stupito più di un commentatore. Per anni, ai tempi del dominio incontrastato di Windows, Linux era il male assoluto, il sistema operativo che andava contro i principi ispiratori del fondatore Bill Gates, e del suo epigono, Steve Ballmer. Anzi, Microsoft ha fatto per anni di tutto per scoraggiare, e perfino per impedire, l’installazione di Linux al posto o in parallelo al suo sistema operativo
Per motivi familiari oggi non ho potuto seguire il WWDC, e in questo momento (poco prima di mezzanotte) il keynote non è ancora dsponibile sul sito di Apple.
Sono però riuscito a scorrere gli highlight del keynote e mi ha colpito immediatamente leggere che, fra qualche mese, Swift diventerà open source e sarà disponibile non più solo per OS X e iOS, ma anche per Linux.
A volte bisogna saper ammettere i propri errori. Questa è una di quelle volte.
Nel mio post su launchd di qualche mese fa non avevo nascosto il mio scetticismo per una soluzione molto lontana dai canoni di Unix e troppo complicata per essere usata al posto di cron, il programma che nei sistemi operativi derivati da Unix è incaricato di eseguire periodicamente dei comandi o degli interi script in modo automatico.
Ogni volta che scrivo un post per questo blog mi sforzo di esporre l’argomento trattato nel modo più chiaro possibile e di presupporre che chi legge non sappia nulla, o quasi, dell’argomento trattato. L’aspetto negativo di questo atteggiamento è che mi obbliga a ripetere continuamente il significato di alcuni termini fondamentali, correndo il rischio di far perdere il filo del discorso a chi conosce già il significato di questi concetti e appesantendo il tono generale del post.
Questo blog spegne oggi la sua prima candelina virtuale con il centesimo post. Una coincidenza non casuale ma niente affatto pianificata.1
Un anno fa non avrei mai potuto pensare di riuscire a scrivere tanto. È stata una bella fatica, ma allo stesso tempo una sfida divertente. Che ha messo a dura, durissima, prova la mia capacità di spiegare qualcosa in modo comprensibile. Spero qualche volta di esserci riuscito.
Dopo i programmi di derivazione Unix, at e cron, è la volta di parlare di launchd, una soluzione sviluppata dalla Apple per OS X.
Launchd Launchd è il programma che, a partire dalla versione 10.4 (Tiger) di OS X, esegue tutti i processi di avvio del sistema operativo e che, come se non bastasse, può anche svolgere i compiti eseguiti da cron.
Nella prima parte di questa serie abbiamo visto come usare il comando at per automatizzare determinate attività sul Mac dal Terminale.
At è utile ogni volta che si vuole eseguire un comando automaticamente una sola volta e in un momento ben definito
Ma at ha anche parecchi limiti e non è adatto a svolgere una attività periodica in modo trasparente, come richiesto da Lucio Bragagnolo nel post da cui ha preso spunto questa serie.
Qualche giorno fa Lucio “Lux” Bragagnolo ha pubblicato sul suo interessantissimo blog (da seguire assolutamente ogni giorno!), un post in cui poneva una domanda molto stimolante. Lascio a lui la parola per descrivere il problema:
Octopress – il motore di questo blog – si basa su una cartella che risiede nel Mac. La cartella contiene sottocartelle varie che ospitano i pezzi del blog. Pubblicare questo articolo significa creare un file e metterlo nella giusta cartella, per poi dare un comando di Terminale che genera una edizione aggiornata del blog e un altro comando di Terminale che deposita una copia dell’edizione dentro il server di pubblicazione.
Spesso mi trovo a scrivere pezzi per il blog su iPad, lontano da Mac. Facciamo finta che il Mac rimanga irraggiungibile fisicamente per tutta la giornata. Qual è la strategia che richiede meno lavoro in assoluto per pubblicare il pezzo?
Nei sistemi operativi basati su Unix la shell è una applicazione che permette di eseguire i comandi del sistema tramite una interfaccia testuale a linea di comando.
La shell più popolare oggi è bash, acronimo di “Bourne-Again Shell”, un gioco di parole fra Stephen Bourne, l’autore della shell sh da cui deriva bash, e il termine “born” (nato). Bash significa quindi sia “la nuova shell di Bourne” che “la shell rinata”.