Wszystkie wpisy

Terminal na sterydach czyli jak przestać wpisywać w kółko to samo dzięki aliasom

Czy kiedyś miałeś okazję być zmęczony wpisywaniem tych samych długich komend? Jeśli tak to trafiłeś w dobre miejsce. Poznaj potęgę aliasów i własnych funkcji w terminalu. Pozwoli Ci to na zaoszczędzenie czasu oraz uniknięcie niepotrzebnych literówek i frustracji.


1. Co to jest alias? #

Alias to Twój własny, krótki skrót przypisany do długiego, skomplikowanego polecenia w terminalu. Powstał po to, aby oszczędzać czas programistów, drastycznie zmniejszyć liczbę znaków wpisywanych każdego dnia na klawiaturze i wyeliminować frustrujące literówki w powtarzalnych komendach.

2. Gdzie wprowadzić nasze ustawienia? #

Każdy terminal posiada swój plik tekstowy, który odpala się w tle przy każdym włączeniu okienka. Taki plik istnieje po to, żebyś nie musiał codziennie uczyć komputera swoich nawyków od zera. Raz wpisujesz tam swoje ulubione ustawienia, a system ładuje je automatycznie.

W zależności od systemu pliki te nazywają się inaczej. Aby się do nich dostać, wystarczy wywołać prostą komendę:

# macOS (domyślny Zsh):
nano ~/.zshrc

# Linux, WSL oraz Git Bash na Windowsie (Bash):
nano ~/.bashrc
# Windows PowerShell (ta komenda utworzy plik, jeśli go nie ma, i otworzy w Notatniku):
if (!(Test-Path $PROFILE)) { New-Item -Type File -Path $PROFILE -Force }
notepad $PROFILE

Należy uważać na pewien szczegół. Na Windowsie samo stworzenie i zapisanie profilu nic nie da, póki raz nie odblokujesz skryptów (wpisując w konsoli Set-ExecutionPolicy RemoteSigned w trybie administratora). Z kolei na systemach typu Unix (Mac, Linux) musisz pamiętać o kropce na samym początku nazwy pliku. Bez niej stworzysz zwykły, widoczny plik tekstowy, co zupełnie odróżnia go od wymaganego, ukrytego pliku konfiguracyjnego, z którego terminal faktycznie potrafi czytać..

3. Przegląd ciekawych skrótów (Git, nawigacja i narzędzia Dev) #

Kiedy już masz otwarty plik, możesz zacząć tworzyć swoje osobiste mini-komendy. Aliasy istnieją głównie po to, aby oszczędzać Twój czas i odciążyć palce od rutynowej roboty. Wpisywanie pełnego git status sto razy dziennie jest zwyczajnie męczące, a wystarczy mała literówka, by polecenie nie zadziałało. Zamiast tego, dopisujesz na dole pliku proste reguły:

Wersja dla Mac / Linux / Git Bash: #

# Szybka nawigacja i bezpieczeństwo
alias ..='cd ..'           # Powrót wyżej bez klepania spacji
alias ll='ls -alF'         # Piękna, czytelna lista plików zamiast bałaganu
alias rm='rm -i'           # Terminal zapyta, czy na pewno usunąć dany plik

# Niezbędnik programisty (Git, Docker, Node)
alias gs='git status'
alias gc='git commit -m'
alias gp='git push'
alias dcu='docker compose up -d'
alias dcd='docker compose down'
alias nrd='npm run dev'

Z perspektywy Linuxa i Maca (Bash/Zsh) system po prostu “dokleja” to, co wpiszesz dalej, do Twojego skrótu. Dzięki temu po wpisaniu gc “opis commita” wszystko zadziała od ręki.

Ta wygoda mocno odróżnia systemy uniksowe od Windowsowego PowerShella, gdzie klasyczne aliasy są tak ograniczone, że musisz zaprogramować pełnoprawną funkcję, aby przekazać swój komentarz dalej za pomocą zmiennej $args:

Wersja dla Windows PowerShell: #

# Odpowiedniki w PowerShellu dodawane do pliku $PROFILE:
function .. { Set-Location .. }
function ll { Get-ChildItem -Force }
function rm-safe { Remove-Item -Confirm $args }

# Git i Docker
function gs { git status }
function gc { git commit -m "$args" }
function gp { git push }
function dcu { docker compose up -d }
function dcd { docker compose down }
function nrd { npm run dev }

4. Funkcje z logiką #

Zwykłe aliasy są świetne, ale co, jeśli chcesz wykonać dwie komendy naraz i wstawić nazwę folderu w środek? Od tego są funkcje powłoki.

Idealnym przykładem jest polecenie mkcd. Standardowo, by stworzyć projekt, wpisujesz mkdir nowy_projekt, a potem cd nowy_projekt. Dzięki funkcji zrobisz to jednym słowem:

# Dodaj to do ~/.bashrc lub ~/.zshrc (Mac/Linux):
mkcd() {
    mkdir -p "$1"
    cd "$1"
}
# Użycie: mkcd nazwa_mojego_projektu
# Odpowiednik dla Windows PowerShell (do $PROFILE):
function mkcd {
    param([string]$path)
    New-Item -ItemType Directory -Path $path -Force | Out-Null
    Set-Location $path
}

5. Przeładowanie zmian #

Gdy zedytujesz i zapiszesz swój plik z aliasami, Twój aktualnie otwarty terminal nadal nic o nich nie wie, bo działa na ustawieniach wczytanych przy starcie. Komenda source (lub kropka w PowerShellu) istnieje po to, by nie musieć bezsensownie zamykać okienka i otwierać go na nowo, po prostu każesz terminalowi odświeżyć pamięć na żywo.

# Linux / WSL / Git Bash:
source ~/.bashrc

# macOS:
source ~/.zshrc

# Windows PowerShell:
. $PROFILE

Wskazówka: Dodaj sobie od razu alias alias reload=‘source ~/.bashrc’, aby w przyszłości przeładowywać terminal wpisując tylko jedno słowo!