2015-11-03 2 views
0

У меня есть каталог с именем pics_temp, который является soooo big, я не могу даже ls этот каталог, и у него есть миллионы файлов. Я хотел бы удалить этот файл. Я не могу использовать rm или rmdir и xargs rm -rf, потому что это займет намного больше времени, и программа завершится сама по себе, что большой это каталог ... Есть ли способ удалить этот каталог?Удаление каталога в linux (не может даже в этом каталоге)

Можно ли написать сценарий оболочки и поместить его в задание cron или есть ли другой способ удалить содержимое в этом каталоге?

Благодарим за помощь.

+0

Я думаю, что это вне темы здесь, и вы должны опубликовать его на SuperUser –

+0

Почему вы считаете, что «программа закончится сама по себе»? Какая система ограничения времени ограничивает это ограничение? И даже если он заканчивается раньше, он достигнет определенного прогресса, и дальнейшие прогоны должны достигнуть большего прогресса, пока в конце концов он не закончится –

+0

Мне нужна эта папка, я хочу удалить содержимое в этой папке. Если я хочу удалить такой большой гигантский каталог, который работает быстрее. Пожалуйста, дайте мне ваш ценный совет. –

ответ

1

Пробег: find.

find pics_temp -mindepth 1 -print -delete 

find вызывается, как это не будет пытаться буфера большое количество имен файлов и не будет ограничена максимальной длины списка аргументов или долгое время он может принять раскошелиться процесс, в миллионы раз. -mindepth 1 приведет к его удалению изнутри pics_temp, но не к самому каталогу.

Он также не полагается на printf %s\\n * или ls или другие такие команды, которые все разделяют недостаток, требуя, чтобы все файлы были известны до того, как они начнут генерировать выходные данные.

В приведенной выше команде есть -print, которая будет печатать файлы перед удалением их. Это может быть полезно сообщить вам, что что-то действительно происходит, но это замедлит работу. Когда вы уверены, что он работает, вы можете удалить -print, чтобы команда выполнялась быстрее.

+1

Это также занимает время, чтобы удалить. –

+1

Независимо от того, как вы это делаете, потребуется много времени, чтобы удалить много файлов. – chepner