В старой версии Unix rm
команда удаляла каталоги, если они были пустыми. Из справочной страницы Research Unix восьмого издания для rm : «Если запись является каталогом, она удаляется, только если она пуста». Мне нравится это поведение, поэтому у меня есть этот псевдоним /etc/profile
: alias rm='rm -d'
я использую версию GNU coreutils rm
, в которой -d
говорится, что rm
нужно идти дальше и удалять каталоги, если они пусты.
Все идет нормально. Этот псевдоним позволяет мне использовать rm
как старые времена. Однако я бы хотел сделать еще один шаг вперед. я бы хотелrm
удалить каталог, даже если каталог содержит другие каталоги, при условии, что каталоги - единственное, что там есть. Неважно, насколько глубока структура каталогов, пока там нет файлов, просто пустые (как только вы дойдете до дна) каталоги, я бы хотел rm
удалить их все.
Может ли это быть записано как псевдоним, который по-прежнему функционирует как обычный rm
и удаляет все переданные ему файлы?
mkdir -p a/b1/c2 && mkdir -p a/b2/c2; rmdir -p a/b1/c1;
, у меня все еще остаются a, a / b2 и a / b2 / c2. То, что я хотел бы, чтобы передать только верхний уровень (в данном случае) rm
и удалить все, что ниже его.
rmdir -p
?