*
соответствует всем не точечным файлам, .[!.]*
соответствует всем точечным файлам, за исключением .
файлов, имя которых начинается с ..
, и ..?*
соответствует всем точечным файлам, кроме ..
. Вместе они соответствуют всем файлам, кроме .
и ..
. Если какой-либо из этих трех шаблонов ничего не соответствует, он расширяется сам по себе; rm -f
не заботится о несуществующих аргументах, так что это не имеет значения.
rm -rf ..?* .[!.]* *
Вы также можете использовать find
. Это сложнее, но имеет преимущество работы даже в том случае, если существует так много файлов, что указанные выше символы подстановки выходят за пределы длины командной строки вашей системы.
find . -name . -o -prune -exec rm -rf -- {} +
Возможно, вам будет проще удалить и заново создать каталог. Это имеет преимущество (или недостаток, в зависимости от обстоятельств) в результате создания пустого каталога, даже если другая программа одновременно создает файлы в исходном каталоге.