window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster już istnieje') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() Programowanie w Ruby. Terminal dla początkujących - część 2 - The Codest
The Codest
  • O nas
  • Nasze Usługi
    • Software Development
      • Frontend Development
      • Backend Development
    • Zespoły IT
      • Programiści frontendowi
      • Backend Dev
      • Inżynierowie danych
      • Inżynierowie rozwiązań chmurowych
      • Inżynierowie QA
      • Inne
    • Konsultacje IT
      • Audyt i doradztwo
  • Branże
    • Fintech i bankowość
    • E-commerce
    • Adtech
    • Healthtech
    • Produkcja
    • Logistyka
    • Motoryzacja
    • IOT
  • Wartość dla
    • CEO
    • CTO
    • Delivery Managera
  • Nasz zespół
  • Case Studies
  • Nasze Know How
    • Blog
    • Meetups
    • Webinary
    • Raporty
Kariera Skontaktuj się z nami
  • O nas
  • Nasze Usługi
    • Software Development
      • Frontend Development
      • Backend Development
    • Zespoły IT
      • Programiści frontendowi
      • Backend Dev
      • Inżynierowie danych
      • Inżynierowie rozwiązań chmurowych
      • Inżynierowie QA
      • Inne
    • Konsultacje IT
      • Audyt i doradztwo
  • Wartość dla
    • CEO
    • CTO
    • Delivery Managera
  • Nasz zespół
  • Case Studies
  • Nasze Know How
    • Blog
    • Meetups
    • Webinary
    • Raporty
Kariera Skontaktuj się z nami
Strzałka w tył WSTECZ
2020-04-21
Software Development

Programowanie w Ruby. Terminal dla początkujących - część 2

The Codest

Damian Watroba

Software Engineer

Cześć! Tym razem przygotowaliśmy kolejny zestaw przydatnych poleceń, które pomogą ci zapoznać się z korzystaniem z terminala. Pierwszą część poradnika można znaleźć tutaj: Terminal dla początkujących - część 1.

Terminal - Teoria

Gdzie jestem?

data - Jeśli mamy taką potrzebę i chęć, możemy sprawdzić aktualną datę w terminalu.

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

Dołączanie i umieszczanie na liście

kot (concatenate) - to polecenie ma wiele zastosowań, ale najpopularniejszym z nich jest wyświetlanie zawartości plików.

W poniższym przykładzie widać dwa pliki - ruby_1.txt i ruby_2.txt - wraz z ich zawartością. The cat [nazwa pliku] pokazuje zawartość pojedynczego pliku, podczas gdy polecenie cat [nazwa pliku 1] [nazwa pliku 2] wyświetla zawartość obu plików we właściwej kolejności.

Terminal-1

Jest jeszcze jedna rzecz, którą możemy zrobić z kot polecenie - przekierowanie standardowego wyjścia do nowego pliku przy użyciu polecenia > sign. Oznacza to, że zawartość wyświetlana na ekranie zostanie przekierowana do zadeklarowanego pliku. Jeśli wskazany plik nie istnieje we wskazanej lokalizacji, zostanie on utworzony automatycznie.

Terminal 2

Co my tu mamy?

ps (status procesu) - wypisuje podstawowe informacje o procesach w systemie. Polecenie to można porównać do Menedżera zadań systemu Windows, w którym dostępna jest lista wszystkich uruchomionych aplikacji i procesów. Każda aplikacja, program lub uruchomione polecenie staje się procesem z unikalnym identyfikatorem, tak zwanym PID (Process IDentifier).

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

Jak widać ps nie pokazało nam zbyt wiele. Aby sprawdzić wszystkie aktywne procesy, będziemy musieli wywołać ps z pomocniczy argument.

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

zabić - Czasami aplikacja lub program przestaje odpowiadać. Jest to sytuacja, w której zabić przydaje się polecenie. Do zabić proces, wszystko, co musisz zrobić, to ukończyć zabić z jego PID.

Jak znaleźć PID tego procesu? Najlepiej użyć wcześniej wspomnianego ps aux polecenie. Może się zdarzyć, że zabić nie wystarczy, ponieważ proces czeka na zakończenie innego zależnego procesu. Dlatego, zabić jest również często używany z -9 opcja. Oznacza ona natychmiastowe zakończenie uruchomionego procesu, więc przed użyciem tej opcji należy upewnić się, że wszystkie ważne zmiany zostały zapisane. Przyjrzyjmy się przykładowi takiego polecenia:

damian@rubydev:~$ kill -9 1234

Echo!

echo - jest to polecenie, które zwraca powierzony mu tekst. Podobnie jak w przypadku kotmożna skierować wprowadzony tekst do pliku za pomocą funkcji echo polecenie.

Terminal-3

Może to być przydatne

