window.pipedriveLeadboosterConfig = { bas: 'leadbooster-chat.pipedrive.com', företagId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(funktion () { var w = fönster if (w.LeadBooster) { console.warn('LeadBooster finns redan') } annars { w.LeadBooster = { q: [], on: funktion (n, h) { this.q.push({ t: "o", n: n, h: h }) }, trigger: funktion (n) { this.q.push({ t: 't', n: n }) }, } } })() Ruby programmering. Nybörjarens terminal - del 2 - The Codest
Codest
  • Om oss
  • Tjänster
    • Utveckling av programvara
      • Frontend-utveckling
      • Backend-utveckling
    • Staff Augmentation
      • Frontend-utvecklare
      • Backend-utvecklare
      • Dataingenjörer
      • Ingenjörer inom molntjänster
      • QA-ingenjörer
      • Övriga
    • Det rådgivande
      • Revision och rådgivning
  • Industrier
    • Fintech & bankverksamhet
    • E-commerce
    • Adtech
    • Hälsoteknik
    • Tillverkning
    • Logistik
    • Fordon
    • IOT
  • Värde för
    • VD OCH KONCERNCHEF
    • CTO
    • Leveranschef
  • Vårt team
  • Fallstudier
  • Vet hur
    • Blogg
    • Möten
    • Webbinarier
    • Resurser
Karriär Ta kontakt med oss
  • Om oss
  • Tjänster
    • Utveckling av programvara
      • Frontend-utveckling
      • Backend-utveckling
    • Staff Augmentation
      • Frontend-utvecklare
      • Backend-utvecklare
      • Dataingenjörer
      • Ingenjörer inom molntjänster
      • QA-ingenjörer
      • Övriga
    • Det rådgivande
      • Revision och rådgivning
  • Värde för
    • VD OCH KONCERNCHEF
    • CTO
    • Leveranschef
  • Vårt team
  • Fallstudier
  • Vet hur
    • Blogg
    • Möten
    • Webbinarier
    • Resurser
Karriär Ta kontakt med oss
Pil tillbaka GÅ TILLBAKA
2020-04-21
Utveckling av programvara

Programmering i Ruby. Nybörjarens terminal - del 2

Codest

Damian Watroba

Software Engineer

Hej! Den här gången har vi förberett ytterligare en uppsättning användbara kommandon som hjälper dig att bekanta dig med terminalen. Den första delen av handledningen finns här: Nybörjarens terminal - del 1.

Terminal - Teori

Var är jag?

datum - Om vi har ett sådant behov och en sådan önskan kan vi kontrollera aktuellt datum i terminalen.

damian@rubydev:~$ datum
wto, 7 sty 2020,

Anslutning och listning

katt (concatenate) - det här kommandot har många användningsområden, men det mest populära är att visa innehållet i filer.

I exemplet nedan kan du se två filer - ruby_1.txt och ruby_2.txt - tillsammans med deras innehåll. De cat [filnamn] visar innehållet i en enda fil, medan kommandot cat [filnamn 1] [filnamn 2] kommandot visar innehållet i båda filerna i rätt ordning.

Terminal-1

Det finns ytterligare en sak vi kan göra med katt kommandot - omdirigera standardutdata till en ny fil med hjälp av kommandot > tecken. Detta innebär att innehållet som visas på skärmen kommer att omdirigeras till en deklarerad fil. Om den angivna filen inte finns på den angivna platsen kommer den att skapas automatiskt.

Terminal 2

Vad har vi här?

ps (processstatus) - skriver ut grundläggande information om processer i systemet. Detta kommando kan jämföras med Windows Aktivitetshanterare, där du kan se en lista över alla applikationer och processer som körs. Varje applikation, program eller körkommando blir en process med sin unika identifierare, den s.k. PID (Process IDentifier).

damian@rubydev:~$ ps
 PID TTY TID CMD
 556 pts/0 00:00:00 ps
2919 pts/0 00:00:00 bash

Som du kan se är ps kommandot visade oss inte mycket. För att kontrollera alla aktiva processer måste vi anropa ps med en aux argument.

Aby zobaczyc wszystkie procesy w systemie, uzywajac skladni BSD:
   ps ax
   ps axu

döda - Ibland slutar en applikation eller ett program att svara. Det är då döda kommandot kommer väl till pass. Till döda en process, allt du behöver göra är att fylla i döda kommandot med dess PID.

Hur hittar du PID för den processen? Det är bäst att använda den tidigare nämnda ps aux kommando. Det kan hända att döda är inte tillräckligt eftersom processen väntar på att en annan beroende process ska avslutas. Det är därför, döda används också ofta tillsammans med -9 alternativet. Det innebär att den pågående processen avslutas omedelbart, så innan du använder det här alternativet bör du kontrollera att alla viktiga ändringar har sparats. Låt oss ta en titt på ett exempel på ett sådant kommando:

damian@rubydev:~$ kill -9 1234

Echo!

eko - detta är kommandot som returnerar den text som anförtrotts det. På samma sätt som i fallet med kattkan du styra den inmatade texten till en fil med hjälp av eko kommando.

Terminal-3

Det kan vara användbart

När du vill visa historiken för tidigare inmatade kommandon kan du använda kommandot Historia kommando.

Om du vill rensa terminalfönstret behöver du klar kommando.

Den utgång stänger, som namnet antyder, terminalen eller den flik som är öppen för tillfället.

Början och slutet

Den huvud kommandot visar början av en fil eller standardutdata. Standardvärdet är de första tio raderna. Du kan anpassa det med kommandot -n alternativ där du kan lägga in valfritt heltal under n. För att bättre illustrera detta kommer jag att använda ett exempel.

Vi kommer att behöva en textfil. Låt oss använda den redan nämnda Historia kommandot och omdirigeringen > karaktär.

damian@rubydev:~$ history > history.txt

På så sätt skapades en fil med hela kommandohistoriken. Sedan, med hjälp av huvud -15 historia.txtär det möjligt att visa de femton första kommandona som skrivits in i terminalen.

Terminal-4

På samma sätt är svans kommandot visar oss de sista raderna i den valda filen.

Terminal-5

Sök

grep (global regular expression print) används för att söka i texten efter en sträng som matchar det angivna reguljära uttrycket (RegExp). Det används ofta för att hitta ett specifikt uttryck i en fil eller för att "filtrera" den returnerade utdata. För detta ändamål använder vi den tidigare skapade historia.txt filen och kontrollera hur ofta ps kommandot har använts hittills:

damian@rubydev:~$ grep ps historia.txt
   82 echo "Lorem ipsum rubydev 1" > ruby_1.txt
   84 echo "Lorem ipsum rubydev 2" > ruby_2.txt
   92 ps
   93 ps aux
   94 ps --hjälp
   95 man ps
   96 ps -h
   98 ps --hjälp
   99 ps -ejH
  100 ps aux
  101 man ps
  102 ps -aux
  103 ps aux
  109 historik | grep ps
  113 echo "lorem ipsum rubydev" > rubydev.rb

Som du kan se, grep hittade också ord som innehåller frasen ps. Det uttryck som användes i vårt exempel var ps bara. Jag planerar att skriva en separat artikel om reguljära uttryck, men för tillfället uppmuntrar jag dig att utforska ämnet på egen hand. Grundläggande kunskaper är precis tillräckligt för tillfället.

Kombinera kommandon

| (pipe) är en symbol som gör det möjligt att kombinera flera kommandon (processer) och starta dem samtidigt. Mer specifikt kan vi kombinera utdata (stdout) från ett kommando med indata (stdin) från ett annat. Det är en mycket användbar funktion.

POLECENIE_A | POLECENIE_B
POLECENIE_A | POLECENIE_B | POLECENIE_C

Till exempel:

historik | grep ps

Utmatningen (stdout) från Historia kommandot kommer att sökas av grep kommandot och returnera alla strängar med matchande ps uttryck.

historik | svans -5

I det här fallet kan du använda svans med kommandot -5 alternativet visar de fem sista raderna i utdata (stdout) från Historia kommando.

Denna kombination är särskilt användbar när du letar efter PID för den process som du vill avsluta. Kom ihåg att körning av grep kommandot skapar också en process, så du kommer vanligtvis att se PID för grep process i sista raden.

Terminal-6

Åtkomst till filer och kataloger

Innan vi går in på kommandot som ändrar typen av åtkomsttillstånd är det värt att nämna att varje operativsystem har så kallade åtkomsträttigheter. Detta innebär att varje katalog eller fil innehåller metadata om vem som har tillgång till den. Den första kolumnen i följande "utdata" berättar allt om det (utdatainformation som visas i terminalfönstret):

historik | svans -5

Åtkomst till filer och kataloger definieras av tre komponenter. Den första (user) avser en enskild användare, den andra (group) avser en grupp, medan den tredje (other) avser alla andra användare.

d - avgör om det är en katalog eller en fil (d - katalog, f - fil)

rwx - användarrättigheter

r-x - behörigheter för gruppen

r-x - behörig för alla andra användare

För att förenkla det hela kan man dela upp det i tre delar:

Låt oss nu gå in på själva innebörden av dessa rättigheter:

r (read) - gör att du kan läsa innehållet

w (skriv) - gör att du kan ändra innehållet

x (exekvera) - gör att du kan köra en fil eller öppna en katalog

Fil- eller katalogbehörigheter kan ändras med hjälp av chmod (ändra läge). Det enklaste sättet att ändra behörigheterna är att använda det inbäddade systemet och ange numret för behörigheten för användaren, gruppen och andra.

Terminal-7

För att tillämpa denna kunskap i praktiken ändrar vi behörigheterna för de tidigare listade wideo katalog för grupper och andra användare - ta bort alla behörigheter för dessa två, men lämna den fullständiga behörigheten bara för den enskilda användaren. Enligt tabellen ovan betecknas "inga rättigheter" med siffran 0. Omedelbart efter chmod måste du ange tre siffror, som var och en anger rättigheterna för den angivna kategorin (användare - grupp - övriga). I slutet anger du namnet på filen eller katalogen. Kommandot bör se ut så här:

damian@rubydev:~$ chmod 700 Wideo
damian@rubydev:~$ ls -l | tail -1
drwx------ 2 damian damian damian 4096 sty 6 17:41 Wideo

Sammanfattning

Det finns en hel svärm av andra kommandon och det enklaste sättet att behärska dem alla är att öva på att lösa specifika problem. Om du vill lära dig mer om dem, Jag rekommenderar Pocket Linux-lexikonet med kommandon. Enligt min mening är det ett trevligt sätt att fördriva tiden i kollektivtrafiken.

Läs mer om detta:

– E-commerce: Nytt läge i spelet 2020 (rapport)

- Shopify, Spree eller Solidus? Kolla varför Ruby on Rails kan hjälpa dig att utveckla din e-handel

– Vuex funktioner som du bör känna till om du verkligen bryr dig om din butik

Relaterade artiklar

Utveckling av programvara

Bygg framtidssäkrade webbappar: Insikter från The Codest:s expertteam

Upptäck hur The Codest utmärker sig genom att skapa skalbara, interaktiva webbapplikationer med banbrytande teknik som ger sömlösa användarupplevelser på alla plattformar. Läs om hur vår expertis driver digital omvandling och affärsutveckling...

DEKODEST
Utveckling av programvara

Topp 10 Lettlandsbaserade mjukvaruutvecklingsföretag

Läs mer om Lettlands främsta mjukvaruutvecklingsföretag och deras innovativa lösningar i vår senaste artikel. Upptäck hur dessa teknikledare kan hjälpa till att lyfta ditt företag.

thecodest
Lösningar för företag och uppskalningsföretag

Java Software Development Essentials: En guide till framgångsrik outsourcing

Utforska denna viktiga guide om framgångsrik outsourcing av Java-programvaruutveckling för att förbättra effektiviteten, få tillgång till expertis och driva projektframgång med The Codest.

thecodest
Utveckling av programvara

Den ultimata guiden till outsourcing i Polen

Den kraftiga ökningen av outsourcing i Polen drivs av ekonomiska, utbildningsmässiga och tekniska framsteg, vilket främjar IT-tillväxt och ett företagsvänligt klimat.

TheCodest
Lösningar för företag och uppskalningsföretag

Den kompletta guiden till verktyg och tekniker för IT-revision

IT-revisioner säkerställer säkra, effektiva och kompatibla system. Läs mer om hur viktiga de är genom att läsa hela artikeln.

Codest
Jakub Jakubowicz CTO och medgrundare

Prenumerera på vår kunskapsbas och håll dig uppdaterad om expertisen från IT-sektorn.

    Om oss

    The Codest - Internationellt mjukvaruutvecklingsföretag med teknikhubbar i Polen.

    Förenade kungariket - Huvudkontor

    • Kontor 303B, 182-184 High Street North E6 2JA
      London, England

    Polen - Lokala tekniknav

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Warszawa, Polen

      Codest

    • Hem
    • Om oss
    • Tjänster
    • Fallstudier
    • Vet hur
    • Karriär
    • Ordbok

      Tjänster

    • Det rådgivande
    • Utveckling av programvara
    • Backend-utveckling
    • Frontend-utveckling
    • Staff Augmentation
    • Backend-utvecklare
    • Ingenjörer inom molntjänster
    • Dataingenjörer
    • Övriga
    • QA-ingenjörer

      Resurser

    • Fakta och myter om att samarbeta med en extern partner för mjukvaruutveckling
    • Från USA till Europa: Varför väljer amerikanska startup-företag att flytta till Europa?
    • Jämförelse av Tech Offshore Development Hubs: Tech Offshore Europa (Polen), ASEAN (Filippinerna), Eurasien (Turkiet)
    • Vilka är de största utmaningarna för CTO:er och CIO:er?
    • Codest
    • Codest
    • Codest
    • Privacy policy
    • Användarvillkor för webbplatsen

    Copyright © 2025 av The Codest. Alla rättigheter reserverade.

    sv_SESwedish
    en_USEnglish de_DEGerman da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek sv_SESwedish