La Shell#

Che cos’è una Shell?#

Una shell è un programma che riceve comandi da file o dall’utente tramite tastiera e li passa al sistema operativo per l’esecuzione. Può essere accessibile tramite un terminale o un emulatore di terminale.

Breve Storia della Shell#

  • 1971: Ken Thompson di Bell Labs sviluppa la shell per UNIX.

  • 1977: Stephen Bourne introduce la Bourne shell (sh).

  • Dopo il 1977: Viene sviluppata la C shell (csh) e tcsh.

  • Bash: Sviluppata da Brian Fox come sostituto migliorato della Bourne shell.

  • 1990: Paul Falsted sviluppa Zsh, che diventa la shell predefinita per macOS dal 2019.

Windows vs macOS/Linux#

  • Windows 10: Possibilità di usare Bash attivando il Windows Subsystem for Linux. In genere, si usa PowerShell.

  • macOS/Linux: Zsh è la shell predefinita.

Comandi di Base#

  • pwd: Mostra il percorso della directory corrente.

  • ls: Elenca file e cartelle nella directory corrente.

  • cd: Cambia directory. Senza argomenti, ti porta alla directory home.

  • mkdir: Crea una nuova directory.

  • rmdir: Rimuove una directory vuota.

  • Importante: Evitare spazi nei nomi di file e cartelle.

Gestione File#

  • mv: Rinomina o sposta file (usa \ o '' per i nomi di file con spazi).

  • cp: Copia file o cartelle (usa -r per le cartelle).

  • rm: Rimuove file o cartelle (usa -i per confermare prima di eliminare).

Visualizzazione e Manipolazione Contenuti dei File#

  • less/more: Visualizza il contenuto dei file con possibilità di navigazione.

  • cat: Mostra l’intero contenuto di un file.

  • head: Mostra le prime righe di un file.

  • tail: Mostra le ultime righe di un file.

Suggerimenti#

  • Navigazione: Imparate i percorsi relativi per spostarvi facilmente tra le directory.

Conclusione#

Con la pratica, la riga di comando diventa uno strumento molto efficiente. Questa guida ti fornisce le basi per iniziare a esplorare e gestire i file dal terminale, offrendo una base di partenza per ulteriori apprendimenti.

Questo materiale dovrebbe integrarsi bene con la data science, permettendovi di manipolare e gestire i dati in modo più efficiente. La familiarità con la shell è fondamentale nella data science, specialmente quando si lavora con grandi set di dati o si utilizzano risorse di calcolo remote.