Gdy chcemy wyświetlić historię wprowadzonych wcześniej poleceń, możemy skorzystać z funkcji historia polecenie.

Jeśli chcesz wyczyścić okno terminala, potrzebujesz polecenia czysty polecenie.

The wyjście jak sama nazwa wskazuje, zamyka terminal lub aktualnie otwartą kartę.

Początek i koniec

The głowa wyświetla początek pliku lub standardowego wyjścia. Domyślną wartością jest pierwsze dziesięć linii. Można ją dostosować za pomocą polecenia -n opcja, w której można umieścić dowolną liczbę całkowitą pod n. Aby lepiej to zilustrować, posłużę się przykładem.

Będziemy potrzebować pliku tekstowego. Użyjmy już wspomnianego historia i polecenie przekierowania > charakter.

damian@rubydev:~$ history > history.txt

W ten sposób utworzony został plik z całą historią poleceń. Następnie, używając head -15 history.txtmożliwe jest wyświetlenie pierwszych piętnastu poleceń wprowadzonych do terminala.

Terminal-4

Podobnie ogon pokaże nam ostatnie linie wybranego pliku.

Terminal-5

Wyszukiwanie

grep (globalne drukowanie wyrażeń regularnych) służy do wyszukiwania w tekście ciągu pasującego do podanego wyrażenia regularnego (RegExp). Jest ona bardzo często używana do znajdowania określonego wyrażenia w pliku lub "filtrowania" zwracanych danych wyjściowych. W tym celu użyjmy wcześniej utworzonego wyrażenia regularnego history.txt i sprawdzić, jak często ps polecenie było używane do tej pory:

damian@rubydev:~$ grep ps history.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 --help
   95 man ps
   96 ps -h
   98 ps --help
   99 ps -ejH
  100 ps aux
  101 man ps
  102 ps -aux
  103 ps aux
  109 history | grep ps
  113 echo "lorem ipsum rubydev" > rubydev.rb

Jak widać, grep znaleziono również słowa zawierające frazę ps. Wyrażenie użyte w naszym przykładzie to ps tylko. Planuję napisać osobny artykuł na temat wyrażeń regularnych, ale na razie zachęcam do samodzielnego zgłębienia tematu. W tej chwili wystarczy podstawowa wiedza.

Łączenie poleceń

| (pipe) to symbol, który pozwala nam łączyć kilka poleceń (procesów) i uruchamiać je w tym samym czasie. W szczególności, możemy połączyć wyjście (stdout) jednego polecenia z wejściem (stdin) drugiego. Jest to bardzo przydatna funkcja.

POLECENIE_A | POLECENIE_B
POLECENIE_A | POLECENIE_B | POLECENIE_C

Na przykład:

historia | grep ps

Wyjście (stdout) aplikacji historia polecenie będzie przeszukiwane przez grep i zwróci wszystkie ciągi znaków z dopasowaniem ps wyrażenie.

historia | ogon -5

W tym przypadku użycie ogon za pomocą polecenia -5 wyświetli pięć ostatnich wierszy wyjścia (stdout) programu historia polecenie.

Ta kombinacja jest szczególnie przydatna podczas wyszukiwania PID procesu, który ma zostać zakończony. Należy pamiętać, że uruchomienie funkcji grep polecenie również utworzy proces, więc zwykle będzie widoczny PID procesu grep w ostatnim wierszu.

Terminal-6

Dostęp do plików i katalogów

Zanim przejdziemy do polecenia zmieniającego typ zezwoleń dostępu, warto wspomnieć, że każdy system operacyjny posiada tzw. prawa dostępu. Oznacza to, że każdy katalog lub plik zawiera metadane o tym, kto ma do niego dostęp. Pierwsza kolumna poniższego "wyjścia" mówi nam o tym wszystkim (informacje wyjściowe wyświetlane w oknie terminala):

historia | ogon -5

Dostęp do plików i katalogów jest definiowany przez trzy komponenty. Pierwszy z nich (user) oznacza pojedynczego użytkownika, drugi (group) oznacza grupę, podczas gdy trzeci (other) odnosi się do wszystkich innych użytkowników.

d - określa, czy jest to katalog czy plik (d - katalog, f - plik)

rwx - prawa użytkownika

r-x - uprawnienia dla grupy

r-x - autoryzowane dla wszystkich innych użytkowników

Dla uproszczenia można podzielić go na trzy części:

Przejdźmy teraz do samego znaczenia tych praw:

r (read) - umożliwia odczytanie zawartości

w (zapis) - umożliwia modyfikowanie zawartości

x (wykonaj) - umożliwia wykonanie pliku lub otwarcie katalogu.

Uprawnienia do plików lub katalogów można zmienić za pomocą funkcji chmod (tryb zmiany). Najprostszym sposobem zmiany uprawnień jest użycie wbudowanego systemu i podanie numeru uprawnienia dla użytkownika, grupy i innych.

