Иногда нам нужно удалить содержимое файла, не удаляя его; для этого операционная система Linux предлагает команду "truncate". Она используется для увеличения или уменьшения размера файла. Усечение файла происходит гораздо быстрее и проще, без изменения прав доступа и владения файлом.
Усеченный размер зависит от исходного размера файла; дополнительные данные будут потеряны, если размер файла больше указанного.
Установка пакетов Coreutils
Команда "truncate" поставляется с большинством дистрибутивов Linux. В Debian или Ubuntu ее можно установить, если она отсутствует, с помощью команды, приведенной ниже:
1 | apt install coreutils |
В CentOS это можно сделать с помощью команды
1 | yum install coreutils |
Очистить содержимое файла
Используйте опцию "-s" для удаления содержимого файлов. Это более предпочтительный способ, чем ручное удаление файла. Команда truncate эффективно удаляет все содержимое файла. Она не удаляет сам файл, а оставляет его на диске в виде файла с нулевым байтом.
Давайте воспользуемся командой truncate, чтобы очистить файл file.txt до 0 байт:
1 | truncate -s 0 file.txt |
При использовании команды truncate разрешения и права собственности на файл будут сохранены.
Усечение файла до определенного размера
Давайте усечем файл до размера 100 байт:
1 | truncate -s 100 Test.txt |
Чтобы усечь размер файла до 300K:
1 | truncate -s 300k Test.txt |
Увеличение размера файла
Вы можете увеличить размер файла, используя опцию "+" с "-s"
Я бы хотел увеличить размер файла с 300к до 600к байт:
1 | truncate -s +300k Test.txt |
Уменьшение размера файла
Допустим, у вас есть файл размером 600k и вы хотите уменьшить его размер до 270k, используйте опцию "-s" и "-" с указанием размера:
1 | truncate -s -270k Test.txt |
Текущий размер файла составляет 330k.
Получение справки
Чтобы получить справочное сообщение, используйте:
1 | truncate --help |
Проверка версии
Чтобы проверить версию команды truncate, используйте:
1 | truncate --version |