Ścieżka Kariery Computer Vision – Miesiąc 1. – Bash od zera

Wstęp

Jesteśmy dziećmi GUI – większość z nas nie zna innych komputerów niż te obsługiwane myszką i touchpadem. Interfejsy graficzne są bardziej przyjazne dla użytkownika, bo większość rzeczy można sobie „wyklikać”. Z tzw. interfejsem wiersza poleceń (ang. Command-Line Interface, CLI) jest trudniej. Jeśli nie wiesz, co napisać, jesteś w kropce. Dlatego większość początkujących devów (i wielu bardziej doświadczonych) unika go jak ognia.

Tymczasem CLI może być bardzo przyjazny, jeśli tylko znasz kilka podstawowych komend i wiesz, jak go poprosić o pomoc. Jedną z najpopularniejszych powłok (czyli nakładek na CLI jest Bash. Oryginalnie wymyślony na Linuxa, ma swój odpowiednik na Maca (zsh do powłoka stworzona przez Apple na podstawie Basha i w praktyce nie ma większej różnicy pomiędzy obiema). Windows oficjalnie ma CommandPrompt i PowerShell, ale większość devów pracujących na Windowsie instaluje aplikację GitBash i używa go jako CLI również tutaj.

Dzięki temu komendy bashowe są uniwersalne i obsługiwane w każdym środowisku.

Co to jest Bash?

Bash to interpreter poleceń i język skryptowy. Pozwala komunikować się z systemem operacyjnym za pomocą tekstowych komend. Jest domyślną powłoką (ang. shell) w większości dystrybucji Linuksa oraz w systemach macOS (do wersji 10.15, po czym został zastąpiony przez zsh ze względów licencyjnych).

Podstawowe operacje w Bashu

Wyświetlanie informacji

Podstawową funkcją terminala jest możliwość szybkiego sprawdzenia informacji o plikach, katalogach i bieżącym stanie systemu. Polecenia w tej sekcji pozwolą ci orientować się w strukturze systemu i lokalizacji twoich danych.

  • echo "tekst" – wypisuje tekst (wydaje się bez sensu nie? Sam_a się zdziwisz, jak często będziesz z tego korzystać!)
  • cat plik.txt – pokazuje zawartość pliku (i o wiele, wiele więcej. „Kota” zdecydowanie zapamiętaj, to mój ulubiony sposób na tworzenia plików w terminalu!)
  • pwd – pokazuje bieżący katalog (kto się nigdy nie zgubił, niech pierwszy rzuci kamieniem!)
  • ls – lista plików i katalogów (ls czyli skrót od list – razem z parametrami ls -a i ls -lato szybki sposób, żeby zorientować się, co jest w danym folderze).

Tworzenie plików i katalogów

Tworzenie nowych plików i folderów to jedna z najczęstszych operacji wykonywanych w terminalu. Poniższe polecenia pozwalają rozpocząć pracę z nową strukturą danych bez potrzeby używania interfejsu graficznego.

  • touch plik.txt – tworzy pusty plik
  • cat >> nazwa_pliku.txt << END (tu wpisz zawartość pliku) END– wygląda dość skomplikowanie, nie? Ale to najfajniejszy sposób na zapisywanie czegokolwiek do pliku już na poziomie terminala. Pomiędzy słowami kluczowymi (u mnie END) można używać entera i innych znaków specjalnych. Wszystko zapisze się tak, jak zostało dodane.
  • mkdir nowy_katalog – tworzy katalog

Przenoszenie i zmiana nazw

Zmienianie nazw i przenoszenie plików między katalogami to podstawowe działania porządkujące dane. Bash umożliwia ich wykonanie szybko i precyzyjnie, nawet w dużych strukturach plików.

  • mv stary.txt nowy.txt – zmiana nazwy pliku (można zrobić to w bardziej rozbudowany sposób i od razu przenieść do innego katalogu)
  • mv plik.txt katalog/ – przeniesienie pliku do katalogu z zachowaniem tej samej nazwy pliku

Kopiowanie

Czasem potrzebujemy zapasowej kopii pliku lub katalogu, by móc eksperymentować bez ryzyka. Komenda cp umożliwia zarówno kopiowanie pojedynczych plików, jak i całych folderów.

  • cp plik.txt kopia.txt – kopiuje plik
  • cp -r katalog1 katalog2 – kopiuje katalogi (parametr -r oznacza „rekurencyjnie” czyli komenda obejmuje też wszystko wewnątrz katalogu)

Usuwanie

Usuwanie plików i katalogów z poziomu terminala może być szybkie, ale też niebezpieczne – nie ma kosza! Uważnie korzystaj z poniższych komend, zwłaszcza z rm -rf, które bez pytania usuwa wszystko (-rf oznacza rekurencyjnie i „z forcem”. Nie bez powodu to właśnie ta komenda ląduje zazwyczaj na koszulkach dla devOpsów!).

  • rm plik.txt – usuwa plik
  • rm -r katalog/ – usuwa katalog rekursywnie
  • rm -rf katalog/ – usuwa bez pytania, siłowo (od ang. force)

Zmienne środowiskowe

Zmienna środowiskowa to dynamicznie przypisana wartość, która może wpływać na zachowanie systemu i aplikacji. Bash pozwala na ich tworzenie, modyfikację i usuwanie, co jest podstawą do automatyzacji i konfiguracji środowiska.

  • echo $HOME – odczyt zmiennej
  • MYVAR=test – tworzenie zmiennej
  • export MYVAR – eksport zmiennej
  • unset MYVAR – usuwanie zmiennej

Pamiętaj, że po wyeksportowaniu zmienna środowiskowa będzie zapamiętana przez system, dopóki jej nie usuniesz. Aby wyświetlić wszystkie zmienne środowiskowe, użyj komendy env lub printenv.

Aliasowanie poleceń

Alias to skrót do dłuższego polecenia – przyspiesza codzienną pracę i pozwala uniknąć literówek. W tej sekcji nauczysz się tworzyć własne aliasy i zarządzać nimi.

  • alias ll="ls -l" – tworzy alias
  • unalias ll – usuwa alias

Zaawansowane operacje w Bashu

Wyszukiwanie i działania rekurencyjne

Bash oferuje potężne narzędzia do przeszukiwania plików i katalogów – zarówno po nazwach, jak i zawartości, również rekurencyjnie. Poniższe polecenia są nieocenione przy pracy w dużych repozytoriach lub systemach plików.

  • grep "tekst" plik.txt – znajdź linie zawierające dany tekst
  • grep -r "tekst" katalog/ – przeszukaj rekurencyjnie katalog
  • find . -name "*.py" – znajdź pliki po nazwie
  • find . -type d – znajdź katalogi
  • which program – pokaż ścieżkę do programu (np. which python)
  • whereis program – znajdź lokalizację pliku binarnego, źródłowego i podręcznika

Przetwarzanie tekstu z komendami awk i sed

Narzędzia awk i sed umożliwiają przetwarzanie tekstu bezpośrednio w terminalu. Można dzięki nim filtrować dane, edytować pliki lub wyciągać konkretne informacje bez otwierania edytora.

  • awk '{print $1}' plik.txt – pokaż pierwszą kolumnę
  • awk '/error/ {print $0}' log.txt – pokaż linie zawierające „error”
  • sed 's/stare/nowe/g' plik.txt – zamień „stare” na „nowe” w każdej linii
  • sed -n '10,20p' plik.txt – wypisz tylko linie od 10 do 20

Filtry i przekierowania

W Bashu można łączyć wiele komend w potok (pipe), przesyłać dane między nimi, zapisywać wyniki do plików lub wczytywać dane z pliku. Te techniki są fundamentem automatyzacji i przetwarzania danych tekstowych.

  • | – przekierowanie wyjścia jednego polecenia do następnego
    • cat plik.txt | grep "error"
  • > – zapis do pliku (nadpisuje)
    • echo "hello" > wynik.txt
  • >> – dopisanie do pliku
    • echo "world" >> wynik.txt
  • < – użycie pliku jako wejście
    • sort < dane.txt

Git i Bash – duet idealny

Git działa w terminalu, a Bash to jego naturalne środowisko. Podstawowe komendy:

  • git clone <url> – klonowanie repozytorium
  • git status – status zmian
  • git add . – dodanie zmian do stage’a
  • git commit -m "komentarz" – zapis commit’a
  • git push – wypchnięcie zmian na zdalne repo
  • git pull – pobranie zmian ze zdalnego repo

Bash + Git = efektywna praca z kodem, historia zmian, automatyzacja (np. przez aliasy, skrypty, hooki). Nawet jeśli na co dzień korzystasz z Git GUI, warto znać kilka podstawowych komend, aby sprawdzić, czy GUI dobrze wypchnęło pliki lub poprawnie domerdżowało zmiany.

Ściągawka z Basha do druku

Specjalnie dla naszych czytelników przygotowaliśmy krótką ściągawkę z podstawowymi komendami do Basha. Wydrukuj sobie i powieś nad biurkiem – przynajmniej do czasu, dopóki ich nie zapamiętasz. Jeśli będziesz pracować w chmurze, większość tych komend będzie Ci niezbędna i będziesz je odmieniać przez wszystkie możliwe przypadki (znaczy się — parametry!). Ale na początek ten cheat sheet powinien wystarczyć.
Infografika jest dostępna w dwóch wersjach – kolorowa i ekonomiczna. Sami zdecydujcie, która lepiej pasuje do wystroju. 😉

git-infografika

Podsumowanie

Nauka Basha to inwestycja, która bardzo szybko się zwraca. W tym artykule poznaliśmy podstawowe komendy, nauczyliśmy się tworzyć, przenosić, usuwać pliki i katalogi, a na koniec dowiedzieliśmy się, jak zarządzać zmiennymi i aliasami. W kolejnym kroku warto nauczyć się pisania prostych skryptów. Dzięki temu terminal przestaje być straszny, a zaczyna być użyteczny.



Co dalej?

Zapisz się do naszego newslettera, żeby nigdy nie przegapić żadnego wartościowego artykułu.

Zajrzyj do sekcji Kariera w AI, gdzie znajdziesz konkretne materiały o zmianach na rynku pracy – w Polsce i na świecie – oraz ścieżkach kariery związanych ze sztuczną inteligencją (nie tylko jako programista!).

→ A jeśli chcesz pisać modele i pracować jako Architekt AI, ale nie wiesz, od czego zacząć (lub utknąłeś gdzieś na ścieżce), odwiedź dział Nauka AI – czeka tam wiedza, ciekawostki i realne wsparcie.


! Uwaga

Niniejszy ebook ma charakter informacyjny i edukacyjny. Nie stanowi porady prawnej ani oferty pracy w rozumieniu przepisów krajowych lub unijnych.
Przy tworzeniu niniejszego artykułu korzystano ze wsparcia narzędzi opartych na sztucznej inteligencji – m.in. w zakresie porządkowania treści, analizy źródeł, przyspieszenia redakcji i wyszukiwania źródeł Jednak wszelkie decyzje dotycząca treści, interpretacji i ostatecznej formy zostały podjęte przez człowieka.

Podziel się swoją opinią

Jeden komentarz

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *