Capitolo 4. Miniguide di Salix
4.1. Lavorare con l'interfaccia a Riga di Comando
Questa sezione riguarda le attività eseguibili con la riga di comando nella modalità console o con un terminale (ad esempio il terminale xfce, xterm, konsole e così via), va intesa come una semplice introduzione a quella che è chiamata "interfaccia a riga di comando" ("command line interface", CLI). Questa mini guida non si rivolge all'esploratore esperto ma al viaggiatore Linux alle prime armi, che vuole scoprire cosa si può fare con la CLI. Esporremo con degli esempi da seguire, e se tutto va bene, al termine della guida, non avrete più problemi a lavorare nello "schermo nero". Per quelli che vogliono conoscere altro sulla CLI, indichiamo un paio di risorse utili disponibili in rete che troverete all'indirizzo
Salix Forum.
Allora, perché imparare I comandi della CLI? Le interfacce grafiche per la configurazione e l'uso delle applicazioni sono costantemente migliorate in Linux e la loro facilità d'uso è comparabile a quella di qualunque altro S.O. E' però altrettanto vero che uno dei tradizionali punti di forza di Linux è proprio l'area delle applicazioni che funzionano a riga di comando. In effetti, senza conoscere la CLI rischiate di perdere più della metà delle potenzialità che Linux vi offre.
Ma c'è anche un'altra ragione. Di tanto in tanto può capitarvi di dover lavorare in modalità console. Per esempio, se la macchina non riesce ad avviare l'ambiente grafico dovete forzatamente risolvere il problema senza l'ausilio delle interfacce visuali.
Naturalmente esistono altri motivi per imparare ad usare I comandi CLI, ma per ora ci limiteremo alla navigazione nelle directory.
Aprite una sessione di terminale o portatevi in modalità console (dovete usare la combinazione di tasti Ctrl+Alt+F2. Per ritornare al desktop grafico usate Ctrl+Alt+F4. I Tasti numerici F sono usati per passare da una console all'altra, nel caso abbiate più terminali aperti.)
4.1.1. Per spostarsi - cd
Di default il terminale vi posiziona nella vostra directory utente (indicata come "~"), che corrisponde a "/home/nome utente" (sostituite “nome utente” col vostro nome). In Salix, questa directory contiene "Desktop", "Musica", "Documenti" e così via. Per visualizzarne il contenuto, digitate "ls" e confermate con Invio. Vi apparirà qualcosa simile a questo:
Per navigare tra le varie directory useremo allora il comando "cd". Se però digitate solamente "cd" e date Invio, non succederà nulla. "cd" deve essere seguito dal nome di una directory contenuta all'interno di quella in cui siete posizionati oppure dal percorso completo della directory verso la quale volete muovervi. Potete risalire alla directory gerarchicamente superiore a quella in siete posizionati digitando il comando "cd .." (attenzione, c'è uno spazio tra cd e ..). Ricordate che in Linux gli argomenti sono separati da spazi. Al momento ci limiteremo a portarci nella directory root. La directory root, come sugerisce il nome, -radice appunto- segna l'inizio gerarchico di tutte le directory successive. Se cancellaste questa directory il sistema non potrebbe più avviarsi.
Per raggiungere la cartella di root "/", digitate "cd /".
Digitate "ls" per vedere la lista delle vartella presenti in questa posizione. Vi troverete cartelle come "tmp/", "usr/", "home/" e così via. OK, al momento niente di particolarmente interessante da vedere qui... . Torniamo alla nostra directory utente con "cd /home/vostro nome utente".
Ora portiamoci nella cartella "Musica" digitando "cd Musica". Tra l'altro, non serve nemmeno digitare tutto il comando. Se premete il tasto Tab dopo le prime due o tre lettere il nome della directory verrà completato automaticamente.
4.1.2. Creare una cartella - mkdir
Potete creare una cartella col comando "mkdir nome della nuova cartella". Poniamo il caso che vogliate creare una cartella per le foto. Il comando "mkdir foto" andrà a creare la nuova cartella all'interno di quella dove siete posizionati. Per verificare che sia così non fate altro che digitare "ls".
Ora creiamo un file di log per la cartella delle foto. "nano" è un'applicazione a riga di comando per leggere e scrivere testi. Per attivare il programma digitate nel terminale "nano".
L'applicazione è facile da usare e le opzioni dei comandi sono elencate nella parte bassa della finestra. Digitate il testo "log file created", e con la combinazione Ctrl+x, salvate il documento come "log" e chiudete l'applicazione.
4.1.3. Copia, Spostamento ed Eliminazione di un File - cp & mv & rm
"cp" è probabilmente uno dei comandi più usati in modalità console. "cp" copia uno o più file da una posizione ad un'altra. Ora, abbiamo creato il file "log" che però è posizionato nella directory sbagliata, quindi dobbiamo portarlo nella cartella "foto". Per fare questo digitate il comando "cp log foto/" anche se è preferibile nominare il file "log" come "log.txt", in modo che sia chiaro ad un utente Windows che si tratta di un file di testo. Digitate quindi "cp log foto/log.txt" e confermate con Invio per eseguire il comando.
Ora passate alla directory "foto" e controllare che la copia del file sia presente. "cd foto" e poi "ls". Il file dovrebbe essere presente. Aggiungiamo al file di log l'informazione che è stato spostato da "Musica" a "foto". Lanciamo il comando "nano log.txt" per riaprire il file. Ora aggiungete una riga per documentare che il file è stato spostato , salvate e chiudete l'applicazione con Ctrl+x.
Accidenti, ci siamo dimenticati di eliminare il file "log" originario posizionato nella cartella "Musica"! Portiamoci quindi nella cartella "Musica" con "cd .." ed eliminate il file "log" col comando "rm log". Il comando "rm" elimina uno o più files. Ad esempio, se voleste rimuovere tutte le foto con estensione .jpg ma non quelle con estensione .png, dovete digitare un comando simile a : "rm *.jpg". Questo rimuoverà tutti I file con estensione .jpg all'interno della directory nella quale siete posizionati. Fate attenzione: il comando "rm" non vi chiede di confermare nuovamente la scelta. Ciò significa che il comando esegue quanto richiesto senza nessun altro avviso e quando un file viene rimosso così è cancellato per sempre dal sistema. Non potete quindi recuperarlo dal Cestino.
In questo esempio abbiamo usato il comando "cp" per copiare il file di log e successivamente l'abbiamo cancellato. Normalmente questa operazione può essere eseguita anche col comando "mv"; "mv log foto/". Potete usare "mv" per rinominare un file. Supponiamo che abbiate cambiato idea sul nome da dare al file di log e vogliate rinominarlo da "log.txt" a "log". Digitate allora "mv foto/log.txt foto/log" e premete Invio per eseguire il comando. Ora il file si chiama di nuovo "log".
4.1.4. Copiare, Spostare e Rimuovere una Cartella - cp & mv & rm
Quindi, ora abbiamo la cartella "foto" e un file log all'interno della cartella "Musica". Questo è piuttosto insolito in quanto normalmente dovremmo avere la cartella non all 'interno di "Musica" ma in "Immagini". Ora conoscete il comando per spostare un file; forse lo stesso comando può funzionare anche per la cartella?
Però... "cp foto ../Immagini" (ricordatevi che .. si riferisce alla cartella a livello gerarchicamente superiore) darà un errore di questo tipo.
Vediamo quel che possiamo fare qui. La prima cosa da fare quando ci si imbatte in questo tipo di problema è quello di controllare il file di aiuto corrispondente. Questo si può fare digitando il comando "cp --help". E' possibile che --help sia solo -h; potrebbe anche darsi il caso in cui non ci sia alcun file di aiuto. "man" è il comando che vi consente di saperlo. "man cp" vi fornirà spiegazioni più dettagliate di questo comando. (per uscire dal manuale premete il tasto "q").
In questo caso, se leggete attentamente l'aiuto noterete che dovete impostare nel comando l'opzione "-r" se volete copiare la cartella in un'altra posizione. Il comando sarà allora "cp -r foto ../Immagini" e copierà la cartella "foto" all'interno della cartella "Immagini". Dopo aver verificato che la cartella ed il suo contenuto siano stati correttamente copiati, potete rimuovere la cartella "foto" dalla cartella "Musica": "rm -r photo/".
4.1.5. Installare un programma - slapt-get e slapt-src
Può darsi il caso che vi sia giunta voce che in Linux esiste una applicazione "cowsay" e che pertanto siate tentati di provarla.
Ora, per installare un programma dovete essere autenticati come root (= superutente = amministratore), dato che l'operazione che state per compiere va a modificare il sistema. In alternativa, potete diventare root digitando "su" nel terminale. Ovviamente, vi verrà richiesto di inserire la relativa password. Ottenuto l'accesso come root potete modificare a piacimento il sistema (persino comprometterlo fino a renderlo inservibile).
Torniamo quindi a "cowsay". Se è la prima volta che installate un'applicazione in Salix, la prima cosa da fare è aggiornare il locale database dei pacchetti digitando il comando "slapt-get -u". Per ricercare l'applicazione, (in questo caso "cowsay"), digitate "slapt-get –search cowsay". Sfortunatamente, cowsay non è presente nei repository ufficiali Salix né in quelli Slackware. Ma non demordiamo subito. Slackbuilds.org mantiene pacchetti extra per Slackware, i quali possono essere tranquillamente usati anche dagli utenti Salix.
Ricercate quindi "cowsay" con slapt-src digitando il comando "slapt-src --search cowsay" ricordando di aggiornare preventivamente il database locale delle applicazioni con "slapt-src -u". Vedrete che il programma è disponibile in Slackbuilds.org. Per installarlo, eseguite "slapt-src -i cowsay". Se non sapete cosa significhi la "-i" nel comando, controllate con l'opzione --help. Vedrete una serie di righe apparire in rapida sequenza nel terminale finché il processo di installazione è terminato.
Una volta installata, è ora di provare l'applicazione. Uscite quindi dalla modalità superutente digitando il comando "exit". Poi finalmente digitate "cowsay". Non succede nulla e in effetti vi trovate ora in una situazione in cui non riuscite ad eseguire alcun comando. Questo accade perché l'applicazione sta effettivamente funzionando ma, poiché non vedete nulla, non sta funzionando come dovrebbe. Terminate quindi il processo col comando "Ctrl+c". Ritornate quindi alla normale riga di input del terminale.
Cosa non ha funzionato? Controllate "cowsay" con "-h". Vedrete che dovete inserite nel comando un [messaggio]. Provate allora "cowsay Hello Salix!"
In breve qui vi abbiamo dato solo una pallida idea dei poteri della riga di comando. Il miglior modo per saperne di più è semplicemente inziare ad usarla, ricordandosi di far uso degli help e consultando la documentazione in linea come quella elencata nel forum di Salix.
Linuxcommand.org è caldamente raccomandato per coloro che vogliano costruirsi una formazione più completa a riguardo. Procedete con cautela, ma non abbiate paura di sperimentare.
Ultimo suggerimento- può essere effettivamente complicato copiare accuratamente comandi molto lunghi. In Linux, se selezionate il testo col mouse, cliccando sul tasto mediano potrete copiare esattamente il comando nel terminale o in un qualunque file di testo.