Terminal-7

Aby zastosować tę wiedzę w praktyce, zmieńmy uprawnienia dla wcześniej wymienionych wideo dla grup i innych użytkowników - zabierz wszystkie uprawnienia dla tych dwóch, ale pozostaw pełne zezwolenie tylko dla pojedynczego użytkownika. Zgodnie z powyższą tabelą, "brak uprawnień" jest oznaczony liczbą 0. Natychmiast po chmod należy wstawić trzy cyfry, z których każda określa uprawnienia dla danej kategorii (użytkownik - grupa - inni). Na końcu należy podać nazwę pliku lub katalogu. Polecenie powinno wyglądać następująco:

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

Podsumowanie

Istnieje cały rój innych poleceń, a najłatwiejszym sposobem na opanowanie ich wszystkich jest ćwiczenie rozwiązywania konkretnych problemów. Jeśli chcesz dowiedzieć się o nich więcej, Polecam kieszonkowy leksykon poleceń Linuksa. Moim zdaniem jest to przyjemny sposób na zabicie czasu w transporcie publicznym.

Czytaj więcej:

– E-commerce: Nowy stan gry 2020 (raport)

- Shopify, Spree czy Solidus? Sprawdź, dlaczego Ruby on Rails może pomóc Ci rozwinąć Twój e-commerce

– Funkcje Vuex, które powinieneś znać, jeśli naprawdę zależy Ci na swoim sklepie

Powiązane artykuły

Software Development

Tworzenie przyszłościowych aplikacji internetowych: spostrzeżenia zespołu ekspertów The Codest

Odkryj, w jaki sposób The Codest wyróżnia się w tworzeniu skalowalnych, interaktywnych aplikacji internetowych przy użyciu najnowocześniejszych technologii, zapewniając płynne doświadczenia użytkowników na wszystkich platformach. Dowiedz się, w jaki sposób nasza wiedza napędza transformację cyfrową i biznes...

THEECODEST
Software Development

10 najlepszych firm tworzących oprogramowanie na Łotwie

Dowiedz się więcej o najlepszych łotewskich firmach programistycznych i ich innowacyjnych rozwiązaniach w naszym najnowszym artykule. Odkryj, w jaki sposób ci liderzy technologiczni mogą pomóc w rozwoju Twojej firmy.

thecodest
Rozwiązania dla przedsiębiorstw i scaleupów

Podstawy tworzenia oprogramowania Java: Przewodnik po skutecznym outsourcingu

Zapoznaj się z tym niezbędnym przewodnikiem na temat skutecznego tworzenia oprogramowania Java outsourcing, aby zwiększyć wydajność, uzyskać dostęp do wiedzy specjalistycznej i osiągnąć sukces projektu z The Codest.

thecodest
Software Development

Kompletny przewodnik po outsourcingu w Polsce

Wzrost liczby outsourcing w Polsce jest napędzany przez postęp gospodarczy, edukacyjny i technologiczny, sprzyjający rozwojowi IT i przyjazny klimat dla biznesu.

TheCodest
Rozwiązania dla przedsiębiorstw i scaleupów

Kompletny przewodnik po narzędziach i technikach audytu IT

Audyty IT zapewniają bezpieczne, wydajne i zgodne z przepisami systemy. Dowiedz się więcej o ich znaczeniu, czytając cały artykuł.

The Codest
Jakub Jakubowicz CTO & Współzałożyciel

Subskrybuj naszą bazę wiedzy i bądź na bieżąco!

    O nas

    The Codest - Międzynarodowa firma programistyczna z centrami technologicznymi w Polsce.

    Wielka Brytania - siedziba główna

    • Office 303B, 182-184 High Street North E6 2JA
      Londyn, Anglia

    Polska - lokalne centra technologiczne

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

      The Codest

    • Strona główna
    • O nas
    • Nasze Usługi
    • Case Studies
    • Nasze Know How
    • Kariera
    • Słownik

      Nasze Usługi

    • Konsultacje IT
    • Software Development
    • Backend Development
    • Frontend Development
    • Zespoły IT
    • Backend Dev
    • Inżynierowie rozwiązań chmurowych
    • Inżynierowie danych
    • Inne
    • Inżynierowie QA

      Raporty

    • Fakty i mity na temat współpracy z zewnętrznym partnerem programistycznym
    • Z USA do Europy: Dlaczego amerykańskie startupy decydują się na relokację do Europy?
    • Porównanie centrów rozwoju Tech Offshore: Tech Offshore Europa (Polska), ASEAN (Filipiny), Eurazja (Turcja)
    • Jakie są największe wyzwania CTO i CIO?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Warunki korzystania z witryny

    Copyright © 2025 by The Codest. Wszelkie prawa zastrzeżone.

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