Верх страницы
Обложка к записи Как очистить файл в 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 $@

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

Автор: Кобзарёв Михаил

Русский разработчик с 20-ти летним стажем. Работаю с PHP, ООП, JavaScript, Git, WordPress, Битрикс, Joomla, Drupal, Opencart, DLE, Laravel, Moonshine, SuiteCRM.

Оптимизирую сайты под Google Page Speed, настраиваю импорты для больших магазинов на WooCommerce + WP All Import. Пишу плагины на заказ. Все мои услуги.

Веду блог о разработке, дайджест в телеграмме и в ВК.

Вы всегда можете нанять меня.

Комментарии
Подписаться
Уведомить о
guest

9 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Константин
Константин
6 лет назад

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

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

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

Guest
Guest
5 лет назад

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

Виктор
Виктор
3 лет назад

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

Последний раз редактировалось 3 лет назад Виктор ем
ЯЯЯ
ЯЯЯ
28 дней назад
Ответить на  Виктор

А что, обычными способами без терминала текстовый документ не очистился?

Предыдущая запись

Давайте дружить
в Telegram

Авторский блог вашего покорного слуги в Telegram про web, программирование, алгоритмы, инструменты разработчика, WordPress, Joomla, Opencart, Laravel, Moonshine, фильмы и сериалы