Muszę usunąć całą zawartość folderu w CentOS, ale nie sam folder.
Na przykład: Mam folder o nazwie „MYFOLDER”, który zawiera podfoldery FOLD_1, FOLD_2, FOLD_3, FOLD_4 ... itd. Oraz niektóre pliki. Muszę usunąć wszystkie te foldery i pliki, ale nie folder kontenerów MYFOLDER. Potrzebuję tego katalogu do kierowania wynikami poprzedniego procesu.
Próbowałem z rm -rf
poleceniem, ale to również usuwa folder kontenera.
shopt -s dotglob
pierwszy.rm -R /path/to/myfolder/*
jest poprawną składnią, aby uniknąć nadmiernego żądania zatwierdzenia usunięcia każdego pliku i podfolderu. Zwróć uwagę na stolicęR
.Możesz użyć:
Spowoduje to również usunięcie ukrytych plików i folderów. Jeśli masz zbyt wiele plików w katalogu MYFOLDER, powinieneś zamiast tego uruchomić:
źródło
meta/
katalogu, więc chciałem wypróbować alternatywę xargs, jednak otrzymuję te komunikaty o błędach:ls: cannot access meta/.[^.]: No such file or directory ls: cannot access meta/.??*: No such file or directory rm: missing operand
bash
powłoki. Powłoka musi obsługiwać „Rozwinięcie nawiasu klamrowego” i „Wyrażenia regularne” dla wzorców plików.Moim zdaniem najłatwiejszym sposobem jest usunięcie całego katalogu, w tym samego siebie, a następnie odtworzenie folderu. Są sytuacje, w których nie jest to dobre rozwiązanie (takie jak nienadzorowane skrypty lub bardziej złożone potoki), ale nie określono, dlaczego nie chcesz usunąć folderu.
Ups Podałeś (ponownie przeczytałem twój post). Cóż, nadal usuwanie i odtwarzanie może działać. Zwłaszcza jeśli łączysz polecenia razem, na przykład
Lub
źródło
Co powiesz na
Usuwa to również ukryte pliki (te zaczynające się od kropki).
źródło
Spróbuj
rm -r -f filename
współpracować z CentOS 6.xźródło
Zdecydowanie polecam tę alternatywę (usuwa również pliki ze spacjami w nazwach):
źródło