Polecenie rm służy w Linuksie do trwałego usuwania plików i katalogów. Nie ma tu „kosza” – co skasujesz, zwykle znika od razu, dlatego kluczowe jest bezpieczne korzystanie z opcji takich jak -r, -f czy wzorców z gwiazdką.
- 1. Podstawy – co robi rm w Linuksie?
- 2. Jak usunąć plik – przykłady krok po kroku
- 3. Jak usunąć katalog
- 4. Najczęściej używane opcje rm (i które są niebezpieczne)
- 5. Jak używać rm bezpiecznie (praktyczne nawyki)
- 6. Usuwanie z uprawnieniami administratora (sudo)
- 7. Jak usunąć „prawie wszystko” z katalogu
- 8. Trwałe „nadpisujące” usuwanie (bez możliwości odzysku)
- 9. Dobre praktyki bezpieczeństwa przy rm
- 10. Szybka ściąga – „jak usunąć…”
Poniżej znajdziesz rozbudowany, praktyczny poradnik w języku polskim.
1. Podstawy – co robi rm w Linuksie?
Najważniejsze fakty o rm w pigułce:
- rm – usuwa pliki, a przy odpowiednich opcjach także katalogi;
- usuwanie jest trwałe – standardowo plik nie trafia do kosza, tylko znika z systemu plików;
- błąd w poleceniu (np. literówka w ścieżce) może spowodować skasowanie nie tego, co trzeba – bezpieczeństwo jest kluczowe.
Dodatkowe narzędzia: unlink służy do usuwania pojedynczego pliku, a rmdir kasuje wyłącznie puste katalogi.
2. Jak usunąć plik – przykłady krok po kroku
2.1. Usuwanie pojedynczego pliku
Najprostsza składnia wygląda tak:
rm nazwa_pliku
Przykład dla bieżącego katalogu:
rm raport.txt
Jeśli plik jest w innym miejscu, podaj pełną ścieżkę:
rm /home/uzytkownik/dokumenty/raport.txt
2.2. Usuwanie wielu plików naraz
Aby wskazać kilka konkretnych plików, podaj ich nazwy po spacji:
rm plik1.txt plik2.txt obraz.png
Możesz też skorzystać ze wzorców (globów):
rm *.log
rm raport-2024-*
rm usunie wszystkie pasujące pliki, ale nie katalogi (bez dodatkowych opcji).
2.3. Usuwanie pliku o „trudnej” nazwie (np. z myślnikiem na początku)
Jeśli nazwa zaczyna się od myślnika, poprzedź ją ./:
rm ./-dziwny.txt
Analogicznie dla ścieżek z odstępami lub innymi znakami specjalnymi – używaj cudzysłowów, np. 'nazwa pliku z odstępami.txt', a przy nazwach zaczynających się od - dodawaj prefiks ./.
3. Jak usunąć katalog
3.1. Usuwanie pustego katalogu: rmdir
Jeśli katalog jest pusty, użyj:
rmdir nazwa_katalogu
Przykład:
rmdir stary_katalog
Zadziała tylko wtedy, gdy w środku nie ma żadnych plików ani podkatalogów.
3.2. Usuwanie katalogu z zawartością: rm -r
Do usunięcia katalogu wraz z całą zawartością (pliki + podkatalogi) użyj opcji rekurencyjnej:
rm -r nazwa_katalogu
Przykład:
rm -r dokumenty
Możesz też usunąć samą zawartość, zostawiając katalog:
rm -r katalog/*
4. Najczęściej używane opcje rm (i które są niebezpieczne)
Najważniejsze przełączniki i ich działanie:
-r/-R– usuwa rekurencyjnie katalogi i ich zawartość;-f– wymusza usunięcie bez pytań, ignoruje błędy (np. brak pliku);-i– tryb interaktywny, pyta o potwierdzenie każdego usunięcia;-I– pyta tylko raz przy większej liczbie plików/katalogów (mniej natrętne niż-i);-v– tryb „gadatliwy”, wyświetla, co jest usuwane.
Najbardziej znana i zarazem najbardziej niebezpieczna kombinacja to:
rm -rf katalog
Opcja -r włącza rekurencję, a -f wymusza operację bez potwierdzania. To polecenie usunie katalog bez żadnych pytań i bez możliwości prostego odzyskania.
5. Jak używać rm bezpiecznie (praktyczne nawyki)
5.1. Używaj rm -i jako domyślnego
Zamiast bezwarunkowego usuwania:
rm plik.txt
preferuj wariant z potwierdzeniem:
rm -i plik.txt
System zapyta o potwierdzenie:
rm: remove regular file 'plik.txt'?
Dopiero wpisanie y (lub t w polskim tłumaczeniu) potwierdzi usunięcie.
Wielu administratorów dodaje alias w pliku .bashrc:
alias rm='rm -i'
Dzięki temu każde rm w terminalu domyślnie prosi o potwierdzenie (poza skryptami).
5.2. Najpierw sprawdzaj, co usuniesz: ls, pwd
Przed wykonaniem ryzykownych operacji warto przejść przez trzy kroki:
- Sprawdź, w jakim katalogu jesteś:
pwd - Zobacz, co zostanie usunięte:
ls
ls katalog/ - Dopiero potem wykonaj
rm.
To szczególnie ważne przy poleceniach typu:
rm -r *
rm -rf /etc/jakis_katalog
Błąd jednego znaku może oznaczać uszkodzony system.
5.3. Uważaj na gwiazdki i zmienne
Błędy w zmiennych mogą prowadzić do katastrof. Na przykład:
rm -rf "$DIR"/*
Jeśli $DIR jest puste, powstanie polecenie:
rm -rf /* # potencjalnie fatalne!
W skryptach stosuj poniższe zasady:
- testuj, czy zmienna nie jest pusta,
- używaj pełnych ścieżek,
- dodawaj zabezpieczenia (np. sprawdzanie, czy
$DIRwskazuje oczekiwany katalog).
5.4. Nigdy nie ucz się „na pamięć” rm -rf /
Polecenia typu:
sudo rm -rf /
to klasyczne przykłady destrukcyjnych komend, które potrafią zniszczyć system. Na nowoczesnych dystrybucjach bywają dodatkowe zabezpieczenia, ale nie należy na nie liczyć.
6. Usuwanie z uprawnieniami administratora (sudo)
Gdy brakuje uprawnień (np. w /etc, /usr, /opt), użyj sudo:
sudo rm -r /etc/jakis_katalog
Stosuj te zasady, aby zminimalizować ryzyko:
- używaj
sudotylko, gdy jest to naprawdę konieczne, - podawaj pełną ścieżkę (
/etc/jakis_katalogzamiastjakis_katalog), - dokładnie sprawdzaj, co usuwasz – w katalogach systemowych błąd jest szczególnie kosztowny.
Możesz też uruchomić menedżera plików jako root (z najwyższą ostrożnością):
sudo nautilus
sudo dolphin
sudo thunar
W trybie GUI usuwanie bez kosza wykonasz np. skrótem klawiaturowym Shift+Delete.
7. Jak usunąć „prawie wszystko” z katalogu
Aby usunąć wszystko oprócz jednego pliku, użyj precyzyjnego filtra, np. w bashu:
find . ! -name 'zostaw_mnie.tar.gz' -type f -delete
W innych scenariuszach zastosuj find z -delete lub -exec rm – to pozwala na precyzyjne, hurtowe czyszczenie, ale wymaga dużej ostrożności.
8. Trwałe „nadpisujące” usuwanie (bez możliwości odzysku)
Standardowe rm jedynie „zdejmuje” wpis z systemu plików – dopóki dane nie zostaną nadpisane, często da się je odzyskać specjalistycznymi narzędziami. Jeśli zależy Ci na trwałym zniszczeniu danych, skorzystaj z poniższych narzędzi.
8.1. shred
Przykładowe użycie do nadpisania i usunięcia:
shred -fuz /home/uzytkownik/Pulpit/najnowszeceny.txt
Co robią najważniejsze opcje:
-f– wymusza operację;-u– po nadpisaniu usuwa plik (unlink);-z– na koniec nadpisuje zerami, utrudniając wykrycie procesu niszczenia.
Możesz zwiększyć liczbę nadpisań:
shred -fuz -n10 /home/uzytkownik/Pulpit/najnowszeceny.txt
Opcja informacyjna -v pokaże postęp:
shred -fuzv -n10 /home/uzytkownik/Pulpit/najnowszeceny.txt
8.2. wipe + integracja z menedżerem plików
wipe służy do bezpowrotnego niszczenia plików i katalogów.
Instalacja (przykład dla systemów z aptitude):
sudo aptitude install wipe
Integracja z Nautilusem przy użyciu dodatku nautilus-actions:
sudo aptitude install nautilus-actions
Po dodaniu akcji (np. „Wipe selected”) w menu kontekstowym postępuj tak:
- Zaznacz plik lub katalog.
- Wybierz z menu: Nautilus-Actions → Wipe selected.
- Poczekaj na zakończenie – element zostanie bezpowrotnie skasowany.
9. Dobre praktyki bezpieczeństwa przy rm
Najważniejsze nawyki, które znacząco zmniejszają ryzyko błędów:
- zawsze czytaj dwa razy wpisane polecenie przed naciśnięciem Enter;
- stosuj
rm -ijako domyślne w pracy ręcznej, by każdorazowo potwierdzać skasowanie; - najpierw uruchom
lslubfind, a dopiero potem zamieńlsnarmprzy masowych operacjach; - używaj pełnych ścieżek zwłaszcza w katalogach systemowych (
/etc,/usr,/var); - nigdy nie wpisuj w ciemno poleceń z internetu, których nie rozumiesz (szczególnie z
rm -rf); - rozważ „kosz” w GUI tam, gdzie to możliwe –
rmtraktuj jako narzędzie ostateczne.
10. Szybka ściąga – „jak usunąć…”
Najczęstsze zadania i przykładowe polecenia:
| Zadanie | Polecenie (przykład) |
|---|---|
| Usunąć pojedynczy plik | rm plik.txt |
| Usunąć kilka konkretnych plików | rm plik1.txt plik2.txt obraz.png |
| Usunąć plik z „-” na początku nazwy | rm ./-dziwny.txt |
| Usunąć wszystkie pliki .log | rm *.log |
| Usunąć pusty katalog | rmdir katalog |
| Usunąć katalog z zawartością | rm -r katalog |
| Usunąć katalog z zawartością „na siłę” | rm -rf katalog |
| Usunąć wszystko w katalogu, ale nie katalog | rm -r katalog/* |
| Usuwać pliki z potwierdzaniem | rm -i plik.txt |
| Trwale zniszczyć plik (nadpisanie + usunięcie) | shred -fuz plik.txt |
| Usunąć katalog systemowy z roota (ostrożnie!) | sudo rm -r /etc/jakis_katalog |








