Ваш файл заполнен нулями, а не пуст. Обычный cat
выводит нули на стандартный вывод, но ваш терминал обычно отображает их как ничего, тогда как cat -v
представляет их как ^@
. ^@
представляет нулевой байт, поскольку значение байта "@" (0x40 или 64 )xor 64 (флип-бит 7 )равно нулю.
Почему он вдруг заполнился нулями, мы не можем сказать отсюда.
Этот родственный вопрос может быть информативным о представлении символа вставки.:Являются ли управляющие последовательности ASCII и пары управляющих символов частью стандарта?