Верх страницы
Обложка к записи Как очистить файл в Linux
Время для прочтения: 0 мин. 3 сек.

Как очистить файл в Linux

Быстрая очистка содержимого файла (его обнуление) — часто встречающаяся задача для любого программиста, владеющего начальными навыками пользования консоли Linux.

Мои способы

Будьте внимательны и осторожны, так как некторые методы, приведенные в данном посте, требуют расширенных прав пользовтеля или установленных утилит в вашей системе.

Способ 1

Самый простой способ — это использование перенаправление вывода с использованием >:


> filename

Способ 2

Способ аналогичен предыдущему, но с использованием утилиты echo. Параметр -n запрещает выводить перевод строки (символ новой строки):


echo -n > filename

Способ 3

Магический файл /dev/null — это своего рода Бермудский треугольник вашего компьютера, все, что туда попадает, пропадает бесследно.


cat /dev/null > filename

Если при использовании данного варианта вы получили сообщение об ошибке File already exists, можно использовать опцию noclobber:


cat /dev/null >| filename

Способ 4

Суть его заключается в копировании магического файла в очищаемый вами:


cp /dev/null filename

Способ 5

Можно также использовать утилиту truncate, которая уменьшаяет или увеличивает размер файла:


truncate -s 0 filename

Способ 6

Есть возможность комбинировать методы. Например, используя утилиту tee, которая считывает данные из стандартного устройства ввода и записывает их на стандартное устройство вывода или в файл:


echo -n | tee $@

Комментарии приветствуются.

ВКонтакте
Одноклассники
Telegram
Комментарии
Подписаться
Уведомить о
guest
7 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Константин
Константин
3 лет назад

Мне понравился метод cat /dev/null >| filename

Андрей
Андрей
3 лет назад

Первый способ самый короткий!

Guest
Guest
2 лет назад

Вы спасли мне жизнь 🙂 спасибо, использовался метод с truncate

Виктор
Виктор
2 месяцев назад

truncate (способ 5) мне помог, спасибо.
Можно указать в статье, что truncate подходит для очистки множества файлов.
Пример: truncate -s 0 $(ls -1 *.txt)

Последний раз редактировалось 2 месяцев назад Виктор ем