SZUKAMY β-testerów Ścieżki Kariery Programisty AI! Zapisz się TU.

Ś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 parametramils -ails -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 plikcat >> 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 plikcp -r katalog1 katalog2– kopiuje katalogi (parametr-roznacza „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 plikrm -r katalog/– usuwa katalog rekursywnierm -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 zmiennejMYVAR=test– tworzenie zmiennejexport MYVAR– eksport zmiennejunset 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 aliasunalias 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 tekstgrep -r "tekst" katalog/– przeszukaj rekurencyjnie katalogfind . -name "*.py"– znajdź pliki po nazwiefind . -type d– znajdź katalogiwhich 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 liniised -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ępnegocat plik.txt | grep "error"
>– zapis do pliku (nadpisuje)echo "hello" > wynik.txt
>>– dopisanie do plikuecho "world" >> wynik.txt
<– użycie pliku jako wejściesort < dane.txt
Git i Bash – duet idealny
Git działa w terminalu, a Bash to jego naturalne środowisko. Podstawowe komendy:
git clone <url>– klonowanie repozytoriumgit status– status zmiangit add .– dodanie zmian do stage’agit commit -m "komentarz"– zapis commit’agit push– wypchnięcie zmian na zdalne repogit 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. 😉


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.




[…] Robimy notatki (drukujemy cheat sheet z tutoriala o podstawach Basha) […]