Editor di testo e ricorsione

Come annunciato la volta scorsa, oggi parleremo dei text editor e delle loro caratteristiche principali. Prima di iniziare però, vorrei aggiungere una nota a ciò che abbiamo fatto precedentemente: parliamo di ricorsione.

Ricorsione in Linux

Il comando rmdir permette la cancellazione di una cartella solo se questa è vuota. La maggior parte delle volte però non è così e dover fare un rm * interno ad esso spesso non è la scelta migliore/più comoda.

Una funzione ricorsiva è ciò che potrebbe servirci, vediamo di cosa si tratta. Cercando su Google troviamo come prima cosa “Algoritmo ricorsivo” su Wikipedia. Un estratto della definizione: “…Tale tecnica risulta particolarmente utile per eseguire dei compiti ripetitivi su di un set di variabili in input. L’algoritmo richiama se stesso generando una sequenza di chiamate che ha termine al verificarsi di una condizione particolare che viene chiamata condizione di terminazione, che in genere si ha con particolari valori di input.”

Okay…ma in parole povere? Noi vogliamo svolgere un compito ripetitivo, ovvero la cancellazione di ogni singolo file presente dentro alla cartella da eliminare e infine la cartella stessa. Al comando rm aggiungiamo l’opzione/parametro -r (recursive).

Il suo funzionamento è il seguente: data una cartella da eliminare, eliminerà ogni file sottostante. Se vi sono altre cartelle al suo interno, eseguirà lo stesso procedimento. Al termine, quando tutti i file e le sottocartelle sono state eliminate, cancellerà la directory di partenza, svolgendo esattamente quello che volevamo. In questo caso, la condizione di terminazione citata dalla definizione su Wikipedia, è l’assenza di file/cartelle all’interno della directory da eliminare. Vediamo nell’immagine sottostante.

09 - tree

 

10 - bash

Come vedremo più avanti, il concetto di ricorsione è spesso utilizzato anche per altri compiti.

Editor di testo

Nei sistemi basati su windows siamo soliti incontrare il famoso “Blocco Note” o “Notepad” come principale editor di file .txt. Nella maggior parte delle distribuzioni linux invece troviamo già preinstallati almeno 3 editor diversi. Partiamo con nano

Nano

Editor di testo clone del precedente pico, con l’aggiunta di alcune funzioni. Ecco come si presenta

10 - bash2

Come possiamo vedere, nella parte inferiore troviamo una serie di opzioni. Dopo aver scritto un testo, per salvarlo ci basterà premere CTRL + X (che nella descrizione sta per Exit, ma richiede se salvare prima di uscire).

Vi (o Vim)

Il comando Vi o Vim (Vi IMproved) ci porta al nostro secondo editor di testo. Come è possibile notare sin da subito, Vim è abbastanza ostile nei confronti dell’utente che lo apre per la prima volta, proprio perché non ci sono spiegazioni se non nel manuale o nella documentazione.

Vi sono due modalità principalmente: quella di inserimento del testo e quella dell’inserimento dei comandi. Ci accorgiamo di essere nella prima solo grazie alla scritta –INSERT– in basso, come possiamo notare nella foto.

10 - vim

 

Per uscire invece bisogna trovarsi nella modalità di inserimento comandi e inserire il seguente comando :q

Attenzione! Prima di impazzire e/o lanciare pc fuori dalla finestra, notare che il comando quit è “:q” non “q”. In vim tutti i comandi sono preceduti dai due punti. In questo caso per salvare utilizzeremo il comando “:w”

Gedit

Non c’è molto da dire su questo editor di testo. Ha un’interfaccia grafica gradevole e molto simile al comunemente utilizzato blocco note.

10 - gedit

E con questo abbiamo concluso la nostra introduzione agli editor di testo. Come sempre, se siete interessati ad approfondire in maniera particolare qualche argomento, non esistate a scrivere nei commenti oppure spulciate a dovere i manuali. La prossima settimana vedremo qualche approfondimento e inizeremo a parlare di permessi e proprietà in Linux.

P.s Buon Natale gente 🙂

xmas

Please follow and like us: