Файлы с “базовым” именем

Получите размер файла, substract два. Вы получаете $n (как с n=$(wc -c < the-file)) и выполненный

dd bs=1 seek="$n" < /dev/null of=the-file

Или если у Вас есть a truncate это поддерживает отрицательные смещения (значение смещений от конца файла):

truncate  -s -2 the-file

Или с ksh93:

: 1<>; the-file >#((EOF-2))

( <>; специальная форма <> стандартный оператор перенаправления, который усекает файл после команды (здесь :) возвраты, если это успешно выполнилось, >#((...)) искать оператор).

0
10.01.2014, 12:02
1 ответ

Или как я могу быть уверен в некоторых файлах, что они - дампы ядра для удаления их?

Использовать file проверять это. Это печатает core file если Ваш файл является базовым файлом: Например:

> file ./core.17511
./core.17511: ELF 64-bit LSB core file x86-64, version 1 (SYSV), SVR4-style, from './main'

Это что man file говорит:

файл тестирует каждый аргумент в попытке классифицировать его.

Распечатанный тип будет обычно содержать один из текста слов (файл содержит только печатающие символы и несколько символов общего контроля и вероятно безопасен читать на терминале ASCII), исполняемый файл (файл содержит результат компиляции программы в форме, понятной к некоторому ядру UNIX, или другой), или данные, означающие что-либо еще (данные являются обычно 'двоичными' или непечатаемыми). Исключениями являются известные форматы файлов (базовые файлы, архивы tar), которые, как известно, содержат двоичные данные.

4
28.01.2020, 02:21

Теги

Похожие вопросы