- Как создать файл в Linux
- Подготовка
- Создание файла с помощью сенсорной команды
- Создание файла с помощью оператора перенаправления
- Создание файла с помощью команды cat
- Создание файла с помощью команды echo
- Создание файла с использованием Heredoc
- Создание большого файла
- Использование команды dd
- Использование команды fallocate
- Выводы
- 6 способов создать файл в Linux определенного размера
- Как создать файл определенного размера в Linux с помощью команды fallocate?
- Как создать файл определенного размера в Linux с помощью команды truncate?
- Как создать файл определенного размера в Linux с помощью команды dd?
- Как создать файл определенного размера в Linux с помощью команды head?
- Как создать файл определенного размера в Linux с помощью команды xfs_mkfile?
- Как создать файл определенного размера в Linux с помощью команды perl?
- How can I create a file with a specific size from a command line?
- 7 Answers 7
Как создать файл в Linux
Знание того, как создать новый файл, является важным навыком для любого, кто регулярно использует Linux. Вы можете создать новый файл либо из командной строки, либо из файлового менеджера рабочего стола.
В этом руководстве мы покажем вам различные способы быстрого создания нового файла в Linux с помощью командной строки.
Подготовка
Чтобы создать новый файл, вам необходимо иметь права на запись в родительский каталог. В противном случае вы получите сообщение об ошибке в разрешении отказано.
Если вы хотите отобразить содержимое каталога, используйте команду ls .
Создание файла с помощью сенсорной команды
Команда touch позволяет нам обновлять метки времени в существующих файлах и каталогах, а также создавать новые пустые файлы.
Самый простой и запоминающийся способ создания новых пустых файлов — использовать touch команду.
Чтобы создать новый файл, просто запустите touch команду, после которой укажите имя файла, который вы хотите создать:
Если файл file1.txt не существует, приведенная выше команда создаст его, в противном случае она изменит свои временные метки.
Чтобы создать сразу несколько файлов, укажите имена файлов через пробел:
touch file1.txt file2.txt file3.txt
Создание файла с помощью оператора перенаправления
Перенаправление позволяет захватывать выходные данные команды и отправлять их в качестве входных данных в другую команду или файл. Есть два способа перенаправить вывод в файл. Оператор > перезапишет существующий файл, а оператор >> добавит вывод в файл.
Чтобы создать пустой файл нулевой длины, просто укажите имя файла, который вы хотите создать, после оператора перенаправления:
Это самая короткая команда для создания нового файла в Linux.
Создавая файл с использованием перенаправления, будьте осторожны, чтобы не перезаписать важный существующий файл.
Создание файла с помощью команды cat
Команда cat в основном используется для чтения и объединения файлов, но ее также можно использовать для создания новых файлов.
Чтобы создать новый файл, выполните команду cat, за которой следует оператор перенаправления > и имя файла, который вы хотите создать. Нажмите Enter введите текст и, когда вы закончите, нажмите CRTL+D чтобы сохранить файлы.
Создание файла с помощью команды echo
Команда echo печатает строки, которые передаются в качестве аргументов в стандартный вывод, который можно перенаправить в файл.
Чтобы создать новый файл, запустите команду echo за которой следует текст, который вы хотите напечатать, и используйте оператор перенаправления > чтобы записать вывод в файл, который вы хотите создать.
Если вы хотите создать пустой, просто используйте:
Создание файла с использованием Heredoc
Здесь документ или Heredoc — это тип перенаправления, который позволяет передавать команде несколько строк ввода.
Этот метод в основном используется, когда вы хотите создать файл, содержащий несколько строк текста, из сценария оболочки.
Например, чтобы создать новый файл file1.txt вы должны использовать следующий код:
cat file1.txt
Some line
Some other line
EOF
Тело heredoc может содержать переменные, специальные символы и команды.
Создание большого файла
Иногда в целях тестирования может потребоваться создать большой файл данных. Это полезно, когда вы хотите проверить скорость записи вашего накопителя или проверить скорость загрузки вашего соединения.
Использование команды dd
Команда dd в основном используется для преобразования и копирования файлов.
Чтобы создать файл с именем 1G.test размером 1 ГБ, выполните:
dd if=/dev/zero of=1G.test bs=1 count=0 seek=1G
Использование команды fallocate
fallocate командной строки для выделения реального дискового пространства для файлов.
Следующая команда создаст новый файл с именем 1G.test размером 1 ГБ:
Выводы
В этом руководстве вы узнали, как создать новый файл в Linux из командной строки с помощью различных команд и перенаправления.
Если командная строка вам не подходит, вы можете легко создать пустой текстовый файл, используя контекстное меню в диспетчере файлов.
Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.
6 способов создать файл в Linux определенного размера
Если вы хотите создать определенный размер файла в Linux, чтобы расширить раздел подкачки, то вы можете использовать один из следующих методов для его создания.
Я уже знаю несколько команд для выполнения этого, но я включил все возможные варианты в этой статье.
Вы можете проверить все команды, которые доступны в этой статье, и выбрать предпочитаемую для вас.
Я собираюсь создать файл 10M.
Это можно сделать с помощью следующих 6 методов.
- fallocate: fallocate используется для предварительного выделения или освобождения места в файле.
- truncate: truncate используется для сокращения или расширения размера файла до указанного размера.
- dd: может копировать файл, конвертировать и форматировать в соответствии с операндами.
- head: head используется для отображения первой части файлов.
- Команда xfs_mkfile: xfs_mkfile позволяет нам создавать файлы определенного размера в Linux.
- perl: Perl – это язык программирования, специально разработанный для редактирования текста.
Как создать файл определенного размера в 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».
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 can I create a file with a specific size from a command line?
How can I create a file (e.g. using the touch command or another similar way), but with a specific size (e.g. 14 MB)? The use case is to test FTP with various file sizes. If we can create a file with a specific size, it will be useful to verify FTP transfer etc.
7 Answers 7
DESCRIPTION Shrink or extend the size of each FILE to the specified size [. ] -s, --size=SIZE set or adjust the file size by SIZE
Note: truncate may not be available on your system, e.g. on Mac OS X it’s not installed by default (but you can easily install it, using macports for example). In these cases you may need to use dd or head instead.
Very nice indeed. The touch is not needed though, you can simply run truncate -s 14M filename it will create filename directly.
This seems to create a sparse file, whereas the below answer (that uses «dd») doesn’t. I don’t know if the difference is important to you, but I figured I’d point it out
EDIT: The simplest way is probably the truncate of Ashutosh Vishwa Bandhu’s answer, but as pointed out by @offby1 that creates sparse files which may not be what you want. The solutions below create normal, full files.
The following commands create a 14MB file called foo :
- fallocate (thanks to @Breakthrough who suggested it in the comments and vote up Ahmed Masud’s answer below which also mentions it.)
This command is particularly impressive since it is as fast as truncate (instantaneous) irrespective of the desired file size (unlike the other solutions which will be slow for large files) and yet creates normal files, not sparse ones :
$ truncate -s 14MB foo1.txt $ fallocate -l 14000000 foo2.txt $ ls -ls foo?.txt 0 -rw-r--r-- 1 terdon terdon 14000000 Jun 21 03:54 foo1.txt 13672 -rw-r--r-- 1 terdon terdon 14000000 Jun 21 03:55 foo2.txt
dd if=/dev/urandom of=foo bs=14MB count=1
head -c 14MB /dev/urandom > foo
dd if=/dev/zero of=foo.txt bs=14MB count=1
In all of the above examples, the file will be 14*1000*1000 if you want 14*1024*1024 , replace MB with M . For example:
dd if=/dev/urandom of=foo bs=14M count=1 head -c 14M /dev/zero > foo
fallocate only deals in bytes, so you’d have to do (14*1024*1024=14680064)