Jak usunąć katalog z Terminalu bez znajomości jego nazwy?

1

Mam katalog, który chcę usunąć. Nazwa katalogu to losowy ciąg liter i cyfr. Znam ścieżkę do jej katalogu nadrzędnego, więc jak rekurencyjnie usunąć zawartość tego katalogu?

W katalogu nadrzędnym nie ma innych plików / katalogów.

Wiem, że muszę zrobić coś takiego:

$ rm -r path_to_dir

ale ponieważ nie mam nazwy katalogu, nie jestem pewien, czy to zadziała.

stackErr
źródło
Czy istnieje powód, dla którego nie można usunąć folderu nadrzędnego, a następnie go odtworzyć?
soandos
@soandos Hahaha teraz czuję się głupio: $
stackErr

Odpowiedzi:

1

Zarozumiały path_to_dir jest ścieżką do katalogu nadrzędnego, możesz po prostu to zrobić:

rm -r path_to_dir/*

Gwiazdka ( * ) jest symbolem wieloznacznym, więc rekurencyjnie usuwa wszystko w katalogu nadrzędnym. Jest to łatwiejsze niż usunięcie i ponowne utworzenie całego katalogu nadrzędnego, zwłaszcza jeśli na przykład ma pewne uprawnienia niestandardowe, które chcesz zachować.

Indrek
źródło
rmdir path_to_parent / * działałby i jest bezpieczniejszy, ponieważ usuwa tylko puste foldery, ale nie rekursywnie (ponieważ folder z folderem w nim nie jest pusty).
Ярослав Рахматуллин
@ Ярослав Рахматуллин to nie działa dla mnie, ponieważ katalog zawiera inne pliki i foldery.
stackErr
0

Powinieneś spróbować zrobić coś takiego:

rm -rf path_name
mkdir path_name

soandos
źródło
Przyjmuję odpowiedź Indreka, ponieważ jego rozwiązanie jest tym, czego szukałem.
stackErr
@Indrek ma czystsze rozwiązanie (choć moje będzie działać)
soandos