Linux стереть содержимое файла

Стереть содержимое всех текстовых файлов в папке

А понятие «текстовый» у вас согласно его mime-type? А как вы определяете зулусский язык в Unicode, например?

4 ответа 4

что бы «стереть содержимое файлов», можно просто обрезать их размер до нуля. Для этого есть команда truncate —size 0 . Найти все файлы к каталоге (рекурсивно) можно такой командой find . -type f (где точка — текущий каталог).

Соединяем. Вначале запускаем

и смотрим на список файлов, что он соответствует требуемому. Если все ок, запускаем такое

find . -type f -exec truncate --size 0 <> \; 

запишет в файл (в самое начало) строку нулевой длины, тем самым как бы «сотрёт» содержимое файла.

аналогичное действие произведёт и такая, например, команда:

а чтобы произвести это действие со всеми файлами в текущем каталоге (и подкаталогах), можно, например, воспользоваться программой find:

$ find -type f -exec truncate -s 0 <> \; 

это если использовать вариант без перенаправления ввода/вывода (проще говоря — без > ).

если же требуется использовать перенаправление, придётся вызывать интерпретатор оболочки. с приведёнными выше вариантами:

$ find -type f -exec sh -c 'cp /dev/null > <>' \; $ find -type f -exec sh -c 'cat /dev/null > <>' \; $ find -type f -exec sh -c ': > <>' \; 

по поводу текстовых файлов

если требуется определить именно текстовый файл (на основе его содержимого), то, как советуют, например, здесь, можно использовать опцию -I программы grep.

$ find -type f -exec truncate -s 0 <> \; 

надо добавить вызов программы grep:

$ find -type f -exec grep -Iq . <> \; -and -exec truncate -s 0 <> \; 

аналогично и для других примеров.

Источник

5 Ways to Empty or Delete a Large File Content in Linux

Occasionally, while dealing with files in Linux terminal, you may want to clear the content of a file without necessarily opening it using any Linux command line editors. How can this be achieved? In this article, we will go through several different ways of emptying file content with the help of some useful commands.

Caution: Before we proceed to looking at the various ways, note that because in Linux everything is a file, you must always make sure that the file(s) you are emptying are not important user or system files. Clearing the content of a critical system or configuration file could lead to a fatal application/system error or failure.

Читайте также:  Чем разархивировать в линукс

With that said, below are means of clearing file content from the command line.

Important: For the purpose of this article, we’ve used file access.log in the following examples.

1. Empty File Content by Redirecting to Null

A easiest way to empty or blank a file content using shell redirect null (non-existent object) to the file as below:

Empty Large File Using Null Redirect in Linux

2. Empty File Using ‘true’ Command Redirection

Here we will use a symbol : is a shell built-in command that is essence equivalent to the true command and it can be used as a no-op (no operation).

Another method is to redirect the output of : or true built-in command to the file like so:

# : > access.log OR # true > access.log

Empty Large File Using Linux Commands

3. Empty File Using cat/cp/dd utilities with /dev/null

In Linux, the null device is basically utilized for discarding of unwanted output streams of a process, or else as a suitable empty file for input streams. This is normally done by redirection mechanism.

And the /dev/null device file is therefore a special file that writes-off (removes) any input sent to it or its output is same as that of an empty file.

Additionally, you can empty contents of a file by redirecting output of /dev/null to it (file) as input using cat command:

Empty File Using cat Command

Next, we will use cp command to blank a file content as shown.

Empty File Content Using cp Command

In the following command, if means the input file and of refers to the output file.

Empty File Content Using dd Command

4. Empty File Using echo Command

Here, you can use an echo command with an empty string and redirect it to the file as follows:

# echo "" > access.log OR # echo > access.log

Empty File Using echo Command

Note: You should keep in mind that an empty string is not the same as null. A string is already an object much as it may be empty while null simply means non-existence of an object.

For this reason, when you redirect the out of the echo command above into the file, and view the file contents using the cat command, is prints an empty line (empty string).

To send a null output to the file, use the flag -n which tells echo to not output the trailing newline that leads to the empty line produced in the previous command.

Empty File Using Null Redirect

5. Empty File Using truncate Command

The truncate command helps to shrink or extend the size of a file to a defined size.

Читайте также:  Проверить владельца файла linux

You can employ it with the -s option that specifies the file size. To empty a file content, use a size of 0 (zero) as in the next command:

Truncate File Content in Linux

That’s it for now, in this article we have covered multiple methods of clearing or emptying file content using simple command line utilities and shell redirection mechanism.

These are not probably the only available practical ways of doing this, so you can also tell us about any other methods not mentioned in this guide via the feedback section below.

Источник

Как очистить файл в 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» как можно очистить содержимое файла. Некоторые скажут что это банально, взял удалил файл и создал заново, делов то. Но иногда это не проще и не выход.

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

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