Зачем мы меняем размер файла?
Причины, по которым вам может понадобиться явно задать размер файла, могут быть самыми разными – от простых задач программирования до сложных вопросов безопасности, но в целом при написании кода вы часто работаете с данными определенного размера, и они должны быть не только одинаковыми в разных системах (которые часто имеют немного разные интерпретации), но и фиксированными и предсказуемыми. Это означает, что если ваше приложение полагается на определенный размер файла, чтобы его функциональность работала должным образом, наличие явного контроля над размером этого файла может предотвратить неожиданное поведение из-за неконтролируемой переменной.
Кроме того, строгий контроль над создаваемыми файлами – это хорошая практика в целом по соображениям безопасности; он предотвращает случайные утечки, которые могут быть опасны или раскрывать конфиденциальные системные данные, и защищает от потенциальных атак с помощью техники переполнения буфера, когда большой файл переполняет границы памяти и позволяет выполнить неавторизованный код (форма удаленного взлома). Наконец, если вы работаете с каким-либо видом шифрования файлов, необходимость в этом более очевидна. Та же причина, по которой необходимо контролировать размер файла при написании кода, – предотвращение ошибок из-за неожиданно больших файлов – распространяется не только на кодирование, но и на шифрование, поскольку и то, и другое требует точного контроля над тем, как хранится информация и как к ней обращаются. Поэтому очень важно понимать и правильно управлять (устанавливать, сбрасывать, изменять) любыми такими размерами в любое время.
Как его использовать?
Для операционной системы Linux существуют утилиты, которые помогут сократить и расширить данные с помощью простого синтаксиса использования. Давайте рассмотрим алгоритм и способ их использования! Прежде всего нам понадобится пакет обновления:
apt update && apt upgrade -y
Затем мы можем загрузить необходимый пакет через менеджер пакетов приложений, который получает данные из доверенных репозиториев:
apt install coreutils -y
Как мы видим на рисунке выше, у нас уже установлено программное обеспечение, поэтому, наконец, рассмотрим синтаксис: truncate -OPTIONS -FILE. Мы можем сократить файл с помощью опции размера, например, ваш файл называется example.txt, его текущий размер составляет 5 МБ, и вы хотите сократить его до 1 МБ:
truncate -s -4M example.txtОпция -s указывает размер, минус означает арифметическое действие над текущим размером файла, чтобы убедиться, что мы можем проверить список:
ls -l
Важное предупреждение! Если размер файла больше нового значения размера, то дополнительные данные будут удалены, не сжимайте! С другой стороны, если размер меньше значения, утилита добавит дополнительные данные с нулевыми записями.
Если нам нужно указать определенное значение, команда будет такой же, как мы описали выше, но мы не будем использовать арифметический знак:
truncate -s 0M example.txtЭта командная строка очищает данные в файле без их удаления, другими словами, в результате мы получаем пустой файл! Давайте убедимся в этом:
ls -l 
Также мы можем использовать + для увеличения размера файла, знак слеша / для округления вниз до кратного числа, а процентный сингл % для увеличения до кратного числа!
Освоение использования truncate позволяет пользователям контролировать размеры файлов, способствуя более предсказуемому и безопасному управлению файлами в средах Linux.