Линукс как очистить файл

5 способов очистить или удалить содержимое большого файла в Linux

Иногда, работая с файлами в терминале Linux, вы можете захотеть очистить содержимое файла, не открывая его обязательно с помощью редакторов командной строки Linux. Как этого добиться? В этой статье мы рассмотрим несколько различных способов очистки содержимого файла с помощью некоторых полезных команд.

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

С учетом сказанного ниже приведены способы очистки содержимого файла из командной строки.

Важно : для целей этой статьи мы использовали файл access.log в следующих примерах.

1. Очистить содержимое файла путем перенаправления на Null

Самый простой способ очистить содержимое файла с помощью перенаправления оболочки null (несуществующий объект) в файл, как показано ниже :

Пустой большой файл с использованием Null Перенаправление в Linux

2. Пустой файл с использованием перенаправления команды true

Здесь мы будем использовать символ : – это встроенная команда оболочки, которая по сути эквивалентна команде true и может использоваться как безоперационная (без операции).

Другой Метод заключается в перенаправлении вывода встроенной команды : или true в файл следующим образом:

#:> access.logOR # true> access.log

Очистить большой файл с помощью команд Linux

3. Пустой файл Использование утилит cat/cp/dd с/dev/null

В Linux устройство null в основном используется для отбрасывания нежелательных выходных потоков процесса , или как подходящий пустой файл для входных потоков. Обычно это выполняется с помощью механизма перенаправления.

Поэтому файл устройства /dev/null является специальным файлом, который записывает (удаляет) любой ввод, отправленный на он или его вывод такие же, как и у пустого файла.

Кроме того, вы можете очистить содержимое файла, перенаправив на него вывод /dev/null (файл) в качестве ввода с помощью команды cat:

Очистить файл с помощью команды cat

Затем мы будем использовать команду cp для очистки содержимого файла, как показано.

Очистить содержимое файла с помощью команды cp

В следующей команде if означает входной файл, а of относится к выходному файлу.

# dd if =/ dev/null of = доступ. log

Очистить содержимое файла с помощью команды dd

4. Очистить файл с помощью команды echo

Здесь вы можете использовать команду echo с пустой строкой и перенаправить ее в файл следующим образом:

# echo ""> доступ .logOR # echo> access.log

Очистить файл с помощью команды echo

Читайте также:  Linux live usb сборки

Примечание . Помните, что пустая строка не то же самое, что и null. Строка уже является объектом, поскольку она может быть пустой, тогда как null просто означает отсутствие объекта.

По этой причине, когда вы перенаправляете команду out of echo выше в файл, и просмотрите содержимое файла с помощью команды cat, он печатает пустую строку (пустую строку).

Чтобы отправить нулевой вывод в файл, используйте флаг -n , который сообщает echo не выводить завершающую новую строку, которая ведет к пустой строке, созданной в предыдущей команде.

Пустой файл с нулевым перенаправлением

5. Очистить файл с помощью команды усечения

Команда truncate помогает уменьшить или увеличить размер файла до определенного размера.

Вы можете использовать его с параметром -s , который указывает размер файла. Чтобы очистить содержимое файла, используйте размер 0 (ноль), как в следующей команде:

Обрезать содержимое файла в Linux

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

Вероятно, это не единственные доступные практические способы сделать это, поэтому вы также можете сообщить нам о любых других методах, не упомянутых в этом руководстве, через отзывы раздел ниже.

Есть ли способ очистить половину файла вместо полной очистки?

Предположим, мне нужен файл с последним 10 дней журналов и возможность удаления/очистки старше 10 дней (я не хочу архивировать этот файл и заменять новый файл для свежих журналов), могу ли я очистить половину файла в файле?

Должен быть способ, но мы должны провести небольшое исследование по этому поводу, прежде чем мы сможем предложить вам решение.

Уважаемые, у меня есть файл журнала, в котором у меня есть журналы за 3 месяца, как я могу просто сохранить журнал за последние 30 дней и остаток для удаления. Как это сделать?

Как указать это условие, если размер файла журнала увеличивается на 2 ГБ, а затем очищаются данные месячной давности ..

Вам нужно будет сделать это через задание cron. ты знаком с cron? Вы должны написать сценарий, сохранить его где-нибудь, а затем запустить его через cron.

