Po prostu pobiegłem rm -rf /*
przypadkowo, ale miałem na myśli rm -rf ./*
(zauważ gwiazdę po ukośniku).
alias rm='rm -i'
i --preserve-root
domyślnie mnie nie uratował, więc czy są na to jakieś automatyczne zabezpieczenia?
Nie byłem rootem i natychmiast anulowałem polecenie, ale były gdzieś jakieś odprężone uprawnienia, ponieważ zauważyłem, że mój monit Bash już się zepsuł. Nie chcę polegać na uprawnieniach i nie być rootem (mógłbym popełnić ten sam błąd sudo
) i nie chcę szukać tajemniczych błędów z powodu jednego brakującego pliku gdzieś w systemie, więc kopie zapasowe sudo
są dobre , ale chciałbym coś lepszego w tym konkretnym przypadku.
O myśleniu dwa razy i korzystaniu z mózgu. Używam tego właściwie! Ale używam go do rozwiązania złożonego zadania programistycznego obejmującego 10 różnych rzeczy. Jestem głęboko zanurzony w tym zadaniu, nie ma już mocy mózgu do sprawdzania flag i ścieżek, nawet nie myślę w kategoriach poleceń i argumentów, myślę w kategoriach działań takich jak „pusty aktualny katalog”, inna część mojego mózgu tłumaczy je na polecenia i czasami popełnia błędy. Chcę, żeby komputer je poprawił, przynajmniej te niebezpieczne.
rm -rf . /mydir
zamiast tegorm -rf ./mydir
zabić katalog, w którym się znajdowałeś. Zabijam to częściej.rm
nie jest pistoletem, jest to program komputerowy, może być wystarczająco inteligentny, aby stwierdzić, że użytkownik zamierza usunąć niektóre ważne pliki i wygenerować ostrzeżenie (tak jak w rzeczywistości, jeśli spróbujesz obejść sięrm -rf /
bez gwiazdy).rm
polecenia, jest całkowicie uzasadnionym pytaniem sysadmin.Odpowiedzi:
Jedną z trików, które podążam, jest wprowadzenie
#
na początku podczas korzystania zrm
polecenia.Zapobiega to przypadkowemu wykonaniu
rm
niewłaściwego pliku / katalogu. Po zweryfikowaniu usuń#
od początku. Ta sztuczka działa, ponieważ w Bash słowo zaczynające się od#
powoduje, że to słowo i wszystkie pozostałe znaki w tym wierszu zostaną zignorowane. Tak więc polecenie jest po prostu ignorowane.LUB
Jeśli chcesz zapobiec ważnemu katalogowi, jest jeszcze jedna sztuczka.
Utwórz plik o nazwie
-i
w tym katalogu. Jak stworzyć taki dziwny plik? Za pomocątouch -- -i
lubtouch ./-i
Teraz spróbuj
rm -rf *
:Tutaj
*
rozwinie się-i
do linii poleceń, więc twoje polecenie ostatecznie stanie sięrm -rf -i
. Dlatego polecenie wyświetli monit przed usunięciem. Możesz umieścić ten plik w/
,/home/
,/etc/
, itd.LUB
Użyj
--preserve-root
jako opcji dorm
. Wrm
zawartych w nowszychcoreutils
pakietach ta opcja jest domyślna.LUB
Użyj safe-rm
Fragment strony internetowej:
źródło
-i
plikiem. Hah Głupie bashtouch -- -rf
Twój problem:
Rozwiązanie: nie rób tego! W ramach praktyki nie używaj
./
na początku ścieżki. Ukośniki nie dodają żadnej wartości do polecenia i powodują jedynie zamieszanie../*
oznacza to samo co*
, więc powyższe polecenie lepiej napisać jako:rm -rf *
Oto powiązany problem. Często widzę następujące wyrażenie, w którym ktoś zakładał, że
FOO
jest ustawiony na coś podobnego/home/puppies
. Widziałem to właśnie dzisiaj, w dokumentacji jednego z głównych dostawców oprogramowania.rm -rf $FOO/
Ale jeśli
FOO
nie jest ustawiony, spowoduje to ocenęrm -rf /
, która spróbuje usunąć wszystkie pliki w systemie. Końcowy ukośnik jest niepotrzebny, więc w praktyce nie używaj go.Następujące czynności zrobią to samo i mniej prawdopodobne jest uszkodzenie systemu:
rm -rf $FOO
Nauczyłem się tych wskazówek na własnej skórze. Kiedy miałem 14 lat temu moje pierwsze konto administratora, przez przypadek uciekłem
rm -rf $FOO/
ze skryptu powłoki i zniszczyłem system. Czterej inni administratorzy spojrzeli na to i powiedzieli: „Tak. Każdy to robi raz. Oto twoje nośniki instalacyjne (36 dyskietek). Idź to naprawić.Inne osoby tutaj polecają rozwiązania takie jak
--preserve-root
isafe-rm
. Jednak te rozwiązania nie są dostępne dla wszystkich wariantów Un * xe i mogą nie działać w systemach Solaris, FreeBSD i MacOSX. Ponadtosafe-rm
wymaga zainstalowania dodatkowych pakietów na każdym używanym systemie Linux. Jeśli polegasz nasafe-rm
tym, co stanie się, gdy rozpoczniesz nowe zadanie, a nie zostało onosafe-rm
zainstalowane? Te narzędzia są kulą i o wiele lepiej jest polegać na znanych domyślnych ustawieniach i poprawić nawyki pracy.źródło
rm -rf *
. Zawsze najpierw zmienia katalog i używa określonego celu. Powodem jest to, że często wykorzystuje historię pocisku i martwi się, że takie polecenie w jego historii może wyskoczyć w niewłaściwym czasie.rm -rf *
również został usunięty.
i..
. Byłem rootem, a to przeszło do niższych katalogów jak../../..
i było dość destrukcyjne. Od tego czasu staram się być bardzo ostrożnyrm -rf *
.rm -rf $FOO
nie pomoże, jeśli potrzebujeszrm -rf $FOO/$BAR
.cd $FOO && rm -rf $BAR
pomoże, choć jest znacznie dłużej.${FOO:?}
, jak wrm -rf ${FOO:?}/
irm -rf ${FOO:?}/${BAR:?}
. Zapobiegnie to tłumaczeniurm -rf /
. Mam więcej informacji na ten temat w mojej odpowiedzi tutaj .rm -rf *
w pętli for, która przez pomyłkę zmieniła katalog na niewłaściwy i ostatecznie usunąłem coś innego. Gdybym użył określonego celu, miałby znacznie mniejszą szansę na usunięcie niewłaściwej rzeczy.Ponieważ dotyczy to „Serverfault”, chciałbym powiedzieć:
Jeśli masz dziesiątki lub więcej serwerów, o sporej zespół administratorów / użytkowników, ktoś ma zamiar
rm -rf
lubchown
niewłaściwym katalogu.Powinieneś mieć plan przywrócenia usługi, której dotyczy problem, przy możliwie najniższym MTTR.
źródło
Najlepsze rozwiązania obejmują zmianę przyzwyczajeń, aby nie używać
rm
bezpośrednio.Jednym z podejść jest uruchomienie w
echo rm -rf /stuff/with/wildcards*
pierwszej kolejności. Sprawdź, czy dane wyjściowe z symboli wieloznacznych wyglądają rozsądnie, a następnie użyj historii powłoki, aby wykonać poprzednie polecenie bezecho
.Innym podejściem jest ograniczenie
echo
polecenia do przypadków, w których oślepiająco oczywiste jest, co usuniesz. Zamiast usuwać wszystkie pliki z katalogu, usuń katalog i utwórz nowy. Dobrą metodą jest zmiana nazwy istniejącego katalogu naDELETE-foo
, następnie utworzenie nowego katalogufoo
z odpowiednimi uprawnieniami, a na koniec usunięcieDELETE-foo
. Zaletą tej metody jest to, że polecenie wprowadzone w historii torm -rf DELETE-foo
.Jeśli naprawdę nalegasz na usunięcie kilku plików, ponieważ potrzebujesz, aby katalog pozostał (ponieważ musi zawsze istnieć lub nie masz uprawnień do jego ponownego utworzenia), przenieś pliki do innego katalogu i usuń ten katalog .
(Naciśnij ten klawisz Alt+ .).
Usunięcie katalogu od wewnątrz byłoby atrakcyjne, ponieważ
rm -rf .
jest krótkie, dlatego ma niskie ryzyko literówek. Niestety typowe systemy nie pozwalają na to. Możeszrm -rf -- "$PWD"
zamiast tego z większym ryzykiem literówek, ale większość z nich prowadzi do niczego nie usuwając. Uwaga, pozostawia to niebezpieczne polecenie w historii twojej powłoki.Kiedy tylko możesz, używaj kontroli wersji. Ty nie
rm
, tycvs rm
czy cokolwiek innego, i to jest nie do naprawienia.Zsh ma opcje monitowania przed uruchomieniem
rm
z argumentem, który wyświetla wszystkie pliki w katalogu:rm_star_silent
(domyślnie włączone) monituje przed wykonaniemrm whatever/*
irm_star_wait
(domyślnie wyłączone) dodaje 10-sekundowe opóźnienie, podczas którego nie można potwierdzić. Ma to ograniczone zastosowanie, jeśli chcesz usunąć wszystkie pliki z jakiegoś katalogu, ponieważ będziesz już oczekiwać na monit. To może pomóc uniknąć literówek jakrm foo *
dlarm foo*
.Istnieje wiele innych rozwiązań, które wymagają zmiany
rm
polecenia. Ograniczeniem tego podejścia jest to, że pewnego dnia będziesz na prawdziwej maszynierm
i automatycznie zadzwoniszrm
, bezpiecznie oczekując potwierdzenia… a następnie przywrócisz kopie zapasowe.źródło
mv -t DELETE_ME -- *
jest nieco bardziej niezawodny.rm
bezpośrednio to dobra rada! Jeszcze lepszą alternatywą jest użyciefind
polecenia .find somedir -type f -delete
który usunie wszystkie pliki,somedir
ale opuści katalog i wszystkie podkatalogi.Zawsze możesz zrobić alias, jak wspomniałeś:
Możesz także zintegrować go z klientem Twittera z wiersza poleceń, aby ostrzec znajomych o tym, jak niemal upokorzyłeś się, wycierając dysk twardy
rm -fr /*
jako root.źródło
telnet miku.acm.uiuc.edu
?Tak: Nie pracuj jako root i zawsze myśl dwa razy przed działaniem.
Zobacz także coś takiego jak https://launchpad.net/safe-rm .
źródło
Najprostszym sposobem zapobiegania przypadkowemu
rm -rf /*
jest uniknięcie wszelkiego użyciarm
polecenia! W rzeczywistości zawsze miałem ochotę uciec,rm /bin/rm
aby całkowicie pozbyć się tego polecenia! Nie, nie jestem żartobliwy.Zamiast tego użyj
-delete
opcjifind
polecenia , ale najpierw przed usunięciem plików polecam podgląd plików, które chcesz usunąć:Uwaga: we współczesnych wersjach,
find
jeśli pominiesz nazwę katalogu, domyślnie użyje on bieżącego katalogu, więc powyższe jest odpowiednikiem:Po upewnieniu się, że są to pliki, które chcesz usunąć, możesz dodać
-delete
opcję:Jest więc nie tylko
find
bezpieczniejszy w użyciu, ale także bardziej wyrazisty , więc jeśli chcesz usunąć tylko niektóre pliki w hierarchii katalogów, które pasują do określonego wzorca, możesz użyć takiego wyrażenia do podglądu, a następnie usunąć pliki:Jest wiele dobrych powodów, aby uczyć się i używać
find
oprócz bezpieczniejszegorm
, więc później podziękujesz sobie, jeśli poświęcisz czas na naukę korzystaniafind
.źródło
W tym wątku jest kilka złych porad, na szczęście większość z nich została odrzucona.
Przede wszystkim, gdy musisz być rootem, stań się root - sudo, a różne sztuczki aliasowe osłabią cię. Co gorsza, sprawią, że będziesz nieostrożny. Naucz się robić rzeczy we właściwy sposób, przestań polegać na aliasach, aby cię chronić. Pewnego dnia zrootujesz się na pudełku, które nie ma kół treningowych i nie wysadzisz czegoś w powietrze.
Po drugie - kiedy masz root, pomyśl o sobie jak o jeździe autobusem pełnym dzieci w wieku szkolnym. Czasami możesz rozkoszować się piosenką w radiu, ale innym razem musisz patrzeć w obie strony, spowolnić i dwukrotnie sprawdzić wszystkie swoje lustra.
Po trzecie - prawie nigdy naprawdę nie musisz
rm -rf
- bardziej prawdopodobne, że chceszmv something something.bak
lubmkdir _trash && mv something _trash/
Po czwarte -
ls
przedtem zawsze twoja wieloznaczna kartarm
- Nie ma nic szalonego w patrzeniu na coś przed zniszczeniem go na zawsze.źródło
ls
.find
polecenia .find . -name '*~'
przykład. Chodzi mi o to, żels
wylistuje ten sam glob, któryrm
będzie używał.Jest to mój standard, zwłaszcza dla wyrażeń regularnych w kontekście rm, ale w takim przypadku by cię to uratowało.
Zawsze robię
echo foo*/[0-9]*{bar,baz}*
najpierw, aby zobaczyć, jakie będzie wyrażenie regularne. Po uzyskaniu danych wyjściowych wracam do edycji z wiersza poleceń i zmieniamecho
narm -rf
. I nigdy, przenigdy nie używaćrm -rf
na niesprawdzonych regexp .źródło
*
ma bardzo precyzyjna definicja zwana Gwiazdą Kleene, która jest jednoargumentowym operatorem, który dopasowuje zero lub więcej elementów zbioru, do którego jest stosowany (w przypadku wyrażeń regularnych znak lub zestaw znaków poprzedzający Kleene Star), podczas gdy podczas globowania*
dopasowuje wszystko według następującego wzoru. Są semantycznie bardzo różne, nawet jeśli wydają się mieć podobną składnię.Rozwiązaniem tego problemu jest regularne tworzenie kopii zapasowych. Za każdym razem, gdy wyprodukujesz coś, czego nie chcesz ryzykować, zrób kopię zapasową. Jeśli regularne wykonywanie kopii zapasowej jest zbyt bolesne, uprość ten proces, aby nie był bolesny.
Na przykład, jeśli pracujesz nad kodem źródłowym, użyj narzędzia takiego jak
git
dublowanie kodu i przechowywanie historii na innym komputerze. Jeśli pracujesz nad dokumentami, przygotuj skrypt, który będziersync
twoimi dokumentami na innym komputerze.źródło
Wydaje się, że najlepszym sposobem na zmniejszenie tego ryzyka jest dwuetapowe usunięcie, jak w przypadku większości GUI. Oznacza to, że zamień rm na coś, co przenosi rzeczy do katalogu śmieci (na tym samym wolumenie). Następnie wyczyść ten śmieci po upływie wystarczającego czasu, aby zauważyć błąd.
Jedno z takich narzędzi, trash-cli, jest omówione na Unix StackExchange tutaj .
źródło
rm
.Jednym z ważnych kluczowych czynników pozwalających uniknąć tego rodzaju błędów jest niezalogowanie się przy użyciu konta root. Kiedy logujesz się przy użyciu zwykłego nieuprzywilejowanego użytkownika, musisz użyć
sudo
każdego polecenia. Więc powinieneś być bardziej ostrożny.źródło
sudo
i tworzenia kopii zapasowych. Zajrzyj na tę stronę: forum.synology.com/wiki/index.php/… . Mówi o tworzeniu kosza. Mam nadzieję że to pomoże!Kiedy usuwam katalog rekurencyjnie, umieszczam
-r
i,-f
jeśli ma to zastosowanie, na końcu polecenia, nprm /foo/bar -rf
. W ten sposób, jeśli przypadkowo naciśniesz Enter zbyt wcześnie, bez wpisania całej ścieżki, polecenie nie będzie rekurencyjne, więc prawdopodobnie nieszkodliwe. Jeśli uderzę Enter, próbując wpisać ukośnik/foo
, napisałemrm /foo
zamiastrm -rf /foo
.Działa to dobrze na systemach wykorzystujących jądra GNU, ale narzędzia w niektórych innych Uniksach nie pozwalają na umieszczanie opcji na końcu w ten sposób. Na szczęście nie używam często takich systemów.
źródło
Może to być skomplikowane, ale możesz skonfigurować role w SELinux, aby nawet jeśli użytkownik rootowałby za pomocą sudo su - (lub zwykłego su), możliwość usuwania plików może być ograniczona (musisz się zalogować bezpośrednio jako root, aby usunąć akta). Jeśli używasz AppArmor, możesz zrobić coś podobnego .
Oczywiście innym rozwiązaniem byłoby upewnienie się, że masz kopie zapasowe. :)
źródło
Unikaj używania globowania . W Bash możesz ustawić
noglob
. Ale ponownie, kiedy przejdziesz do systemu, w którymnoglob
nie jest ustawiony, możesz zapomnieć o tym i postępować tak, jakby to było.Ustaw,
noclobber
aby zapobiegaćmv
icp
niszczyć pliki.Do usunięcia użyj przeglądarki plików. Niektóre przeglądarki plików oferują kosz na śmieci (na przykład Konqueror ).
Innym sposobem uniknięcia globowania jest: W wierszu poleceń, I
echo filenamepattern >> xxx
. Następnie edytuję plik za pomocą Vima lub vi, aby sprawdzić, które pliki mają zostać usunięte (uważaj na znaki wzorca nazwy pliku u partnerów plików). Następnie używam,%s/^/rm -f/
aby zmienić każdy wiersz w polecenie usuwania. Źródło xxx. W ten sposób zobaczysz każdy plik, który chcesz usunąć przed zrobieniem tego.Przenieś pliki do katalogu „poddasza” lub tarballa. Lub użyj kontroli wersji (jak powiedziałem wcześniej).
źródło
find
polecenia .ZSH pyta mnie (domyślnie) przed wykonaniem
rm -rf *
.źródło
Poza
chattr
tym nie ma zbyt wielu zabezpieczeń, które pozwolą rootowi uruchomić takie polecenie. Dlatego odpowiednie grupy i staranne polecenia są ważne przy uruchamianiu uprzywilejowanym.Następnym razem; wykreśl pliki, które chcesz usunąć - pomiń „f”
rm -rf
lub użyjfind
i przekaż jexargs rm
źródło
find
, ale zalecam bezpieczniejszy sposób użycia go w mojej odpowiedzi . Nie ma potrzeby używania,xargs rm
ponieważ wszystkie nowoczesne wersjefind
mają taką-delete
opcję . Ponadto, aby bezpiecznie korzystaćxargs rm
trzeba także używaćfind -print0
ixargs -0 rm
inaczej będziesz mieć problemy, gdy napotkasz takie rzeczy jak nazwy plików ze spacjami.find
jest dobrą sugestią, jednak niuansexargs
są ważne, jeśli sugerujesz ich użycie, w przeciwnym razie prowadzi to do zamieszania i frustracji podczas napotykania plików ze spacjami (których można uniknąć, używając-delete
opcji).Niektóre aliasy bezpieczeństwa dla innych poleceń, aby zapobiec podobnym katastrofom, można znaleźć tutaj :
Zauważ, że wielkie litery
-I
różnią się od-i
:źródło
Zazwyczaj używam
-v
flagi, aby zobaczyć, co jest usuwane i mam szansę^C
szybko, jeśli mam najmniejsze wątpliwości. Naprawdę nie jest to sposób na uniknięcie złychrm
, ale może to być przydatne w celu ograniczenia szkód na wypadek, gdyby coś poszło nie tak.źródło
Mój proces usuwania na komputerach z systemem Unix jest następujący.
ls /path/to/intented/file_or_directory
w oknie terminala, a następnie naciśnijreturn
(lubTab
, w razie potrzeby), aby wyświetlić listę plików.Jeśli wszystko wygląda dobrze,
kliknij
up arrow
klucz, aby ponownie przynieśćls /path/to/intented/file_or_directory
z historii terminala.wymienić
ls
zrm
lubrm -r
lubrm -rf
, w miarę potrzeb. Osobiście nie lubię używać-f
flagi.Ten proces sprawdzania poprawności zapobiega również przedwczesnemu wykonaniu
rm
polecenia, co się mi przytrafiło, zanim zacząłem śledzić ten proces.źródło
find
opisanych w mojej odpowiedzi .Jeśli nie masz teraz ochoty na zdobycie nowych nawyków,
.bashrc/.profile
warto dodać kilka testów, aby sprawdzić, czy masz zamiar zrobić coś głupiego. Doszedłem do wniosku, że w funkcji Bash mogę wymyślić wzór, który może zrujnować mój dzień, i wymyśliłem to:Dobrą rzeczą jest to, że to tylko Bash.
W tej formie nie jest wystarczająco ogólna, ale myślę, że ma potencjał, więc proszę zamieścić kilka pomysłów lub komentarzy.
źródło
find
polecenia . Nie rozumiem też, dlaczego mówisz „dobrą rzeczą jest to, że to tylko Bash”? Zalecane jest unikanie bash-isms w skryptach .set -f
co jest równoważneset -o noglob
w Bash, ale to wciąż nie tłumaczy twojego stwierdzenia, że „Dobrą rzeczą jest to, że to tylko Bash”. Zamiast tego możesz całkowicie i w ogólny sposób wyeliminować problem z dowolną powłoką, nie używającrm
wcale, ale raczej używającfind
polecenia . Czy rzeczywiście wypróbowałeś tę sugestię, aby zobaczyć, jak wygląda ona w porównaniu z sugestią tutaj?Niestety nie mogę zostawić komentarza powyżej z powodu niewystarczającej karmy, ale chciałem ostrzec innych, że safe-rm nie jest panaceum na przypadkowe koszmary masowego usuwania.
Następujące testy zostały przetestowane na maszynie wirtualnej Linux Mint 17.1 (ostrzeżenie dla osób niezaznajomionych z tymi poleceniami: NIE ZRÓB TO! W rzeczywistości nawet osoby zaznajomione z tymi poleceniami powinny / prawdopodobnie nigdy nie zrobiłyby tego, aby uniknąć katastrofalnej utraty danych):
Wersja tekstowa (skrócona):
Wersja obrazu (pełna):
źródło
Podoba mi się podejście systemu Windows do kosza.
Zwykle tworzę katalog o nazwie „/ tmp / recyclebin” dla wszystkiego, co muszę usunąć:
I nigdy nie używaj rm -rf, zawsze używam:
Następnie opróżniam kosz za pomocą skryptu lub ręcznie.
źródło
Hehe (niesprawdzony i nieco żartobliwy!):
I wtedy:
Realistycznie, powinieneś zrobić sobie przerwę przed wykonaniem tego rodzaju operacji na globu, niezależnie od tego, czy działasz jako root, przygotowując do niej „sudo” itp. Możesz uruchomić „ls” na tej samej globusie itp., ale mentalnie powinieneś zatrzymać się na chwilę, upewnić się, że wpisałeś to, co chciałeś, upewnić się, że to, czego chcesz, jest tym, czego naprawdę chcesz, itd. Przypuszczam, że jest to coś, czego nauczyłem się głównie poprzez niszczenie czegoś w pierwszym roku, ponieważ Unix SA, podobnie jak gorący palnik jest dobrym nauczycielem w mówieniu, że coś na kuchence może być gorące.
I upewnij się, że masz dobre kopie zapasowe!
źródło
Ponadto, nie jako zabezpieczenie, ale jako sposób na sprawdzenie, jakie pliki zostały usunięte przed kliknięciem ^ C, możesz użyć
locate
bazy danych (oczywiście tylko jeśli została zainstalowana i przetrwałarm
)Dowiedziałem się o tym z tego postu na blogu
źródło
Wystarczy użyć ZFS do przechowywania plików, których potrzebujesz, aby oprzeć się przypadkowemu usunięciu i mieć demona, który:
Jeśli pliki zostaną usunięte, nadpisane, uszkodzone, cokolwiek, po prostu przywróć system plików do klonu ostatniej dobrej migawki i gotowe.
źródło
nie tyle odpowiedź, ale wskazówka, zawsze tak
rm (dir) -rf
nie jestrm -rf (dir)
: nie idź nuklearnie do ostatniej możliwej chwili.Pomaga złagodzić sytuacje, w których grubo naciskasz nazwę katalogu w taki sposób, że nadal jest to prawidłowe usunięcie, takie jak poślizgnięcie się i naciśnięcie klawisza Enter.
źródło
rm
, gdzie opcje muszą występować przed nazwami plików.Myślę, że jest to potężna wskazówka zapobiegawcza z * skrótem rozszerzenia w powłoce:
Najpierw wpisz
rm -rf *
lubrm -rf your/path/*
NIE, wpiszEnter
klucz. (oczywiście powinieneś mieć zwyczaj dbania o to, aby nie naciskać przycisku Enter szybko / przypadkowo podczas korzystaniarm -rf
)Następnie naciśnij
Alt-Shift-8
(ieAlt-Shift-*
), aby jawnie rozwinąć symbol wieloznaczny „*” w bash. Pozwala to również uniknąć ponownego wprowadzania polecenia „rm -rf *” podczas przeglądania historii.Na koniec, po sprawdzeniu, czy rozszerzenie ma odpowiednie pliki / katalogi, naciśnij klawisz Enter.
Gotowy.
źródło
Jeśli pomoże to komuś z własnej sprawy:
1. Użyj
rmsafe
:Przenosi pliki do folderu „kosza” i zawsze masz szansę przywrócić je w prosty sposób
mv
:Źródło: https://github.com/pendashteh/rmsafe
2. Użyj
safe
:Możesz ustawić alias do
rm
używania bezpiecznego:Teraz, jeśli uruchomisz
rm /*
, otrzymasz w odpowiedzi:i wierzę, że nie napiszesz
y
!Źródło: https://github.com/pendashteh/safe
źródło