Задать размер файла linux

Как создать файл с определенным размером?

Мне нужен файл с определенным и размером и так, чтобы в нем был валидный base64. После этой команды файл не открывается (а значит не подходит):

dd if=/dev/zero of=file.trash bs=1M count=20 

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

Поскольку base64 делает из 3-х байт 4, то любой размер не м.б. валидным. Уточните, Вы хотите задать размер файла с base64 или до него?

И чем вы интересно «открываете» base64. Напишите свою функцию декодирования base64, которая проигнорирует неверно декодируемый остаток и развернет все до него

2 ответа 2

Используйте команду truncate :

truncate -s, --size=РАЗМЕР установить или подогнать размер файла под РАЗМЕР байт 
$ touch test.txt $ ls -l test.txt -rw-r--r-- 1 user user 0 окт 28 13:08 test.txt $ truncate -s 1048576 test.txt $ ls -lh test.txt -rw-r--r-- 1 user user 1,0M окт 28 13:08 test.txt 

Для наглядности определения base64 урезал файл до 1К:

$ ls -lh test.txt -rw-r--r-- 1 user user 1,0K окт 28 13:09 test.txt $ base64 test.txt AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== 

Источник

Как создать большой файл в Linux

Иногда вам может понадобиться создать большой файл в Linux в целях тестирования. Существует несколько способов сделать это. В этой статье мы рассмотрим, как создавать большие файлы в Linux. Вы можете использовать эти шаги для создания 100mb файла в Linux, или создания 1gb файла, или создания большого файла со случайными данными.

Читайте также:  Linux echo во все файлы

Как создать большой файл в Linux

Ниже описаны шаги по созданию большого файла в Linux. Допустим, вы хотите создать файл размером 100 Мб.

1. Использование dd

dd — самый распространенный способ создания больших файлов в Linux. Вот команда для создания файла data.img размером 100 Мб.

dd if=/dev/zero of=./data.img bs=1024 count=102400

Создание большого файла с использованием dd

Вот команда для создания файла размером 1 Гб.

dd if=/dev/zero of=./data.img bs=1024 count=1024000

Но dd — это программа копирования, которая записывает блок данных и поэтому требует много времени на операции ввода-вывода по мере увеличения размера файла. Это один из самых медленных методов создания больших файлов, который не рекомендуется использовать. Тем не менее, мы включили его сюда, поскольку это наиболее распространенный метод, используемый по умолчанию большинством системных администраторов.

2. Использование команды Truncate

Для создания больших файлов можно также использовать команду truncate. Это один из самых быстрых способов создания больших файлов. Truncate работает путем создания разреженного файла, то есть участка диска, который содержит идентичные данные, например, ноль. Он не хранит реальные данные и не выделяет место, а обманывает ОС, делая вид, что все данные есть. Реальное пространство выделяется только тогда, когда вы начинаете записывать данные в файл. Вот команда для создания файла размером 1 Гб с помощью команды truncate.

Создание большого файла с использованием Truncate

3. Использование fallocate

fallocate — это лучший метод для создания больших файлов. Он резервирует или выделяет указанное дисковое пространство для вашего файла, фактически ничего не записывая в него. Таким образом, в этом случае вы получаете файл нужного объема, а не разреженный файл, как в случае с truncate. Вот команда для создания файла размером 1 Гб с помощью fallocate.

Создание большого файла с использованием fallocate

Вот и все. В этой статье мы узнали, как создавать большие файлы в Linux.

Источник

6 способов создать файл в Linux определенного размера

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

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

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

Я собираюсь создать файл 10M.

Это можно сделать с помощью следующих 6 методов.

  • fallocate: fallocate используется для предварительного выделения или освобождения места в файле.
  • truncate: truncate используется для сокращения или расширения размера файла до указанного размера.
  • dd: может копировать файл, конвертировать и форматировать в соответствии с операндами.
  • head: head используется для отображения первой части файлов.
  • Команда xfs_mkfile: xfs_mkfile позволяет нам создавать файлы определенного размера в Linux.
  • perl: Perl – это язык программирования, специально разработанный для редактирования текста.
Читайте также:  Ftp сервера astra linux

Как создать файл определенного размера в Linux с помощью команды fallocate?

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

Для файловых систем, которые поддерживают системный вызов fallocate, предварительное распределение выполняется быстро, выделяя блоки и помечая их как неинициализированные, не требуя ввода-вывода для блоков данных.

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

$ fallocate -l 10M daygeek.txt

Используйте команду ls, чтобы проверить заданный размер файла.

$ ls -lh daygeek.txt -rw-rw-r-- 1 daygeek daygeek 10M Feb 3 13:43 daygeek.txt