Сценарий должен обрабатывать логику разбора файла на строки, анализировать дату в каждой строке, а затем отбросьте строки с датой старше 30 дней.

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

# cp/dev/null/filefolder/Many files. # echo '' ' 

Проблема заключается в том, что файл автоматически создается или удаляется (динамический файл создается)

Ответ

Я знаю, что > и :> - это методы, которые очищают файл без фактического «касания» это, если файл уже используется.

Остальные методы работают так же? Мы всегда получаем билеты для больших файлов, и в 80% случаев нам нужно сжать содержимое файла и усечь или «обнулить» его, но проблема заключается в том, что файл уже используется, и мы не можем остановить процесс, использующий его. .

На данный момент я использовал только методы перенаправления, упомянутые в начале моего сообщения.

Ответ

@Lokiyo,

Всем известно, что > и :> - стандартные параметры для очистки содержимого большого файла, не касаясь его. Но есть и другие методы, которые работают так же, как показано в этой статье, я думаю, вам стоит попробовать и посмотреть ..

Ответ

Когда я открыл эту ссылку, я ожидал способов фактически избавиться от содержимого файла на диске. Все эти методы только отключают дисковое пространство от файла, оставляя содержимое на диске.
Однако из перечисленных вариантов я думаю, что «truncate -s 0» - лучший вариант.

Ответить

Система опустила слово «файл» в конце команды усечения, потому что я поместил его в знаки lt и gt.

Ответ

@James

Существуют и другие методы полного удаления содержимого файла с диска, такие как команда shred и некоторые другие. Вскоре мы создадим практическое руководство по этой теме.

Ответ

Другой простой вариант с использованием команды cat:
cat>/path/to/file
Затем нажмите Ctrl + D
Вуаля, пустой файл.

Ответьте

@Mike

Большое спасибо за полезные совет, это тоже очень просто.

Ответьте

все трюки с перенаправлением «>» одинаковы!

> file
:> файл
true> файл
cat/dev/null> файл
my_prog> файл (если my_prog не выводит результат)

, потому что оболочка обрезать (или создать) «файл» перед запуском команды (cat, true,…), наиболее важным является то, что команда не выводит ничего .

вы можете понять, что> file - это лучший, потому что для него не нужна другая программа!

Ответ

@Bruno

Это правда, основная идея заключается в использовании механизма перенаправления. Мы просто предлагаем различные альтернативы, которые пользователь может выбрать для использования, хотя они больше похожи на одинаковые.

Ответить

Источник

Читайте также:  Install opera on kali linux

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

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

Мои способы

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

Способ 1

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

Способ 2

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

Способ 3

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

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

Способ 4

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

Способ 5

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

Способ 6

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

Русский разработчик со стажем. Работаю с PHP, ООП, JavaScript, Git, WordPress, Joomla, Drupal. Оптимизирую сайты под Google Page Speed, настраиваю импорты для больших магазинов на WooCommerce + WP All Import. Пишу плагины на заказ. Все мои услуги. Веду блог о разработке, дайджест в телеграмме и в ВК. Вы всегда можете нанять меня.

Источник

Удалить все содержимое файла (очистить файл) в Unix/Linux

Хочу описать в своей статье «Удалить все содержимое файла в Unix/Linux» как можно очистить содержимое файла. Некоторые скажут что это банально, взял удалил файл и создал заново, делов то. Но иногда это не проще и не выход.

Тем более для общего развития, та кому то и пригодиться. Я вот, например, не все методы знал.

Читайте также:  Kali linux установка драйвера rtl8812au

1. Если вы хотите очистить содержимое файла вы можете просто удалить файл и создать его заново:

$ rm -rf /home/captain/file_for_delete.txt

2. Существуют и другие методы очистки файла, например методом «echo».

Чтобы очистить свой файл, просто введите следующую команду. Я использую свой php_error.log файл, например.

# echo -n > /home/captain/some_file_for_clear.txt

3. Можно удалить содержимое файла с помощью редакторов, например VI/VIM. Открываем файл, я открою его vim:

# vim /home/captain/some_file_for_clear.txt

Когда открылся редактор, нажимаем «dG» и чтобы сохранить, используем сначала «:» и наживаем «wq» после чего нажимаем энтер.

