Het is tijd om het tweede punt (Terminal) uit het artikel Hoe begin ik met programmeren in Ruby in 7 stappen te bespreken. Zonder verder oponthoud nodig ik je uit om de inhoud te lezen en te volgen met enkele praktische oefeningen die ik voor je heb voorbereid. Laten we beginnen!
Terminal - theorie
De terminal is een basistool in elk besturingssysteem, ook wel console of opdrachtregel genoemd. Elke keer dat je een van deze termen hoort, weet je dat het daarover gaat. Het maakt de communicatie met de systeemshell mogelijk, bijvoorbeeld met bas (de standaard shell voor Ubuntu). De shell fungeert als tussenpersoon tussen het besturingssysteem of applicaties en de gebruiker. Simpel gezegd kun je met de console commando's geven aan het systeem. Het maakt niet uit in welke taal je programmeert - hoe eerder je dit gereedschap onder de knie hebt, hoe beter. De terminal wordt gebruikt om programma's op je machine te installeren/draaien, computerbronnen te beheren, door mappen te navigeren, bestanden aan te maken of eerder voorbereide scripts uit te voeren. Deze vaardigheden zijn nodig bij het beheren van een server die geen grafische gebruikersinterface heeft (GUI).
De sneltoets om de terminal te openen is ctrl + alt + t
Veel mensen proberen het leren van de opdrachtregel uit te stellen, op zoek naar versies van programma's met een mooie grafische interface. Als je echter het avontuur met programmeren wilt beginnen, zal de terminal een onmisbaar leerelement zijn, dus het is tijd om vrienden te worden. Het begin kan moeilijk zijn, maar maak je geen zorgen.
Terminal - Praktijk
In de afbeelding hierboven hebben we een reeds geopende Ubuntu-terminal waar je kunt zien:
damian@rubydev:~$
Het eerste deel, voor de dubbele punt, is niets anders dan de gebruikersnaam die we hebben gekozen bij de installatie van Ubuntu en de naam van onze computer. Echter, de tilde ~ betekent de thuismap. Het laatste teken $ is de zogenaamde "prompt". Daarna kunnen commando's worden ingevoerd.
Waar ben ik?
pwd (Werkmap afdrukken) - deze geeft altijd het pad terug naar de plaats waar je op dat moment bent. Als je de weg kwijt bent, kun je altijd de pwd commando.
Op dit punt is het de moeite waard om op te merken dat je direct na het starten van de console altijd in je homedirectory bent, d.w.z. / home / gebruikersnaamwaarbij GEBRUIKERSNAAM betekent je gebruikersnaam.
Laat me zien wat je hebt!
ls (Lijst) - dit is een van de meest gebruikte commando's om de inhoud van de map weer te geven waarin je je momenteel bevindt.
Commando's kunnen ook argumenten (opties) aannemen die het gedrag van je commando's op een bepaalde manier veranderen. Je kunt ze samen of apart schrijven, bijv:
damian@rubydev:~$ ls -la
of:
damian@rubydev:~$ ls -l -a
-l is een optie die bestanden en mappen afdrukt in de vorm van een lijst met gedetailleerde informatie, terwijl -a of -all drukt ook verborgen bestanden af (dat wil zeggen bestanden met namen die beginnen met een punt).
De doorgegeven opties worden meestal voorafgegaan door - of --. Een andere handige truc is om het pad naar de map waarvan je de inhoud wilt controleren direct na ls of nadat de opties zijn doorgegeven (als je ze gebruikt). Op deze manier doet u het zonder uw huidige locatie te wijzigen.
In dit geval hebben we geleerd welke bestanden we hebben in de Documenten map zonder de homedirectory te verlaten.
Laten we op weg gaan!
Tijd om je systeem een beetje te verkennen en te leren navigeren. We gebruiken de cd (map wijzigen) om te verplaatsen.
Als je naar de Documenten vanuit je thuismap, ziet het commando er als volgt uit: cd-documenten. Om er zeker van te zijn dat je op de juiste plaats bent, kun je het controleren met de al bekende pwd commando:
Als je terug wilt gaan, kun je het volgende gebruiken cd ...maar vergeet niet dat .. brengt je terug naar de bovenliggende map, niet naar de plaats van waaruit je het commando hebt ingevoerd. Misschien illustreert dit scherm dit probleem beter:
Het is ook de moeite waard om enkele sneltoetsen te kennen waarmee je efficiënter kunt werken. De cd of cd ~ zelf brengt je rechtstreeks naar de homedirectory, vanaf elke plek in je systeem.
damian@rubydev:~/Pulpit/Praca$ cd
damian@rubydev:~$ pwd
Kies / als je naar de hoofddirectory wilt, de zogenaamde 'root'. Dit is de basismap van het systeem, die de mappen met configuratiebestanden, geïnstalleerde applicaties en gebruikersmappen (inclusief je thuismap) bevat.
damian@rubydev:~$ cd /
damian@rubydev:/$ pwd
/
Iets anders dat je werk zal vergemakkelijken is het gebruik van de TAB-knop. Je hoeft niet elke keer de volledige naam van de map waar je naartoe wilt invoeren, of zelfs de volledige naam te onthouden. Door de eerste letter van de catalogus in te voeren en op TAB te drukken, zal de terminal de beschikbare opties voorstellen of de opdracht onmiddellijk voltooien als er maar één mogelijkheid is. Laten we het eens uitproberen:
damian@rubydev:/$ cd P[tab]
Pobrane/Openbaarheidspreekstoel/
damian@rubydev:/$ cd P
damian@rubydev:~$ cd D[tab]
damian@rubydev:/$ cd Dokumenty/
We zullen de tabulator vaak gebruiken tijdens deze training.
Helpen?
Ben je vergeten welke opties de <codecd werkt? Je kunt de documentatieondersteuning gebruiken die je systeem biedt. De man (handmatig) commando wordt hiervoor gebruikt:
damian@rubydev:/$ man cd
Dit is niet de enige manier. Je kunt ook de --Help of -h optie, waarmee je bijvoorbeeld een snelle helpgids te zien krijgt:
damian@rubydev:~$ ls --help
Taken:
1. Zoek uit welke andere opties er zijn naast -l -a de ls commando kan accepteren en welke details het -l optie precies terug.
2. Aangezien u door de mappen kunt navigeren, moet u vertrouwd raken met de bestandsstructuur van uw systeem.
Tijd om iets toe te voegen en te veranderen!
Om nieuwe mappen aan te maken waarin je je projecten bewaart, gebruik je het commando mkdir (make directory) gevolgd door de naam van je keuze.
damian@rubydev:~/Pulpit$ mkdir Projekty
damian@rubydev:~/Pulpit$ ls
Projekty
Als je een bestand wilt maken, kun je de aanraken commando:
damian@rubydev:~/Pulpit/Projekty$ touch rubydev.rb
damian@rubydev:~/Pulpit/Projekty$ ls
rubydev.rb
Omdat je nieuwe mappen en bestanden kunt toevoegen, kun je ze ook kopiëren! Om de bestanden te kopiëren, gebruik je de cp (kopiëren) en om mappen te kopiëren cp de -r (recursief) optie. Bij het kopiëren van een bestand / map neemt het commando twee parameters:
het bestand dat u wilt kopiëren, bijv. het eerder gemaakte rubydev.rb bestand,
de plaats waarnaar je kopieert (je kunt de kopie een nieuwe naam geven door deze aan het einde van het bestemmingspad in te voegen).
Ik heb het bestand rubydev.rb gekopieerd naar de bovenliggende map, dat wil zeggen de map Desktop
Je kunt ook bestanden overzetten. Laten we eens proberen om het eerder gekopieerde bestand terug te verplaatsen naar de map waarin je je bevindt, waarbij je tegelijkertijd de naam verandert.
We verplaatsen het rubydev_copy.rb bestand van de bovenliggende map naar de map waarin we ons momenteel bevinden
Om bestanden en mappen te verplaatsen, gebruik je de mv (move) commando, dat - net als cp - heeft twee invoergegevens nodig: wat en waarheen te bewegen.
Onnodig? Laten we verwijderen!
Zoals het meestal gebeurt, zul je na verloop van tijd bestanden en mappen hebben die je niet langer nodig hebt of gebruikt. Er zijn ook geschikte commando's om zulke bestanden en mappen te verwijderen.
rmdir (remove directory) - verwijdert de lege map die je als parameter opgeeft. Als je meer paden naar mappen opgeeft, worden ze allemaal verwijderd.
rm (remove) - verwijdert het bestand. Om een map te verwijderen met dit commando, moeten we de -r -f optie. Dit commando accepteert slechts één parameter, namelijk het pad naar het bestand of de map. Als je alle bestanden wilt verwijderen in de map waarin je je bevindt, kun je de optie * karakter als parameter. Het commando ziet er dan zo uit: 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$
Voor gebruik *zorg ervoor (met pwd) dat je op de juiste plaats bent om geen belangrijke bestanden te verwijderen.
De eerder genoemde opties -r (recursief, verwijdert bestanden in submappen) en -f (forceren, verwijderen zonder bevestiging, inclusief bestanden die beveiligd zijn tegen verwijderen) worden samen gebruikt om een map met al zijn inhoud te verwijderen. Daarom moet voor het gebruik van rm -rfJe moet zeker weten wat je verwijdert.
Taken:
1. Lees met behulp van man de documentatie voor de commando's die hierboven zijn besproken,
2. Maak twee mappen: project_1, project_2
3. Maak drie bestanden in de map project_1 (willekeurige namen), bijv. toepassing.rb, routes.rb, puma.rb
4. Kopieer alle bestanden van project_1 naar project_2en vervolgens verwijderen project_1.
Samenvatting
Zoals je kunt zien is het gebruik van de terminal niet moeilijk, het vergt alleen een beetje oefening. Om het echt onder de knie te krijgen, raad ik aan om de terminal te gebruiken voor alle eenvoudige handelingen. In het tweede deel van deze tutorial zal ik je enkele andere commando's laten zien die de moeite waard zijn om te kennen. Tot ziens!