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