1. Co to jest alias w Linuxie?
Alias to mechanizm powłoki (bash, zsh itp.), który pozwala zastąpić krótką nazwę dłuższą komendą lub zestawem komend. Dzięki temu:
- 1. Co to jest alias w Linuxie?
- 2. Jak sprawdzić istniejące aliasy?
- 3. Tymczasowe aliasy (na czas jednej sesji)
- 4. Stałe aliasy (dostępne po każdym zalogowaniu)
- 5. Usuwanie aliasów
- 6. Złożone aliasy – kilka komend naraz
- 7. Alias vs funkcja powłoki – kiedy co stosować?
- 8. Co to jest funkcja powłoki?
- 9. Tworzenie prostych funkcji powłoki
- 10. Funkcje powłoki na stałe (w .bashrc lub osobnym pliku)
- 11. Praktyczne przykłady aliasów i funkcji
- 12. Dobre praktyki przy tworzeniu aliasów i funkcji
- 13. Diagnostyka – dlaczego alias/funkcja nie działa?
- 14. Podsumowanie praktyczne – szybki „starter pack”
- skracasz żmudne wpisywanie długich poleceń,
- dodajesz domyślne opcje do istniejących komend,
- minimalizujesz literówki i błędy.
Przykład idei:
alias kopia="cp"
Po wpisaniu w terminalu:
kopia plik.txt katalog/
powłoka zastąpi kopia komendą cp, więc realnie wykona:
cp plik.txt katalog/
Alias działa tylko w powłoce, w której jest zdefiniowany. Nie zmienia samego programu cp, tylko sposób, w jaki powłoka interpretuje wprowadzane polecenia.
2. Jak sprawdzić istniejące aliasy?
Aby zobaczyć, jakie aliasy są dostępne w Twojej bieżącej sesji, wpisz:
alias
To polecenie bez argumentów wypisze wszystkie aktualnie zdefiniowane aliasy w powłoce. Aby sprawdzić konkretny alias, użyj:
alias ll
Przykładowy wynik:
alias ll='ls -alF'
3. Tymczasowe aliasy (na czas jednej sesji)
Najprostszy sposób tworzenia aliasu wygląda tak:
alias nazwa="komenda z opcjami"
Zasady składni: nie wstawiaj spacji przed i po znaku =; całe polecenie po = umieszczaj w cudzysłowach lub apostrofach (szczególnie, jeśli zawiera spacje, |, ;, &, * itd.).
Przykłady prostych aliasów
Poniżej znajdziesz cztery przydatne skróty wraz z gotowymi definicjami:
-
Skrócony listing:
alias ll="ls -alF" -
Kolorowy grep:
alias grep="grep --color=auto" -
Alias do git status:
alias gs="git status -sb" -
Wyszukiwanie plików .py:
alias pf='ls -l | grep -E "\.py$"'
Po utworzeniu aliasu możesz go od razu używać – jest aktywny do końca sesji (zamknięcia okna terminala).
4. Stałe aliasy (dostępne po każdym zalogowaniu)
Alias zapisany komendą alias jest tymczasowy – znika po zamknięciu terminala. Aby alias był dostępny zawsze, dopisz go do pliku konfiguracyjnego powłoki.
Najczęściej używane miejsca: Bash – ~/.bashrc (najpopularniejsze miejsce na aliasy użytkownika) i opcjonalnie ~/.bash_aliases (jeśli jest dołączany z .bashrc); Zsh – ~/.zshrc.
4.1. Dodanie aliasu do ~/.bashrc
Wykonaj poniższe kroki, aby dodać stałe aliasy:
-
Otwórz plik konfiguracyjny:
nano ~/.bashrc -
Dodaj alias na końcu pliku, na przykład:
alias ll="ls -alF"
alias update="sudo apt update && sudo apt dist-upgrade -y" -
Zapisz plik i wyjdź (w
nano:Ctrl+O,Enter, potemCtrl+X). -
Przeładuj konfigurację, aby aliasy działały od razu:
source ~/.bashrc
Od teraz aliasy ll i update będą dostępne przy każdym nowym otwarciu terminala.
4.2. Plik ~/.bash_aliases
W wielu dystrybucjach Bash ma w .bashrc fragment odpowiedzialny za wczytywanie pliku z aliasami. Przykładowy blok wygląda tak:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Jeśli masz taki blok, możesz trzymać aliasy w osobnym pliku. Postępuj według kroków:
-
Utwórz plik, jeśli nie istnieje:
touch ~/.bash_aliases -
Dodaj alias ręcznie, np. uruchamiając edytor i wpisując treść:
nano ~/.bash_aliases
Przykład zawartości aliasu w tym pliku:
alias pf='ls -l | grep -E "\.py$"'
Po zapisaniu możesz też dodać prosty alias bezpośrednio z terminala:
echo "alias ll='ls -alF'" >> ~/.bash_aliases
Na koniec przeładuj plik (bez zamykania terminala):
source ~/.bash_aliases
Jeśli w Twoim .bashrc nie ma bloku z ~/.bash_aliases, możesz go dodać ręcznie, jak w pokazanym fragmencie.
5. Usuwanie aliasów
Masz dwa poziomy usuwania: w bieżącej sesji i na stałe.
5.1. Usunięcie aliasu w aktualnej sesji
Użyj komendy unalias, aby skasować konkretny skrót:
unalias nazwa_aliasu
Przykład usunięcia aliasu ll:
unalias ll
Aby usunąć wszystkie aliasy w bieżącej sesji, wpisz:
unalias -a
5.2. Usunięcie aliasu na stałe
Otwórz plik, w którym alias został zapisany (np. ~/.bashrc lub ~/.bash_aliases), a następnie usuń lub zakomentuj właściwą linię.
Przykład zakomentowania aliasu:
# alias ll="ls -alF"
Po modyfikacji przeładuj konfigurację:
source ~/.bashrc # lub: source ~/.bash_aliases
6. Złożone aliasy – kilka komend naraz
Alias może zawierać więcej niż jedną komendę. Rozdzielaj je średnikiem ; lub operatorami logicznymi &&, ||:
-
Przejście do katalogu domowego i wylistowanie zawartości:
alias home_files='cd ~; ls -l' -
Aktualizacja systemu (APT):
alias update="sudo apt update && sudo apt dist-upgrade -y" -
Szybka kopia katalogu z zachowaniem uprawnień:
alias bk='cp -a'
Zawsze ujmuj złożone polecenia w cudzysłowy lub apostrofy, aby nie wykonały się w momencie definiowania aliasu.
7. Alias vs funkcja powłoki – kiedy co stosować?
Alias jest świetny do:
- skracania pojedynczej komendy,
- prostego dodawania opcji,
- prostych sekwencji typu „zrób A, potem B”.
Alias ma ograniczenia – nie nadaje się do bardziej rozbudowanej logiki (warunki, pętle) ani do zaawansowanego przetwarzania argumentów. W takich przypadkach lepsze są funkcje powłoki.
8. Co to jest funkcja powłoki?
Funkcja powłoki to nazwana sekwencja poleceń z możliwością użycia:
- argumentów (
$1,$2, …), - instrukcji sterujących (
if,case, pętle), - lokalnych zmiennych.
W powłoce Bash funkcja może wyglądać tak:
nazwa_funkcji() {
# treść funkcji
}
Równoważna forma zapisu:
function nazwa_funkcji {
# treść funkcji
}
Aby jej użyć, wywołaj ją jak zwykłe polecenie z argumentami:
nazwa_funkcji arg1 arg2
9. Tworzenie prostych funkcji powłoki
9.1. Funkcja w bieżącej sesji
Aby zdefiniować prostą funkcję w aktualnej sesji, wpisz:
hello() {
echo "Witaj w powłoce, $USER!"
}
Następnie wywołaj ją jak komendę:
hello
Funkcja działa tylko w tej sesji – zniknie po zamknięciu terminala, podobnie jak tymczasowy alias.
9.2. Funkcja z argumentami
Poniższy przykład liczy pliki w podanym katalogu i zwraca błąd przy braku argumentu:
count_files() {
if [ -z "$1" ]; then
echo "Użycie: count_files KATALOG"
return 1
fi
ls -1 "$1" | wc -l
}
Przykład użycia funkcji:
count_files /var/log
10. Funkcje powłoki na stałe (w .bashrc lub osobnym pliku)
Podobnie jak aliasy, funkcje warto mieć dostępne w każdej sesji. Postępuj według kroków:
-
Otwórz
~/.bashrc:nano ~/.bashrc -
Dodaj na końcu definicję funkcji, na przykład:
mkcd() {
mkdir -p "$1" && cd "$1"
} -
Zapisz i przeładuj konfigurację:
source ~/.bashrc
Możesz też trzymać funkcje w osobnym pliku (np. ~/.bash_functions) i dołączać go z .bashrc, analogicznie jak ~/.bash_aliases.
11. Praktyczne przykłady aliasów i funkcji
11.1. Alias do „bezpiecznego” usuwania
Zamiast ryzykownego rm użyj wariantu z potwierdzeniem:
alias rm='rm -i'
Dzięki opcji -i powłoka będzie pytać o potwierdzenie usuwania.
11.2. Aliasy do częstych komend ls
Dodaj poniższe aliasy, by przyspieszyć przeglądanie plików:
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
Wiele dystrybucji ma takie aliasy domyślnie w .bashrc.
11.3. Aliasy do git
Przykładowy zestaw skrótów dla systemu Git:
alias gs='git status -sb'
alias ga='git add'
alias gc='git commit'
alias gco='git checkout'
alias gp='git push'
alias gl='git log --oneline --graph --decorate'
11.4. Funkcja do szybkiego wyszukiwania w plikach
Ta funkcja wyszukuje wzorzec w plikach rekurencyjnie w podanym katalogu:
fsearch() {
if [ $# -lt 2 ]; then
echo "Użycie: fsearch WZORZEC KATALOG"
return 1
fi
grep -RIn --color=auto "$1" "$2"
}
Przykład użycia:
fsearch "hasło" /etc
11.5. Funkcja do archiwizacji katalogu
Prosta funkcja kompresująca katalog do archiwum .tar.gz:
tarzip() {
if [ -z "$1" ]; then
echo "Użycie: tarzip KATALOG"
return 1
fi
tar -czf "$1.tar.gz" "$1"
}
12. Dobre praktyki przy tworzeniu aliasów i funkcji
-
Nie nadpisuj ważnych poleceń bez powodu. Zamiana
cp,rm,mvna coś innego może być myląca – rób to świadomie, np. z dodatkową flagą bezpieczeństwa (-i). -
Stosuj spójne nazewnictwo. Krótkie aliasy do prostych zadań (np.
ll,gs,up,..,...), a funkcje do rzeczy bardziej złożonych (np.mkcd,fsearch,backup_home). -
Unikaj spacji wokół znaku = w aliasach:
alias ll="ls -alF"jest poprawne, aalias ll = "ls -alF"spowoduje błąd. -
Dobieraj cudzysłowy świadomie. Używaj
'...', jeśli nie chcesz, by powłoka rozwijała zmienne w momencie definicji; używaj"...", jeśli alias ma korzystać ze zmiennych środowiskowych dynamicznie. -
Dbaj o przenośność konfiguracji. Jeśli używasz kilku maszyn, trzymaj aliasy i funkcje w jednym repozytorium lub plikach (
~/.bash_aliases,~/.bash_functions) i synchronizuj je, np. przez Git.
13. Diagnostyka – dlaczego alias/funkcja nie działa?
Jeśli alias lub funkcja „nie działa”, sprawdź poniższe punkty:
- Czy powłoka to Bash lub Zsh, a nie np.
sh(który może wczytywać inny plik niż.bashrc). - Czy odpowiedni plik (
~/.bashrc,~/.bash_aliases) na pewno jest wczytywany przy starcie powłoki. - Czy po edycji pliku wykonałeś przeładowanie konfiguracji:
source ~/.bashrc
- Czy nie ma literówek (np.
aliass) lub spacji wokół=. - Czy nazwa aliasu nie koliduje z nazwą funkcji lub binarki – sprawdzisz to poleceniem:
type nazwa
Powłoka wypisze, czy nazwa to alias, funkcja czy program.
14. Podsumowanie praktyczne – szybki „starter pack”
Jeśli chcesz mieć na swojej maszynie podstawowy zestaw aliasów i funkcji, wykonaj kroki poniżej:
-
Otwórz
.bashrc:nano ~/.bashrc -
Dodaj na końcu proponowane aliasy i funkcje:
# Aliasy
alias ll="ls -alF"
alias la="ls -A"
alias l="ls -CF"
alias grep="grep --color=auto"
alias rm="rm -i"
alias update="sudo apt update && sudo apt dist-upgrade -y"# Funkcje
mkcd() {
mkdir -p "$1" && cd "$1"
}fsearch() {
if [ $# -lt 2 ]; then
echo "Użycie: fsearch WZORZEC KATALOG"
return 1
fi
grep -RIn --color=auto "$1" "$2"
} -
Zapisz i przeładuj konfigurację:
source ~/.bashrc








