Dlaczego każdy programista musi znać terminal?
Klikanie myszką w folderach to jak chodzenie pieszo gdy możesz jeździć samochodem. Terminal pozwala wykonywać zadania w sekundach zamiast minut, automatyzować powtarzalne czynności i kontrolować narzędzia developerskie. Większość profesjonalnych narzędzi (Git, Maven, npm) działa właśnie z command line.
Co się nauczysz:
- Jak otwierać terminal na różnych systemach operacyjnych
- Podstawowe komendy do nawigacji po systemie plików
- Tworzenie, kopiowanie i usuwanie plików i folderów
- Uruchamianie programów z command line
- Podstawy automatyzacji z prostymi skryptami
Czym jest terminal/command line?
Terminal to aplikacja która pozwala „rozmawiać” z komputerem za pomocą komend tekstowych. Zamiast klikać na ikonki, wpisujesz co chcesz zrobić i naciskasz Enter.
Różnice między systemami
System | Nazwa | Jak otworzyć |
---|---|---|
Windows | Command Prompt (cmd) | Windows + R → „cmd” |
Mac | Terminal | Spotlight → „Terminal” |
Linux | Terminal/Shell | Ctrl + Alt + T |
Pierwsze kroki – otwieranie terminala
Windows – Command Prompt
- Naciśnij Windows + R
- Wpisz cmd i naciśnij Enter
- Zobaczysz czarne okno z promptem typu C:\Users\TwojeImie>
Mac – Terminal
- Naciśnij Cmd + Spacja (Spotlight)
- Wpisz „Terminal” i naciśnij Enter
- Zobaczysz okno z promptem typu MacBook:~ username$
Linux – Terminal
- Naciśnij Ctrl + Alt + T
- Lub znajdź „Terminal” w menu aplikacji
- Prompt wygląda podobnie jak na Mac: username@hostname:~$
Podstawowe komendy – nawigacja
Gdzie jestem? (sprawdzanie lokalizacji)
Windows | Mac/Linux | Co robi |
---|---|---|
cd | pwd | Pokazuje current directory (gdzie jesteś) |
dir | ls | Lista plików i folderów |
dir /w | ls -la | Szczegółowa lista z ukrytymi plikami |
Poruszanie się po folderach
# Wejście do folderu cd Documents # Windows/Mac/Linux cd /home/user # Linux - absolute path cd C:\Users\John # Windows - absolute path # Powrót do folderu wyżej cd .. # Jeden poziom wyżej cd ../.. # Dwa poziomy wyżej # Szybkie skróty cd ~ # Mac/Linux - home directory cd / # Mac/Linux - root directory cd \ # Windows - root directory
Zarządzanie plikami i folderami
Tworzenie folderów i plików
# Tworzenie foldera mkdir my-project # Windows/Mac/Linux mkdir "My New Project" # Z spacjami w nazwie # Tworzenie pustego pliku touch readme.txt # Mac/Linux echo. > readme.txt # Windows type nul > readme.txt # Windows (alternatywa) # Tworzenie pliku z zawartością echo "Hello World" > hello.txt # Windows/Mac/Linux
Kopiowanie i przenoszenie
Zadanie | Windows | Mac/Linux |
---|---|---|
Kopiowanie pliku | copy file.txt backup.txt | cp file.txt backup.txt |
Kopiowanie folderu | xcopy /E source dest | cp -r source dest |
Przenoszenie/zmiana nazwy | move old.txt new.txt | mv old.txt new.txt |
Usuwanie pliku | del file.txt | rm file.txt |
Usuwanie folderu | rmdir /S folder | rm -rf folder |
Praca z programami
Uruchamianie programów
# Uruchamianie prostych programów notepad # Windows - otwiera notatnik nano file.txt # Mac/Linux - edytor tekstowy vim file.txt # Mac/Linux - zaawansowany edytor # Programy z parametrami java -version # Sprawdza wersję Java javac MyProgram.java # Kompiluje program Java java MyProgram # Uruchamia skompilowany program # Programy w tle (non-blocking) notepad & # Linux/Mac - uruchamia w tle start notepad # Windows - uruchamia w nowym oknie
Przydatne komendy dla programistów
# Sprawdzanie wersji narzędzi java -version javac -version git --version npm --version # Znajdowanie plików find . -name "*.java" # Mac/Linux - znajdź pliki .java dir *.java /s # Windows - znajdź pliki .java # Wyświetlanie zawartości pliku cat file.txt # Mac/Linux - cały plik type file.txt # Windows - cały plik head -10 file.txt # Mac/Linux - pierwsze 10 linii tail -10 file.txt # Mac/Linux - ostatnie 10 linii
Przydatne skróty klawiszowe
Skrót | Windows | Mac/Linux | Co robi |
---|---|---|---|
Historia komend | ↑/↓ | ↑/↓ | Przeglądanie poprzednich komend |
Autocomplete | Tab | Tab | Dokończenie nazwy pliku/folderu |
Czyszczenie ekranu | cls | clear (Ctrl+L) | Czyści terminal |
Anulowanie komendy | Ctrl+C | Ctrl+C | Przerywa wykonywanie |
Koniec linii | End | Ctrl+E | Kursor na koniec linii |
Początek linii | Home | Ctrl+A | Kursor na początek linii |
Pierwsze skrypty – automatyzacja
Windows – plik .bat
Stwórz plik build.bat:
@echo off echo Kompilowanie aplikacji... javac *.java echo Uruchamianie testów... java MyProgram echo Gotowe! pause
Mac/Linux – plik .sh
Stwórz plik build.sh:
#!/bin/bash echo "Kompilowanie aplikacji..." javac *.java echo "Uruchamianie testów..." java MyProgram echo "Gotowe!"
Nadaj uprawnienia i uruchom:
chmod +x build.sh ./build.sh
Nie! Zacznij od podstawowych: cd, ls/dir, mkdir. Używaj ich codziennie przez tydzień, potem dodaj kolejne. Naucz się 5-6 komend naprawdę dobrze zamiast 50 słabo.
Jeśli pracujesz na Windows, zainstaluj Git Bash i ucz się Linux commands (ls, cp, mv). Są bardziej uniwersalne i używane przez większość programistów na świecie.
Sprawdź czy program jest zainstalowany i dodany do PATH. Na Windows często trzeba dodać ścieżkę do zmiennych środowiskowych. Użyj „where” (Windows) lub „which” (Mac/Linux) żeby sprawdzić lokalizację.
W większości przypadków nie można. Dlatego zawsze sprawdzaj co robisz, szczególnie z komendami usuwania (rm, del). Rób backup ważnych plików przed eksperymentowaniem.
Nie musisz! Używaj history (↑/↓ strzałki) do przeglądania poprzednich komend. Stwórz sobie „cheat sheet” z najczęściej używanymi komendami i trzymaj pod ręką.
🚀 Zadanie dla Ciebie
Stwórz strukturę projektu używając tylko terminala:
- Utwórz folder „my-first-project”
- Wejdź do folderu i stwórz podfoldery: src, test, docs
- W folderze src stwórz plik „Main.java”
- Skopiuj Main.java do folderu test jako „MainTest.java”
- Wyświetl strukturę całego projektu
Wykonaj całe zadanie bez użycia eksploratora plików – tylko terminal!
Przydatne zasoby:
Czy używasz już terminala w codziennej pracy? Które komendy uważasz za najbardziej przydatne dla początkujących programistów?