Использование команды «Truncate» в Linux
Иногда нам нужно удалить содержимое файла, не удаляя его; для этого операционная система Linux предлагает команду «truncate». Она используется для увеличения или уменьшения размера файла. Усечение файла происходит гораздо быстрее и проще, без изменения прав доступа и владения файлом.
Усеченный размер зависит от исходного размера файла; дополнительные данные будут потеряны, если размер файла больше указанного.
Установка пакетов Coreutils
Команда «truncate» поставляется с большинством дистрибутивов Linux. В Debian или Ubuntu ее можно установить, если она отсутствует, с помощью команды, приведенной ниже:
В CentOS это можно сделать с помощью команды
Очистить содержимое файла
Используйте опцию «-s» для удаления содержимого файлов. Это более предпочтительный способ, чем ручное удаление файла. Команда truncate эффективно удаляет все содержимое файла. Она не удаляет сам файл, а оставляет его на диске в виде файла с нулевым байтом.
Давайте воспользуемся командой truncate, чтобы очистить файл file.txt до 0 байт:
При использовании команды truncate разрешения и права собственности на файл будут сохранены.
Усечение файла до определенного размера
Давайте усечем файл до размера 100 байт:
Чтобы усечь размер файла до 300K:
Увеличение размера файла
Вы можете увеличить размер файла, используя опцию «+» с «-s»
Я бы хотел увеличить размер файла с 300к до 600к байт:
Уменьшение размера файла
Допустим, у вас есть файл размером 600k и вы хотите уменьшить его размер до 270k, используйте опцию «-s» и «-» с указанием размера:
Как очистить большой файл в Linux?
Выше Dmitriy Loginov правильно дал команду, но чуть добавлю свои 5 копеек, т.к. такой вариант считается более кашерным:
sudo bash -c ‘>/путь/logfile.log’
или с двойными кавычками, что иногда необходимо в скриптах или комбинациях команд:
sudo bash -c «>/путь/logfile.log»
Чистит до нуля файл любого размера и любого расширения.
Например файл видоса:
sudo bash -c ‘>/путь/vidos.avi’
- Вконтакте
Можно вот так почистить с сохранением последних 100 строк:
LOG=$(tail -n100 file) && echo «$LOG»>file
а так по сути любое перенаправление «>» перезапишет содержимое файла не меняя его inode.
echo «» > file
Из команд —
truncate -s BYTES file
но оно обнуляет с начала файла, то есть -s 0 имеет смысл, остальные размеры обычно не имеют смысла для лог файлов.
Русские Блоги
Иногда при обработке файлов в терминале Linux может потребоваться очистить файлы содержимого, не открывая редактор командной строки Linux. Как этого добиться? В этой статье мы очистим содержимое файла несколькими различными способами с помощью некоторых полезных команд.
предостережениеПеред тем, как мы продолжим углубляться в различные методы, обратите внимание, что, поскольку в Linux все является файлом, вы должны убедиться, что пользовательские или системные файлы, которые вы очищаете, не важны. Содержимое, которое очищается, является критическими системными файлами или файлами конфигурации, которые могут привести к фатальным программным / системным ошибкам или сбоям.
Сказав это, вот как очистить содержимое файла из командной строки.
важный: Мы используем файл access.log в примерах, приведенных в этой статье.
1. Очистите файл, перенаправив на ноль
Один из самых простых способов очистить содержимое файла — использовать оболочку для перенаправления нулевых (несуществующих объектов) в файл.
2. Очистите файлы, используя «истинное» именованное перенаправление
Здесь мы будем использовать символы : Это также встроенная команда оболочки, которая по существу эквивалентна true Команду можно использовать как нулевой оператор.
Другой способ — использовать встроенные команды: Илиtrue Вывод перенаправляется в файл следующим образом:
3. Empty File Using cat/cp/dd utilities with /dev/null
В Linux нулевое устройство в основном используется для отбрасывания ненужных выходных потоков во время процесса или подходящего пустого файла в качестве входного потока. Обычно это достигается с помощью механизма перенаправления.
следовательно, /dev/null Файл устройства — это специальный файл, который удаляет любые входные или выходные данные, которые отправляются ему как пустой файл.
Чтобы расширить, вы можете использовать cat Переадресация имен /dev/null Выходное содержимое файла очищается в файл.
Следующее использованиеcp Команда для побелки файла выглядит следующим образом:
В следующей команде if Является ли входной файл, of Является ли выходной файл.
4. Очистите файл с помощью команды echo
Здесь мы используем echo Команда и пустая строка перенаправляются в файл следующим образом:
нота: Вы должны знать, что пустая строка не равна нулю. Строка уже является объектом, она может быть пустой, а null означает, что объект не существует.
По этой причине, когда вы используете echo Команда для перенаправления вышеуказанного файла и использования cat Команда для просмотра содержимого файла и вывода пустой строки (пустой строки).
Чтобы отправить нулевой вывод в файл, используйте флаг -n, который сообщает echo Никаких разрывов строк после вывода и пустых строк, генерируемых предыдущей командой.
5. Очистите файлы, используя усеченное именование
truncateКоманда помогает уменьшить или расширить размер файла до определенного размера.
Вы можете использовать опцию -s, чтобы указать размер файла. Следующая команда очищает содержимое файла, указав размер файла 0:
Теперь в этой статье мы ввели несколько методов очистки или очистки содержимого файлов с использованием простых утилит командной строки и механизмов перенаправления оболочки. Но это могут быть не единственные практические способы сделать это.
Интеллектуальная рекомендация
Атрибуты прототипа, цепочки прототипов и конструктора в js
Атрибуты прототипа и конструктора в js Каждая функция имеет свойство прототипа, внутри свойства есть указатель на объект, объект, на который указывает, называется объектом-прототипом. Примечание: как .
Удалить программное обеспечение, удалить информацию о списке регистрации
Удалить программное обеспечение, удалить информацию о списке регистрации После удаления программного обеспечения может возникнуть остаточная регистрационная информация, завершите удаленную регистрацио.
POJ1204 Word Puzzles
Word Puzzles Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 12319 Accepted: 4638 Special Judge Description Word puzzles are usually simple and very.
Docker запускает платформу управления контейнерами DDC, бесплатная пробная версия 30 дней
Докер объявил 23 февраля, чтобы представить контейнерную платформу Docker Docker (DDC), который может управлять созданием, управлением и доставкой контейнера, в настоящее время открытой для бесплатной.
Второе Drop Cloud SMS проверка Вход в систему Небольшая демо
SMS проверки вход в систему Здесь используется всплывающее окно Layui, а CSS of Mayui лучше, поэтому основная часть состоит в том, чтобы получить динамический код и вход в систему, ниже — это окно вхо.
How to empty ("truncate") a file on linux that already exists and is protected in someway?
I have a file called error.log on my server that I need to frequently truncate. I have rw permissions for the file. Opening the file in vi > deleting all content > saving works (obviously). But when I try the below
I get the message
Obviously there is some kind of configuration done on the server to prevent accidental overriding of files. Can anybody tell how do I «truncate» the file in a single command?