Мой компьютер на работе имеет тенденцию генерировать чрезмерную сумму базовых файлов, которые могут быть полезны для отладки, но медленно поднимать все свободное место на моем компьютере. Я сделал эту команду для удаления всех базовых файлов, учитывая, что они все запускают с "ядра".
locate /core. | grep -v core.h | grep -v core.c | grep -v core.py \
| grep -v core.xml | grep -v core.txt | grep -v .gz \
| grep -v core.so | grep -v chrome |sudo xargs rm
Это работает, но это является громоздким и удалило бы, говорят core.sh
если тот файл существовал на моем компьютере. Я думаю, что лучший путь был бы:
file
file
говорит базовый файл. Предположение, что файл является базовым файлом если и только если вывод file file_name
содержит фразу "ELF 64-разрядный файл x86-64 ядра LSB".sudo xargs rm
Но я не знаю, как ступить три в тот список.
Я закончил тем, что делал его сам в Python.
#!/usr/bin/env python2
from subprocess import PIPE, Popen
def is_core_file(filepath):
''' Use file command to determine if something is an actual core file.'''
prog = Popen(["file", filepath], stdin=PIPE, stdout=PIPE)
out = prog.communicate()[0]
return "core file" in out
def main():
prog = Popen(["sudo", "updatedb"], stdin=PIPE, stdout=PIPE)
prog.communicate()
prog = Popen(["locate", "/core."], stdin=PIPE, stdout=PIPE)
cores = prog.communicate()[0].split('\n')
for core in cores:
if is_core_file(core):
print("deleting " + core)
prog = Popen(["sudo", "rm", "-f", core])
if __name__ == '__main__':
main()
Отредактированный для использования основной.
Я использовал Linux каждый начиная с Hardy Heron, и я наткнулся на этот сценарий строки, который удалит файлы дампа ядра чисто и безопасно. Я не помню, где я первоначально нашел его, но это работает отлично. Введите следующую строку как суперпользователь, конечно:
find / -type f -name core -atime +1 -exec rm {} \;
Вот именно. Очень простой и с надлежащей заменой может использоваться для удаления/tmp и/var/tmp файлов. Атрибут-atime является переменным, таким образом, можно решить, сколько дней файлов Вы хотите сохранить или нет. Всегда пробуйте простые решения сначала.
Объединяя два ответа:
find / -type f -name core -atime -exec file {} \; | grep "ELF 64-bit LSB core file x86-64".