Terminal/Command Line dla programistów

TL;DR: Terminal to potężne narzędzie które pozwala kontrolować komputer za pomocą komend tekstowych. Każdy programista powinien znać podstawy: ls/dir (lista plików), cd (zmiana katalogu), mkdir (tworzenie folderów) i cp/mv (kopiowanie/przenoszenie).

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.

Terminal może wydawać się straszny na początku, ale to tylko kwestia przyzwyczajenia. Po tygodniu używania nie będziesz chciał wracać do klikania.

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
Wymagania wstępne: Podstawowa znajomość komputera, umiejętność korzystania z folderów i plików w eksploratorze, chęć nauki nowego sposobu pracy.

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.

Command Line Interface (CLI) – sposób interakcji z komputerem poprzez wpisywanie komend tekstowych zamiast klikania przycisków i ikon.
Terminal to jak SMS – piszesz krótką wiadomość (komendę) i dostajesz odpowiedź. GUI (graficzny interfejs) to jak rozmowa telefoniczna – dużo gestykulacji ale czasem wolniejsza komunikacja.

Różnice między systemami

SystemNazwaJak otworzyć
WindowsCommand Prompt (cmd)Windows + R → „cmd”
MacTerminalSpotlight → „Terminal”
LinuxTerminal/ShellCtrl + Alt + T

Pierwsze kroki – otwieranie terminala

Windows – Command Prompt

  1. Naciśnij Windows + R
  2. Wpisz cmd i naciśnij Enter
  3. Zobaczysz czarne okno z promptem typu C:\Users\TwojeImie>

Mac – Terminal

  1. Naciśnij Cmd + Spacja (Spotlight)
  2. Wpisz „Terminal” i naciśnij Enter
  3. Zobaczysz okno z promptem typu MacBook:~ username$

Linux – Terminal

  1. Naciśnij Ctrl + Alt + T
  2. Lub znajdź „Terminal” w menu aplikacji
  3. Prompt wygląda podobnie jak na Mac: username@hostname:~$
Pro tip: Na Windows polecam zainstalować Git Bash – daje ci Linux-style commands na Windows. Więcej programistów używa tych komend niż natywnych Windows.

Podstawowe komendy – nawigacja

Gdzie jestem? (sprawdzanie lokalizacji)

WindowsMac/LinuxCo robi
cdpwdPokazuje current directory (gdzie jesteś)
dirlsLista plików i folderów
dir /wls -laSzczegół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

Pułapka: Spacje w nazwach folderów mogą sprawiać problemy. Używaj cudzysłowów: cd „My Documents” lub escapuj spacje: cd My\ Documents

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

ZadanieWindowsMac/Linux
Kopiowanie plikucopy file.txt backup.txtcp file.txt backup.txt
Kopiowanie folderuxcopy /E source destcp -r source dest
Przenoszenie/zmiana nazwymove old.txt new.txtmv old.txt new.txt
Usuwanie plikudel file.txtrm file.txt
Usuwanie folderurmdir /S folderrm -rf folder
Uwaga: Komenda rm -rf folder na Mac/Linux usuwa folder bez możliwości odzyskania! Nie ma „kosza” w terminalu. Zawsze sprawdź dwukrotnie co usuwasz.

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ótWindowsMac/LinuxCo robi
Historia komend↑/↓↑/↓Przeglądanie poprzednich komend
AutocompleteTabTabDokończenie nazwy pliku/folderu
Czyszczenie ekranuclsclear (Ctrl+L)Czyści terminal
Anulowanie komendyCtrl+CCtrl+CPrzerywa wykonywanie
Koniec liniiEndCtrl+EKursor na koniec linii
Początek liniiHomeCtrl+AKursor na początek linii
Pro tip: Tab autocomplete to twój najlepszy przyjaciel. Zacznij pisać nazwę pliku i naciśnij Tab – terminal dokończy za ciebie. Oszczędza masę czasu i redukuje błędy.

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
Czy muszę uczyć się wszystkich komend na raz?

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.

Windows czy Linux commands – które uczyć się?

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.

Co zrobić gdy komenda „nie istnieje”?

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ę.

Jak cofnąć błędnie wykonaną komendę?

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.

Jak zapamiętać wszystkie komendy?

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:

  1. Utwórz folder „my-first-project”
  2. Wejdź do folderu i stwórz podfoldery: src, test, docs
  3. W folderze src stwórz plik „Main.java”
  4. Skopiuj Main.java do folderu test jako „MainTest.java”
  5. 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?

Zostaw komentarz

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

Przewijanie do góry