Понятый это:
Порт должен быть установлен на 22 для ssh, не моего порта пользователя.
http://en.wikipedia.org/wiki/List_of_well-known_ports_%28computing%29#Well-known_ports
rm -rf /config/filegroups/*
Если Вы хотите удалить только каталоги (и символьные ссылки на каталоги), оставляя какие-либо файлы внутри /config/filegroups
нетронутый, можно использовать запаздывающую наклонную черту:
rm -rf /config/filegroups/*/
Если Вы хотите удалить каталоги с именами, начинающимися a .
также, принятие Вас имеет довольно недавний удар, необходимо использовать опцию оболочки dotglob:
shopt -s dotglob
rm -rf /config/filegroups/*/
shopt -u dotglob
Это удалит все файлы и каталоги под /config/filegroups
включая "скрытые" файлы и каталоги (имена, запускающиеся с .
).
find /config/filegroups -mindepth 1 -maxdepth 1 | xargs rm -rf
Если имена файла или каталога содержат пробелы, необходимо сделать это как это:
find /config/filegroups -mindepth 1 -maxdepth 1 -print0 | xargs -0 rm -rf
Премия: можно сначала проверить то, что будет удаленным как это:
find /config/filegroups -mindepth 1 -maxdepth 1
Если Вы хотите сохранить определенные файлы или каталоги, можно сделать это как это:
find /config/filegroups -mindepth 1 -maxdepth 1 -not -name "keep"
-delete
отказывается удалять не пустые каталоги. -maxdepth
переопределения -depth
, который необходим -delete
удалить не пустые каталоги. Без -maxdepth
Вы не можете легко видеть, какие каталоги будут удаленными, потому что это также перечисляет файлы в каталогах. Не использование -maxdepth
также средства Вы не можете легко использовать фильтры как -name
. Кроме того, -delete
удаляет каталоги путем удаления всех объектов внутри сначала, которые могут занять много времени, если это - большое и глубокое дерево.
– lesmana
16.08.2013, 13:46
Я предпочитаю использовать Найти
с с
-EXEC
, что бы сделать ваш звонок что-то вроде этого:
find /config/filegroups/ -maxdepth 1 -mindepth 1 -type d -exec rm -rf {} \;
Если вы уже находитесь в папке, вы можете просто ввестиrm -rf./**
Так:
cd /config/filesgroups
rm -rf./**
Это глобальный шаблон для удаления всех подпапок с локального пути..
./
относится к локальной папке... и **
ко всем папкам ниже..
Попробуйте это:
find /config/filegroups/* -type d -name filegroupA -prune -exec rm -rf {} \;