Przejdź do treści

Shell (powłoka)

Definicja

Shell (powłoka) to program, który przyjmuje polecenia wpisane tekstem i każe komputerowi je wykonać. Zamiast klikać w okienka, piszesz, co ma się stać, i naciskasz Enter.

Terminal a shell

To dwie różne rzeczy, choć często mówi się o nich zamiennie:

  • terminal to okno, w którym piszesz (na Macu aplikacja Terminal albo iTerm),
  • shell to program w tym oknie, który rozumie polecenia i je wykonuje (na Macu domyślnie zsh).

Terminal to słuchawka telefonu, a shell to osoba po drugiej stronie, która słucha i wykonuje polecenia.

Co to w zasadzie jest?

  • Tekstowy panel sterowania komputerem.
  • Przykładowe polecenia:
    • pmset -g batt pokazuje stan baterii,
    • df -h / pokazuje wolne miejsce na dysku,
    • cd ~/Dokumenty przechodzi do katalogu.
  • To samo da się często wyklikać, ale polecenie jest szybsze, dokładniejsze i działa tak samo za każdym razem.
  • Skrypt to zapisana lista poleceń shella, którą komputer może wykonać automatycznie, np. co 6 godzin.

Dlaczego to ważne w pracy z AI

  • Agenci AI pracują przez shell. Gdy agent kodujący „uruchamia komendę”, wpisuje polecenie do shella na Twoim komputerze lub w chmurze.
  • Shell ma takie uprawnienia jak Ty. Może czytać, zmieniać i kasować Twoje pliki. Dlatego dobre narzędzia pytają o zgodę przed poleceniami, które coś zmieniają.
  • sudo oznacza „jako administrator”. Polecenia z sudo zmieniają ustawienia całego systemu i wymagają hasła.

Praktyczne zastosowania (konkretne scenariusze)

Scenariusz 1: Agent kodujący porządkuje pliki

  • Cel: zebranie raportów z kilku folderów w jeden.
  • Wejście: opis zadania dla agenta.
  • Kroki: agent proponuje polecenia shella → człowiek zatwierdza → agent wykonuje i pokazuje wynik.
  • Rezultat: pliki w jednym miejscu, bez ręcznego kopiowania.
  • Zabezpieczenie: zgoda człowieka przed każdym poleceniem, które przenosi lub kasuje pliki.

Scenariusz 2: Sprawdzenie stanu komputera

  • Cel: szybka diagnoza, np. przed zostawieniem komputera na kilka dni.
  • Wejście: kilka poleceń diagnostycznych.
  • Kroki: sprawdź baterię, dysk i działające procesy.
  • Rezultat: pełny obraz w minutę.
  • Zabezpieczenie: polecenia tylko do odczytu, bez sudo.

Typowe błędy i pułapki

  • Wklejanie do terminala poleceń z internetu, których się nie rozumie, zwłaszcza z sudo.
  • Polecenie rm kasuje pliki od razu, bez kosza.
  • Zgoda „zawsze zezwalaj” na wszystkie polecenia agenta.

Ryzyka i jak je ograniczać

Ryzyko 1: Utrata danych

  • Ryzyko: polecenie kasuje lub nadpisuje pliki.
  • Jak ograniczać: kopia zapasowa, kontrola wersji, zgoda przed poleceniami zmieniającymi pliki.

Ryzyko 2: Przejęcie agenta

  • Ryzyko: agent z dostępem do shella wykonuje polecenie ukryte w czytanej treści.
  • Jak ograniczać: ograniczone uprawnienia, praca w izolowanym środowisku (sandboxing), ocena przez zabójczą trójkę.

Checklista “zanim użyjesz”

  • Czy rozumiesz, co robi polecenie?
  • Czy zmienia albo kasuje pliki?
  • Czy wymaga sudo?
  • Czy agent pyta o zgodę przed poleceniami, które coś zmieniają?
  • Jeśli coś utknęło: Ctrl+C przerywa bieżące polecenie.

Diagram

flowchart LR
    A[Człowiek lub agent]
    B[Terminal]
    C[Shell]
    D[System operacyjny]
    E[Pliki i programy]
    A --> B --> C --> D --> E

Diagram pokazuje, że polecenie wpisane w terminalu trafia do shella, który przekazuje je systemowi operacyjnemu, a ten działa na plikach i programach.

Dalsza lektura

Miejsce w mapie

Powiązane hasła