Programmering i Ruby. Nybörjarens terminal - del 1
Damian Watroba
Software Engineer
Det är dags att diskutera den andra punkten (Terminal) från posten Så här börjar du programmera i Ruby i 7 steg. Utan vidare uppmanar jag dig att läsa innehållet och följa upp med några praktiska övningar som jag har förberett åt dig. Låt oss gå!
Terminal - teori
Terminalen är ett grundläggande verktyg i alla operativsystem, även kallad konsol eller kommandorad. Varje gång du hör någon av dessa termer vet du att det handlar om det. Det gör det möjligt att kommunicera med systemets skal, till exempel med bass (standardskalet för Ubuntu). Skalet fungerar som en mellanhand mellan operativsystemet eller applikationerna och användaren. Enkelt uttryckt kan man säga att konsolen gör det möjligt att ge kommandon till systemet. Det spelar ingen roll vilket språk du programmerar på - ju förr du behärskar detta verktyg, desto bättre. Terminalen används för att installera/köra program på din maskin, hantera datorresurser, navigera genom kataloger, skapa filer eller köra tidigare förberedda skript. Dessa färdigheter är nödvändiga när du hanterar en server som inte har ett grafiskt användargränssnitt (GUI).
Kortkommandot för att öppna terminalen är ctrl + alt + t
Många människor försöker skjuta upp inlärningen av kommandoraden och letar efter versioner av program med ett snyggt grafiskt gränssnitt. Men om du vill börja äventyret med programmering kommer terminalen att vara en oumbärlig del av inlärningen, så det är dags att bli vänner. Början kan vara svår, men oroa dig inte.
Terminal - Övning
På bilden ovan har vi en redan öppen Ubuntu-terminal där du kan se:
damian@rubydev:~$
Den första delen, före kolon, är inget annat än det användarnamn vi valde när vi installerade Ubuntu och namnet på vår dator. Men tilden ~ betyder hemkatalogen. Det sista tecknet $ är den så kallade "prompten". Därefter kan kommandon matas in.
Var är jag?
pwd (Print Working Directory) - den returnerar alltid sökvägen till den plats där du befinner dig för tillfället. När du går vilse kan du alltid använda pwd kommando.
Här kan det vara värt att notera att du alltid befinner dig i din hemkatalog direkt efter att du har startat konsolen, d.v.s. / hem / ANVÄNDARNAMN, där ANVÄNDARNAMN betyder ditt användarnamn.
Visa mig vad du har!
ls (List) - det är ett av de vanligaste kommandona för att visa innehållet i den katalog du befinner dig i.
Kommandon kan också ta emot argument (alternativ) som ändrar kommandots beteende på något sätt. Du kan skriva dem tillsammans eller separat, t.ex:
damian@rubydev:~$ ls -la
eller:
damian@rubydev:~$ ls -l -a
-l är ett alternativ som skriver ut filer och kataloger i form av en lista med detaljerad information, medan -a eller --allt skriver även ut dolda filer (dvs. filer med namn som börjar med en punkt).
De alternativ som skickas föregås vanligtvis av - eller --. Ett annat användbart trick är att ange sökvägen till den katalog vars innehåll du vill kontrollera direkt efter ls eller efter de alternativ som passerat (om du använder dem). På så sätt kan du göra det utan att ändra din nuvarande plats.
I det här fallet fick vi reda på vilka filer vi har i Dokument utan att flytta från hemkatalogen.
Låt oss komma iväg!
Dags att utforska ditt system lite och lära dig hur du navigerar i det. Vi kommer att använda cd (ändra katalog) kommando för att flytta.
Om du vill gå till Dokument från din hemkatalog kommer kommandot att se ut så här: cd Dokument. För att vara säker på att du är på rätt plats kan du kontrollera det med den redan kända pwd kommando:
Om du vill gå tillbaka kan du använda cd ...men kom ihåg att .. tar dig tillbaka till den överordnade katalogen, inte till den plats varifrån du angav kommandot. Den här skärmen kanske illustrerar problemet bättre:
Det är också värt att känna till några genvägar som hjälper dig att arbeta mer effektivt. De cd eller cd ~ själv tar dig direkt till hemkatalogen, var du än befinner dig i systemet.
damian@rubydev:~/Pulpit/Praca$ cd
damian@rubydev:~$ pwd
Välj / om du behöver komma till rotkatalogen, den s.k. "roten". Det är systemets grundkatalog, som innehåller kataloger med konfigurationsfiler, installerade program och användarkataloger (inklusive din hemkatalog).
damian@rubydev:~$ cd /
damian@rubydev:/$ pwd
/
En annan sak som kommer att underlätta ditt arbete är att använda TAB-knappen. Du behöver inte ange det fullständiga namnet på den katalog du vill gå till varje gång, eller ens komma ihåg dess fullständiga namn. Genom att ange första bokstaven i katalogen och trycka på TAB kommer terminalen att föreslå de tillgängliga alternativen eller slutföra kommandot omedelbart om det bara finns en möjlighet. Låt oss prova det här:
damian@rubydev:/$ cd P[tab]
Pobrane/ Publiczny/ Predikstol/
damian@rubydev:/$ cd P
damian@rubydev:~$ cd D[tab]
damian@rubydev:/$ cd Dokumenty/
Vi kommer att använda tabulatorn ganska ofta under den här utbildningen.
Hjälp?
Har du glömt vilka alternativ <codecd fungerar? Du kan använda det dokumentationsstöd som ditt system erbjuder. Den man (manuellt) kommando används för detta:
damian@rubydev:/$ man cd
Detta är inte det enda sättet. Du kan också använda --hjälp eller -h alternativet, som till exempel visar en snabbguide:
damian@rubydev:~$ ls --help
Arbetsuppgifter:
1. Ta reda på vilka andra alternativ som finns förutom -l -a den ls kommandot kan acceptera, och vilka detaljer som -l alternativet returnerar exakt.
2. Eftersom du kan navigera genom katalogerna bör du bekanta dig med filstrukturen i ditt system.
Dags att lägga till och ändra något!
För att skapa nya kataloger där du förvarar dina projekt använder du kommandot mkdir (make directory) följt av det namn du vill ha.
damian@rubydev:~/Pulpit$ mkdir Projekty
damian@rubydev:~/Pulpit$ ls
Praca Projekty
Om du vill skapa en fil kan du använda beröring kommando:
damian@rubydev:~/Pulpit/Projekty$ touch rubydev.rb
damian@rubydev:~/Pulpit/Projekty$ ls
rubydev.rb
Eftersom du kan lägga till nya kataloger och filer kan du också kopiera dem! För att kopiera filerna använder du cp (copy), och för att kopiera kataloger cp lägg till -r (rekursivt) alternativ. Vid kopiering av en fil / katalog tar kommandot två parametrar:
den fil du vill kopiera, t.ex. den tidigare skapade rubydev.rb fil,
den plats som du kopierar till (du kan ge kopian ett nytt namn genom att infoga det i slutet av destinationssökvägen).
Jag kopierade filen rubydev.rb till den överordnade katalogen, dvs. Desktop-katalogen
Du kan också överföra filer. Låt oss försöka flytta den tidigare kopierade filen tillbaka till den katalog där du befinner dig och samtidigt ändra dess namn.
Vi flyttar filen rubydev_copy.rb från den överordnade katalogen till den katalog där vi för närvarande befinner oss
Om du vill flytta filer och kataloger använder du mv (flytta) kommando, som - precis som cp - tar in två uppgifter: vad och vart som ska flyttas.
Onödigt? Låt oss radera!
Som vanligt kommer du efter en tid att ha filer och kataloger som du inte längre behöver eller använder. Det finns också lämpliga kommandon för att radera sådana filer och kataloger.
rmdir (remove directory) - tar bort den tomma katalog som du anger som parameter. Om du anger fler sökvägar till kataloger kommer alla att tas bort.
rm (remove) - tar bort filen. Om du vill ta bort en katalog med det här kommandot använder du -r -f alternativ. Detta kommando accepterar endast en parameter, nämligen sökvägen till filen eller katalogen. Om du vill radera alla filer i den katalog där du befinner dig kan du skicka med * tecken som parameter. Kommandot kommer då att se ut så här: 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$
Före användning *, se till (med pwd) att du är på rätt plats så att du inte raderar viktiga filer.
De tidigare nämnda alternativen -r (rekursiv, raderar filer i underkataloger) och -f (tvinga, radera utan bekräftelse, inklusive filer som är skyddade mot radering) används tillsammans för att ta bort en katalog med allt dess innehåll. Därför bör du innan du använder rm -rfmåste du vara säker på vad du tar bort.
Arbetsuppgifter:
1. Använd man för att läsa dokumentationen för de kommandon som diskuterats ovan,
2. Skapa två kataloger: projekt_1, projekt_2
3. Skapa tre filer i katalogen project_1 (valfritt namn), t.ex. application.rb, routes.rb, puma.rb
4. Kopiera alla filer från projekt_1 till projekt_2, och radera sedan projekt_1.
Sammanfattning
Som du kan se är det inte svårt att hantera terminalen, det krävs bara lite övning. För att verkligen bemästra det rekommenderar jag att du använder terminalen för alla enkla operationer. I den andra delen av denna handledning kommer jag att visa dig några andra kommandon som är värda att känna till. Hej då!