Как создать файл определенного размера в Linux с помощью команды truncate?

truncate используется для уменьшения или расширения размера файла до указанного размера.

$ truncate -s 10M daygeek1.txt

Используйте команду ls, чтобы проверить заданный размер файла.

$ ls -lh daygeek1.txt -rw-rw-r-- 1 daygeek daygeek 10M Feb 3 13:44 daygeek1.txt

Как создать файл определенного размера в Linux с помощью команды dd?

Команда dd означает дубликатор данных.

Он используется для копирования и преобразования данных (по умолчанию из стандартного ввода в стандартный вывод).

$ dd if=/dev/zero of=daygeek2.txt bs=10M count=1 or $ dd if=/dev/zero of=daygeek3.txt bs=1M count=10 1+0 records in 1+0 records out 10485760 bytes (10 MB, 10 MiB) copied, 0.03385 s, 310 MB/s

Используйте команду ls, чтобы проверить заданный размер файла.

$ ls -lh daygeek2.txt -rw-rw-r-- 1 daygeek daygeek 10M Feb 3 13:44 daygeek2.txt

Как создать файл определенного размера в Linux с помощью команды head?

Команда head считывает первые несколько строк любого текста, переданного ему в качестве ввода, и записывает их в стандартный вывод (который по умолчанию является экраном дисплея).

$ head -c 10MB /dev/zero > daygeek4.txt

Используйте команду ls, чтобы проверить заданный размер файла.

$ ls -lh daygeek4.txt -rw-rw-r-- 1 daygeek daygeek 9.6M Feb 3 13:45 daygeek4.txt

Как создать файл определенного размера в Linux с помощью команды xfs_mkfile?

xfs_mkfile создает один или несколько файлов. Файл дополняется нулями по умолчанию.

Размер по умолчанию – в байтах, но его можно пометить как килобайты, блоки, мегабайты или гигабайты с суффиксами k, b, m или g соответственно.

$ xfs_mkfile 10M daygeek5.txt

Используйте команду ls, чтобы проверить заданный размер файла.

$ 1 ls -lh daygeek5.txt -rw------- 1 daygeek daygeek 10M Feb 3 13:45 daygeek5.txt

Как создать файл определенного размера в Linux с помощью команды perl?

Perl означает «Practical Extraction and Reporting Language».

Читайте также:  Совместная работа linux windows

Perl – это язык программирования, специально разработанный для редактирования текста.

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

$ perl -e 'print "a" x 10485760' > daygeek6.txt

Используйте команду ls, чтобы проверить заданный размер файла.

$ ls -lh daygeek6.txt -rw-rw-r-- 1 daygeek daygeek 10M Feb 3 13:47 daygeek6.txt

Все вместе в одном выводе.

$ ls -lh daygeek* -rw-rw-r-- 1 daygeek daygeek 10M Feb 3 13:44 daygeek1.txt -rw-rw-r-- 1 daygeek daygeek 10M Feb 3 13:44 daygeek2.txt -rw-rw-r-- 1 daygeek daygeek 10M Feb 3 13:44 daygeek3.txt -rw-rw-r-- 1 daygeek daygeek 9.6M Feb 3 13:45 daygeek4.txt -rw------- 1 daygeek daygeek 10M Feb 3 13:45 daygeek5.txt -rw-rw-r-- 1 daygeek daygeek 10M Feb 3 13:47 daygeek6.txt -rw-rw-r-- 1 daygeek daygeek 10M Feb 3 13:43 daygeek.txt

Источник

How to create a file with ANY given size in Linux?

I have read this question: How to create a file with a given size in Linux? But I havent got answer to my question. I want to create a file of 372.07 MB, I tried the following commands in Ubuntu 10.08:

dd if=/dev/zero of=output.dat bs=390143672 count=1 dd: memory exhausted 

390143672=372.07*1024*1024 Is there any other methods? Thanks a lot! Edit: How to view a file’s size on Linux command line with decimal. I mean, the command line ls -hl just says: ‘373M’ but the file is actually «372.07M».

4 Answers 4

Sparse file

dd of=output.dat bs=1 seek=390143672 count=0 

This has the added benefit of creating the file sparse if the underlying filesystem supports that. This means, no space is wasted if some of the pages (_blocks) ever get written to and the file creation is extremely quick.

Non-sparse (opaque) file:

Edit since people have, rightly pointed out that sparse files have characteristics that could be disadvantageous in some scenarios, here is the sweet point:

You could use fallocate (in Debian present due to util-linux ) instead:

fallocate -l 390143672 output.dat 

This still has the benefit of not needing to actually write the blocks, so it is pretty much as quick as creating the sparse file, but it is not sparse. Best Of Both Worlds.

Источник

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