Быстрая очистка содержимого файла
Автор: Нагибин Владимир . Дата статьи: 28.10.2009 г.
Предположим, что мы имеем какой-либо файл (с каким-либо содержимым), который необходимо быстро очистить. Или, к примеру, это может быть случай, когда вы хотите создать файл с тем же названием, что уже существует в папке, но уже с другим содержимым. Не удалять же существующий и не создавать же новый!
Гораздо проще воспользоваться возможностью быстрой очистки содержимого файла.
Для того, чтобы очистить содержимое файла в Linux, достаточно ввести в командной строке следующее:
Эта команда позволит очистить файл file.txt (в вашем случае его название может быть другим) в считанные секунды (время конечно же зависит от размера файла).
Можно воспользоваться другим способом и выполнить команду:
$ cat /dev/null > file.txt
но, она, как мы видим, имеет длину на несколько символов больше (сравните cp и cat )
Для новичков: системный файл /dev/null, имеющийся в Linux, являет собой так называемую «черную дыру» (или попросту — «пустоту»). Не пробуйте отправлять в нее какие-либо важные или системные файлы. Это принесет вам только неприятности.
IT-поддержка
Оказываем квалифицированную помощь в поддержке Вашей IT-инфраструктуры
linux-notes.org
Хочу описать в своей статье «Удалить все содержимое файла в Unix/Linux» как можно очистить содержимое файла. Некоторые скажут что это банально, взял удалил файл и создал заново, делов то. Но иногда это не проще и не выход.
Тем более для общего развития, та кому то и пригодиться. Я вот, например, не все методы знал.
1. Если вы хотите очистить содержимое файла вы можете просто удалить файл и создать его заново:
2. Существуют и другие методы очистки файла, например методом «echo».
Чтобы очистить свой файл, просто введите следующую команду. Я использую свой php_error.log файл, например.
3. Можно удалить содержимое файла с помощью редакторов, например VI/VIM. Открываем файл, я открою его vim:
Когда открылся редактор, нажимаем «dG» и чтобы сохранить, используем сначала «:» и наживаем «wq» после чего нажимаем энтер.
PS: Команды нужно использовать без кавычек.
4. Используем null для очистки файла:
5. Еще 1 интересная команда для очистки файла:
6. С помощью текстового редактора SED:
Тема «Удалить все содержимое файла (очистить файл) в Unix/Linux» завершена.
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.
Трюк в командной строке — Очистить содержимое файла
Рассмотрим очень простой способ, с помощью которого можно быстро очистить содержимое файла в Linux, но не удалять его.
Очистка содержимого файла
Чтобы очистить содержимое файла, не удаляя самого файла, можно использовать следующую команду:
В результате выполнения данной команды содержимое файла myfile будет очищено, и мы получим пустой файл.
Очистка содержимого файла с использованием sudo
Описанный выше способ не работает, если вам нужно использовать sudo, то есть очистить файл от имени суперпользователя.
Для очистки файла с использованием sudo можно использовать команду:
Еще несколько способов
Есть множество способов, с помощью который можно очистить содержимое файла, используя командную строку Linux. Вот некоторые из них:
Будьте внимательны при использовании команд, которые очищают содержимое файлов, чтобы случайно не удалить нужные данные. Не забывайте делать резервные копии.
Как очистить файл в Linux
Быстрая очистка содержимого файла (его обнуление) — часто встречающаяся задача для любого программиста, владеющего начальными навыками пользования консоли Linux.
Мои способы
Будьте внимательны и осторожны, так как некторые методы, приведенные в данном посте, требуют расширенных прав пользовтеля или установленных утилит в вашей системе.
Способ 1
Самый простой способ — это использование перенаправление вывода с использованием > :
Способ 2
Способ аналогичен предыдущему, но с использованием утилиты echo . Параметр -n запрещает выводить перевод строки (символ новой строки):
Способ 3
Магический файл /dev/null — это своего рода Бермудский треугольник вашего компьютера, все, что туда попадает, пропадает бесследно.
Если при использовании данного варианта вы получили сообщение об ошибке File already exists , можно использовать опцию noclobber :
Способ 4
Суть его заключается в копировании магического файла в очищаемый вами:
Способ 5
Можно также использовать утилиту truncate , которая уменьшаяет или увеличивает размер файла:
Способ 6
Есть возможность комбинировать методы. Например, используя утилиту tee , которая считывает данные из стандартного устройства ввода и записывает их на стандартное устройство вывода или в файл:
Как очистить содержимое файла в Linux при помощи командной строки.
Рассмотрим очень простой способ, с помощью которого можно быстро очистить содержимое файла в Linux, но не удалять его.
Очистить содержимое файла
Чтобы очистить наш файл, не удаляя самого файла, можно использовать следующую команду:
В результате выполнения данной команды содержимое файла myfile будет очищено, и мы получим пустой файл.
Описанный выше способ не работает, если вам нужно использовать sudo, то есть очистить файл от имени суперпользователя.
Как очистить файл в Linux через sudo
Для очистки файла с использованием sudo можно использовать команду:
Есть множество способов, с помощью который можно получить очищенный файл, используя командную строку Linux. Вот некоторые из них:
Будьте внимательны при использование данных команд. Вы можете случайно удалить нужные данные. Перед изменением какого-либо файла не забывайте делать его резервную копию.
Как очистить файл журнала в Linux
Вы окажетесь в ситуациях, когда вам нужно очистить файл. Это часто случается, когда у вас огромные файлы журналов, и как бы вы это сделали?
Один не очень чистый способ – удалить файл, а затем создать новый файл. Но это не очень хорошая идея. Это не будет тот же файл, временная метка (atime, mtime и т. д.). Будет отличаться вместе с другими правами доступа к файлам.
Вместо создания нового пустого файла вы можете удалить его содержимое. Итак, как вы очищаете файл в Linux? Как очистить файл от всего его содержимого без удаления самого файла?
4 способа очистить файл в Linux
Существует несколько способов очистки файла без его фактического удаления. Позвольте нам показать вам некоторые из этих методов.
Способ 1: усечь файл с помощью команды truncate
Самый безопасный способ обрезать файл журнала – использовать команду truncate.
В приведенной выше команде -s используется для установки/настройки размера (в байтах) файла. Когда вы используете -s 0, это означает, что вы изменили размер файла до 0 байт.
Способ 2: Пустой файл, используя :> или >
Самый простой способ очистить файл – использовать команду ниже. Если файл не используется, он будет работать в Bash:
Хотя вышеперечисленное работает только в Bash Shell, вы можете использовать аналогичную команду для других оболочек:
Вы также можете использовать эту команду для очистки файла:
Способ 3: использование команды echo для очистки файла в Linux
Другой способ очистить файл – использовать команду echo в Linux:
Вы также можете использовать команду echo следующим образом:
Способ 4: используйте /dev/null, чтобы очистить файл
Вы также можете использовать знаменитую /dev/null и объединить ее с командой cat для очистки файла журнала:
И если у вас недостаточно прав для какой-либо из вышеперечисленных команд, это верный выстрел, но немного грязный способ добиться этого:
Мы надеемся, что этот быстрый совет помог вам очистить файл в Linux. Добавьте нас в закладки для получения дополнительных советов по Linux.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Как очистить или удалить файлы журнала в Linux или UNIX?
Размер файла журнала моего веб-сервера довольно большой. Как удалить файл журнала в Linux, не помешав работе приложений? Существует ли правильный способ очистки файлов журналов в Unix?
Вы можете просто обрезать файл журнала, используя «> именя-файла«. Например, если имя файла журнала — /var/log/foo, попробуйте выполнить «> /var/log/foo» от имени пользователя root.
Как очистить содержимое файла журнала из командной строки?
Скажем, вы хотите очистить содержимое файла журнала с именем /var/log/messages, выполните:
Следующая команда совместима с различными оболочками Linux и Unix:
Проверьте размер файла:
Если вы действительно хотите удалить или очистить файл, введите следующую команду rm:
Удаление файлов журнала в Linux или UNIX с использованием команды truncate
Используйте команду truncate, чтобы уменьшить или увеличить размер каждого ФАЙЛА до указанного размера. Одним из способов очистки файла журнала с именем www.blog.sedicomm_access.log — выполнить следующую команду:
Другие команды для очистки/удаления содержимого файлов в Linux
Попробуйте команду cat:
Или команду cp:
Как очистить файл журнала, используя dd в Linux или Unix?
Введите команду dd следующим образом:
Как очистить файл в Linux с помощью echo /printf?
Еще один метод — использовать команду echo:
Инструмент logrotate
Лучше всего использовать инструмент logrotate. Он предназначен для упрощения администрирования систем, которые генерируют большое количество файлов журналов. Данный инструмент позволяет автоматически увеличивать, сжимать, удалять и отправлять файлы журналов по почте. Каждый файл журнала может обрабатываться ежедневно, еженедельно, ежемесячно или только тогда, когда он становится слишком большим.
Заключение
В этой статье показано, как очистить или удалить содержимое большого файла журнала в системах, подобных Linux и Unix.
Спасибо за уделенное время на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!








