Programmazione Ruby. Terminale per principianti - parte 1
Damian Watroba
Software Engineer
È il momento di discutere il secondo punto (Terminale) della voce Come iniziare a programmare in Ruby in 7 passi. Senza ulteriori indugi, vi invito a leggere il contenuto e a seguire alcuni esercizi pratici che ho preparato per voi. Andiamo!
Terminale - teoria
Il terminale è uno strumento di base di qualsiasi sistema operativo, chiamato anche console o riga di comando. Ogni volta che sentirete uno di questi termini, saprete che si tratta di questo. Permette di comunicare con la shell di sistema, ad esempio con bass (la shell predefinita di Ubuntu). La shell funge da intermediario tra il sistema operativo o le applicazioni e l'utente. In parole povere, la console consente di impartire comandi al sistema. Non importa in quale lingua si programmi: prima si padroneggia questo strumento, meglio è. Il terminale verrà utilizzato per installare/eseguire programmi sulla macchina, gestire le risorse del computer, navigare tra le directory, creare file o eseguire script precedentemente preparati. Queste competenze sono necessarie quando si gestisce un server che non dispone di un'interfaccia grafica (INTERFACCIA GRAFICA).
La scorciatoia da tastiera che apre il terminale è ctrl + alt + t
Molte persone cercano di rimandare l'apprendimento della riga di comando, cercando versioni di programmi con una bella interfaccia grafica. Tuttavia, se volete iniziare l'avventura con la programmazione, il terminale sarà un elemento indispensabile per l'apprendimento, quindi è il momento di diventare amici. Gli inizi possono essere difficili, ma non preoccupatevi.
Terminale - Pratica
Nell'immagine qui sopra, abbiamo un terminale Ubuntu già aperto in cui è possibile vedere:
damian@rubydev:~$
La prima parte, prima dei due punti, non è altro che il nome utente scelto al momento dell'installazione di Ubuntu e il nome del nostro computer. Tuttavia, la tilde ~ indica la directory home. L'ultimo carattere $ è il cosiddetto "prompt". Dopo di che è possibile inserire i comandi.
Dove mi trovo?
pwd (Print Working Directory) - restituisce sempre il percorso del luogo in cui ci si trova al momento. Quando ci si perde, si può sempre usare l'opzione pwd comando.
A questo punto, vale la pena di notare che subito dopo l'avvio della console ci si trova sempre nella propria home directory, ovvero / home / NOME UTENTE, dove NOME UTENTE indica il vostro nome utente.
Mostrami quello che hai!
ls (Elenco) - è uno dei comandi più utilizzati per visualizzare il contenuto della directory in cui ci si trova.
I comandi possono anche accettare argomenti (opzioni) che modificano in qualche modo il comportamento dei comandi. È possibile scriverli insieme o separatamente, ad es:
damian@rubydev:~$ ls -la
oppure:
damian@rubydev:~$ ls -l -a
-l è un'opzione che stampa i file e le directory sotto forma di elenco con informazioni dettagliate, mentre -a o --Tutti stampa anche i file nascosti (cioè i file con nomi che iniziano con un punto).
Le opzioni passate sono solitamente precedute da - o --. Un altro trucco utile è quello di inserire il percorso della directory di cui si vuole verificare il contenuto subito dopo ls o dopo le opzioni passate (se le utilizzate). In questo modo, lo farete senza cambiare la vostra posizione attuale.
In questo caso, abbiamo appreso quali file abbiamo nella cartella Documenti senza spostarsi dalla home directory.
Mettiamoci in cammino!
È il momento di esplorare un po' il vostro sistema e di imparare a navigarlo. Utilizzeremo il cd (cambio di directory) per spostarsi.
Se volete andare al Documenti dalla propria home directory, il comando avrà il seguente aspetto: Documenti cd. Per essere sicuri di essere nel posto giusto, si può verificare con il già conosciuto pwd comando:
Se si vuole tornare indietro, si può usare il metodo cd ..., ma ricordate che .. vi riporterà alla cartella madre, non al punto in cui avete inserito il comando. Forse questa schermata illustra meglio il problema:
Vale anche la pena di conoscere alcune scorciatoie che vi aiuteranno a lavorare in modo più efficiente. Il cd o cd ~ stesso vi porterà direttamente alla directory home, da qualsiasi punto del sistema.
damian@rubydev:~/Pulpit/Praca$ cd
damian@rubydev:~$ pwd
Scegliete / se dovete raggiungere la directory principale, la cosiddetta "root". È la directory di base del sistema, che contiene le directory con i file di configurazione, le applicazioni installate e le directory degli utenti (compresa la vostra home directory).
damian@rubydev:~$ cd /
damian@rubydev:/$ pwd
/
Un'altra cosa che vi faciliterà il lavoro è l'uso del tasto TAB. Non è necessario inserire ogni volta il nome completo della directory a cui si vuole accedere, e nemmeno ricordarne il nome completo. Inserendo la prima lettera del catalogo e premendo TAB, il terminale suggerirà le opzioni disponibili o completerà immediatamente il comando se esiste un'unica possibilità. Proviamo:
damian@rubydev:/$ cd P[tab]
Pobrane/ Publiczny/ Pulpit/
damian@rubydev:/$ cd P
damian@rubydev:~$ cd D[tab]
damian@rubydev:/$ cd Dokumenty/
In questa sessione di formazione utilizzeremo spesso il tabulatore.
Aiuto?
Avete dimenticato quali sono le opzioni del <codecd? Si può utilizzare il supporto alla documentazione offerto dal proprio sistema. Il uomo (manuale) viene utilizzato per questo scopo:
damian@rubydev:/$ man cd
Questo non è l'unico modo. Si può anche utilizzare il metodo --aiuto o -h che mostrerà, ad esempio, una guida rapida:
damian@rubydev:~$ ls --help
Compiti:
1. Scoprite quali sono le altre opzioni oltre a -l -a il ls e quali dettagli può accettare il comando -l restituisce esattamente l'opzione.
2. Poiché è possibile navigare tra le directory, è necessario familiarizzare con la struttura dei file del sistema.
È ora di aggiungere e modificare qualcosa!
Per creare nuove directory in cui conservare i progetti, usare il comando mkdir (crea directory) seguito dal nome scelto.
damian@rubydev:~/Pulpit$ mkdir Projekty
damian@rubydev:~/Pulpit$ ls
Praca Projekty
Se si vuole creare un file, si può usare il metodo toccare comando:
damian@rubydev:~/Pulpit/Projekty$ touch rubydev.rb
damian@rubydev:~/Pulpit/Projekty$ ls
rubydev.rb
Poiché è possibile aggiungere nuove directory e file, è anche possibile copiarli! Per copiare i file, si utilizza il comando cp (copy) e per copiare le directory cp aggiungere il -r (ricorsivo). Nella copia di un file/directory, il comando richiede due parametri:
il file che si desidera copiare, ad esempio il file creato in precedenza rubydev.rb file,
il luogo in cui si effettua la copia (si può dare un nuovo nome alla copia inserendolo alla fine del percorso di destinazione).
Ho copiato il file rubydev.rb nella cartella madre, cioè la cartella Desktop
È anche possibile trasferire i file. Proviamo a spostare il file precedentemente copiato nella directory in cui ci troviamo, cambiandone contemporaneamente il nome.
Spostiamo il file rubydev_copy.rb dalla cartella madre alla cartella in cui ci troviamo attualmente
Per spostare file e directory, utilizzare il comando mv (spostamento), che, proprio come cp - richiede due informazioni in ingresso: cosa e dove muoversi.
Non è necessario? Cancelliamo!
Come di solito accade, dopo un po' di tempo si trovano file e directory che non servono o non si usano più. Esistono anche comandi appropriati per eliminare tali file e directory.
rmdir (remove directory) - rimuove la directory vuota indicata come parametro. Se si forniscono più percorsi di directory, li cancellerà tutti.
rm (remove) - rimuove il file. Per eliminare una directory con questo comando, si usa il comando -r -f opzione. Questo comando accetta un solo parametro, ovvero il percorso del file o della directory. Se si desidera eliminare tutti i file della directory in cui ci si trova, si può passare l'opzione * come parametro. Il comando avrà quindi il seguente aspetto: rm *
damian@rubydev:~/Pulpit/Projekty$ ls rubydev_move.rb rubydev.rb
damian@rubydev:~/Pulpit/Projekty$ rm *
damian@rubydev:~/Pulpit/Projekty$ ls
damian@rubydev:~/Pulpit/Projekty$
Prima dell'uso *assicurarsi che (con pwd) che vi troviate nel posto giusto per non cancellare file importanti.
Le opzioni precedentemente menzionate -r (ricorsivo, elimina i file nelle sottodirectory) e -f (forza, eliminazione senza conferma, compresi i file protetti dall'eliminazione) sono usati insieme per rimuovere una directory con tutto il suo contenuto. Pertanto, prima di utilizzare rm -rfè necessario essere sicuri di ciò che si sta rimuovendo.
Compiti:
1. Utilizzando man, leggete la documentazione dei comandi discussi in precedenza,
2. Creare due directory: progetto_1, progetto_2
3. Creare tre file nella cartella progetto_1 (con nomi a piacere), ad es. application.rb, routes.rb, puma.rb
4. Copiare tutti i file da progetto_1 a progetto_2e quindi eliminare progetto_1.
Sintesi
Come si può vedere, l'uso del terminale non è difficile, ma richiede solo un po' di pratica. Per imparare davvero, vi consiglio di usare il terminale per tutte le operazioni più semplici. Nella seconda parte di questo tutorial, vi mostrerò altri comandi che vale la pena conoscere. Ciao!