PS: Команды нужно использовать без кавычек.

4. Используем null для очистки файла:

# cat /dev/null > /home/captain/file_clean.sh
# cp /dev/null > /home/captain/file_clean.sh

5. Еще 1 интересная команда для очистки файла:

6. С помощью текстового редактора SED:

Тема «Удалить все содержимое файла (очистить файл) в Unix/Linux» завершена.

One thought on “ Удалить все содержимое файла (очистить файл) в Unix/Linux ”

Добавить комментарий Отменить ответ

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

Рубрики

  • Arch Linux (167)
  • Commands (36)
  • Debian’s (635)
    • Administration tools Ubuntu (37)
    • Backups Debian’s (7)
    • Database в Ubuntu (58)
    • Games (игры) (1)
    • Monitoring в Debian и Ubuntu (49)
    • Virtualization в Ubuntu / Debian/ Linux Mint (41)
      • Docker (22)
      • Kubernetes (6)
      • KVM (4)
      • OpenVZ (3)
      • Vagrant (5)
      • VirtualBox (6)
      • ArgoCD (1)
      • Concourse (1)
      • Gitlab (1)
      • Jenkinks (4)
      • Spinnaker (1)
      • Apache (32)
      • Cherokee (1)
      • FTP-services (5)
      • Lighttpd (1)
      • Nginx (26)
      • PHP (27)
      • Proxy для Debian’s (2)
      • Tomcat (4)
      • Панели управления в Ubuntu/Debian/Mint (24)
      • Установка и настройка почты на Ubuntu/Debian (12)
      • Хранилища (clouds) (2)
      • Administration tools freeBSD (19)
      • Database во FreeBSD (52)
      • Monitoring во freeBSD (37)
      • Virtualization во FreeBSD (22)
      • VoIP (1)
      • Установка Web сервисов (91)
      • Установка и настройка почты (6)
      • Установка из ports (пакетов) (19)
      • Установка из sorce code (исходников) (23)
      • Непрерывная интеграция (CI) (27)
      • Database в MacOS (36)
      • Monitoring в Mac OS (31)
      • Security (безопасность) (12)
      • Virtualization в Mac OS (30)
        • Docker (19)
        • Kubernetes (6)
        • Vagrant (5)
        • VirtualBox (5)
        • ArgoCD (1)
        • CircleCI (1)
        • Concourse (1)
        • Gitlab (1)
        • Jenkinks (4)
        • Spinnaker (1)
        • Administration tools CentOS (49)
        • Backups RPM’s (4)
        • Database в CentOS (68)
        • Monitoring в CentOS (67)
        • Virtualization в CentOS/ Red Hat/ Fedora (42)
          • Docker (23)
          • Kubernetes (6)
          • KVM (5)
          • OpenVZ (2)
          • Vagrant (5)
          • VirtualBox (6)
          • VMWare (3)
          • ArgoCD (1)
          • Concourse (1)
          • Gitlab (1)
          • Jenkinks (4)
          • Spinnaker (1)
          • Apache (35)
          • Cherokee (1)
          • DNS (3)
          • FTP (10)
          • Nginx (33)
          • PHP (34)
          • Proxy для RedHat’s (2)
          • Tomcat (2)
          • Voice (2)
          • Панели управления в CentOS/Red Hat/Fedora (27)
          • Прокси сервер на CentOS/RHEL/Fedora (4)
          • Установка и настройка почты на CentOS/RHEL/Fedora (14)
          • Хранилища (clouds) (1)

          соц сети

          Unix-Linux- в примерах

          Unix-Linux- в примерах

          Unix-Linux- в примерах

          Архив новостей

          Свежие записи

          Свежие комментарии

          • Глеб к записи Установка Adobe Flash Player в Debian/Ubuntu/Mint
          • Максим к записи Заблокировать User Agents используя Nginx
          • Денис к записи Как включить EPEL репозиторий на CentOS
          • Гость к записи Закомментировать/Раскомментировать строки vi/vim в Unix/Linux
          • Sergey к записи Установка и настройка OpenVPN сервера на Debian/Ubuntu/Linux Mint

          Источник

Оцените статью
Adblock
detector