Jak usunąć plik Linux, katalog i używać rm bezpiecznie

Oskar Gajzler
Przez
Oskar Gajzler
Redaktor IINTE.edu.pl, na co dzień zajmuje się technologiami internetowymi i tłumaczeniem skomplikowanych tematów na prosty język. Pisze poradniki o tym, jak załatwiać sprawy przez internet, jak...
8 min czytania

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

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:

  1. Sprawdź, w jakim katalogu jesteś:
    pwd
  2. Zobacz, co zostanie usunięte:
    ls
    ls katalog/
  3. 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 $DIR wskazuje 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 sudo tylko, gdy jest to naprawdę konieczne,
  • podawaj pełną ścieżkę (/etc/jakis_katalog zamiast jakis_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:

  1. Zaznacz plik lub katalog.
  2. Wybierz z menu: Nautilus-Actions → Wipe selected.
  3. 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 -i jako domyślne w pracy ręcznej, by każdorazowo potwierdzać skasowanie;
  • najpierw uruchom ls lub find, a dopiero potem zamień ls na rm przy 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 – rm traktuj 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
Udostępnij ten artykuł
Obserwuj
Redaktor IINTE.edu.pl, na co dzień zajmuje się technologiami internetowymi i tłumaczeniem skomplikowanych tematów na prosty język. Pisze poradniki o tym, jak załatwiać sprawy przez internet, jak bezpiecznie korzystać z sieci i jak dobierać sprzęt oraz oprogramowanie. Prywatnie tropi nowinki technologiczne i testuje je, zanim opisze.
Brak komentarzy

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *