Jak szybko usunąć Pliki i katalogi za pomocą terminala (powłoka bash) [zamknięty]
Z okna terminala:
Kiedy używam polecenia rm
może usuwać tylko pliki.
Gdy używam polecenia rmdir
usuwa tylko puste foldery.
Jeśli mam katalog zagnieżdżony z plikami i folderami w folderach z plikami i tak dalej, Czy Jest jakiś sposób na usunięcie wszystkich plików i folderów bez forsownego wpisywania poleceń?
Jeśli to robi różnicę, używam powłoki Mac bash z terminala, a nie Microsoft DOS lub linux.
4 answers
rm -rf some_dir
-r " rekurencyjny" -f " force "(tłumić komunikaty potwierdzające)
Uważaj!Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-15 01:26:30
rm -rf *
Usunie wszystko (foldery i pliki) w bieżącym katalogu.
Ale uważaj! wykonaj to polecenie tylko wtedy, gdy jesteś absolutnie pewien, że znajdujesz się we właściwym katalogu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-16 23:44:22
Tak, jest. Opcja -r
mówi {[1] } jako R ecursywne i usuwa całą hierarchię plików zakorzenioną w jej argumentach; innymi słowy, jeśli dany katalog zostanie podany, usunie całą jego zawartość, a następnie wykona to, co jest efektywnie rmdir
.
Pozostałe dwie opcje, które powinieneś znać, to -i
i -f
. -i
oznacza i nteractive; sprawia, że rm
wyświetla monit przed usunięciem KAŻDEGO pliku. -f
oznacza f orce; idzie naprzód i usuwa wszystko bez pytania. -i
jest bezpieczniejsze, ale -f
jest szybsze; używaj go tylko wtedy, gdy jesteś absolutnie pewien} usuwasz właściwą rzecz. Możesz je określić za pomocą -r
lub nie; jest to ustawienie niezależne.
I jak zwykle można łączyć przełączniki: rm -r -i
to po prostu rm -ri
, a rm -r -f
to rm -rf
.
Zauważ również, że to, czego się uczysz, dotyczy bash
na każdym systemie uniksowym: OS X, Linux, FreeBSD itp. W rzeczywistości składnia rm
jest taka sama w prawie każda powłoka na każdym uniksowym systemie operacyjnym. OS X, pod maską, to tak naprawdę system uniksowy BSD.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-15 01:31:54
Więc szukałem wszędzie sposobu, aby usunąć wszystkie pliki w katalogu z wyjątkiem niektórych katalogów i plików, które chciałem zatrzymać. Po długich poszukiwaniach wymyśliłem sposób, aby to zrobić za pomocą find.
find -E . -regex './(dir1|dir2|dir3)' -and -type d -prune -o -print -exec rm -rf {} \;
Zasadniczo używa regex, aby wybrać katalogi do wykluczenia z wyników, a następnie usuwa pozostałe pliki. Chciałem to tu umieścić, gdyby ktoś inny tego potrzebował.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-25 18:33:08