Как создать файл в терминале
Философия Linux гласит — всё в системе есть файл. Мы ежедневно работаем с файлами, и программы, которые мы выполняем, — тоже файлы. В разных случаях нам может понадобиться создать в системе файлы определённого типа. Если вам интересно, какие типы файлов в Linux можно создать, смотрите отдельную статью.
Конечно, всё очень просто делается с помощью мышки и файлового менеджера. Но если вы дружите с клавиатурой, создать файл через терминал Linux намного быстрее и, как вы увидите, эффективнее. В терминале вы можете не только создавать пустые файлы, но и создавать файл с уже готовым содержимым, файлы определённого размера, и с нужными метаданными.
Как всё это делать, вы узнаете из этой статьи. Мы рассмотрим все доступные средства создания файлов в терминале Linux. Поехали!
1. Редактор nano
Самый распространённый способ создать текстовый файл в Linux — это использовать консольные текстовые редакторы. Например nano. После ввода команды открывается редактор, и вы прописываете нужный текст, например:

2. Редактор Vi
Тот же принцип, но программа намного серьёзнее:

Если вы в первый раз столкнулись с vim, то предупрежу — это необычный редактор. Здесь есть два режима: режим вставки и командный. Переключаться между ними можно с помощью кнопки Esc. Для выхода из редактора в командном режиме наберите :q, для сохранения файла — :w. Вообще, Vim — очень полезный инструмент. Чтобы узнать побольше о его возможностях и выучить основы, выполните: vimtutor.
Понятное дело, в этом пункте можно говорить и о других редакторах, в том числе и с графическим интерфейсом. Но мы их опустим и перейдём к другим командам создания файла в Linux.
3. Оператор перенаправления >
Это, наверное, самая короткая команда для создания файла в Linux:

Оператор оболочки для перенаправления вывода позволяет записать вывод любой команды в новый файл. Например, можно подсчитать md5 сумму и создать текстовый файл в Linux с результатом выполнения.

Это рождает ещё несколько способов создания файла в Linux, например, выведем строку в файл с помощью команды echo:
echo «Это строка» > файл.txt

Этот способ часто используется для создания конфигурационных файлов в Linux, так сказать, на лету. Но заметьте, что sudo здесь работать не будет. С правами суперпользователя выполниться echo, а запись файла уже будет выполнять оболочка с правами пользователя, и вы всё равно получите ошибку Access Denied.
Ещё тем же способом можно сделать примитивный текстовый редактор для создания файла. Утилита cat без параметров принимает стандартный ввод, используем это:

После выполнения команды можете вводить любые символы, которые нужно записать в файл, для сохранения нажмите Ctrl+D.
А ещё есть утилита printf, и здесь она тоже поддерживает форматирование вывода:
printf «Это %d текстовая строка\n» 1 > файл

Этот способ создать файл в Linux используется довольно часто.
4. Оператор перенаправления вывода >>
Также можно не только перезаписывать файл, а дописывать в него данные, с помощью перенаправления оператора >>. Если файла не существует, будет создан новый, а если существует, то строка запишется в конец.
echo «Это текстовая строка» > файл.txt $ echo «Это вторая текстовая строка» >> файл.txt

5. Оператор перенаправления 2>
Первые два оператора перенаправления вывода команды в файл использовали стандартный вывод. Но можно создать файл в терминале Ubuntu и перенаправить в него вывод ошибок:

Если команда не выдает ошибок, файл будет пустым.
6. Оператор перенаправления и head
С помощью команды head можно выбрать определённый объем данных, чтобы создать текстовый файл большого размера. Данные можно брать, например, с /dev/urandom. Для примера создадим файл размером 100 мегабайт:
base64 /dev/urandom | head -c 100M > файл
7. Команда cp
Команда cp используется для копирования файлов в Linux. Но с её помощью можно и создать файл. Например, чтобы создать пустой файл, можно просто скопировать /dev/null:
cp /dev/null файл
8. touch
Вот мы и подобрались к непосредственному созданию файлов через терминал, для этого в Linux есть специальная утилита touch. Она позволяет создать пустой файл в Linux, при этом указывать дату создания, права доступа и другие метаданные.
Чтобы создать пустой файл Linux, просто наберите:

Можно создать несколько пустых файлов сразу:
touch файл1 файл2
Опция -t позволяет установить дату создания. Дата указывается опцией -t в формате YYMMDDHHMM.SS. Если не указать, будет установлена текущая дата. Пример:
touch -t 201601081830.14 файл
Можно использовать дату создания другого файла:
touch -r шаблон файл
Также можно установить дату последней модификации, с помощью опции -m:
touch -m -t 201601081830.14 файл
Или дату последнего доступа:
touch -a -t 201601081830.14 файл
Чтобы посмотреть, действительно ли задаётся информация, которую вы указали, используйте команду stat:

9. Утилита dd
Это утилита для копирования данных из одного файла в другой. Иногда необходимо создать файл определённого размера в Linux, тогда можно просто создать его на основе /dev/zero или /dev/random, вот так:
dd if=/dev/zero of=

Параметр if указывает, откуда брать данные, а of — куда записывать, count — необходимый размер. Ещё можно указать размер блока для записи с помощью bs, чем больше размер блока, тем быстрее будет выполняться копирование.
Создание специальных файлов в Linux
В Linux, кроме выше рассмотренных обычных текстовых и бинарных файлов, существуют ещё и специальные файлы. Это файлы сокетов и туннелей. Их нельзя создать обычными программами, но для этого существуют специальные утилиты, смотрите подробнее в статье, ссылку на которую я дал вверху.
Выводы
Это были все возможные команды для создания файла в Linux. Если вы знаете другие, которые следовало бы добавить в статью — поделитесь в комментариях.
Как создать файл определенного размера в linux
$ ls -lh | grep file
-rw-rw-r– 1 setevoy setevoy 10M Мар 30 13:10 file
$ touch file2
$ truncate -s 10240 file2
$ ls -lh | grep file3
-rw-rw-r– 1 setevoy setevoy 10K Мар 30 13:15 file3
$ truncate -s 1024 file3
$ ls -lh | grep file3
-rw-rw-r– 1 setevoy setevoy 1,0K Мар 30 13:17 file3
$ ls -lh | grep file4
-rw-rw-r– 1 setevoy setevoy 10M Мар 30 13:17 file4
Файлы в Linux
crw—w—-. 1 andrei tty 136, 1 Nov 19 12:43 /dev/pts/1
— : regular file
d : directory
c : character device file
b : block device file
s : local socket file
p : named pipe
l : symbolic link
drwxr-xr-x. 118 root root 8192 Jun 13 16:17 /etc
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 8G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 7G 0 part ├─centos-root 253:0 0 6.2G 0 lvm / └─centos-swap 253:1 0 820M 0 lvm [SWAP] sr0 11:0 1 57.7M 0 rom /run/media/andrei/VBox_GAs_6.1.10
brw-rw—-. 1 root disk 8, 0 Jun 13 16:17 /dev/sda brw-rw—-. 1 root disk 8, 1 Jun 13 16:17 /dev/sda1 brw-rw—-. 1 root disk 8, 2 Jun 13 16:17 /dev/sda2
brw-rw—-. 1 root disk 8, 1 Jun 13 16:17 /dev/sda1 brw-rw—-. 1 root disk 8, 2 Jun 13 16:17 /dev/sda2
brw-rw—-. 1 root disk 8, 1 Jun 13 16:17 /dev/sda1 brw-rw—-. 1 root disk 8, 2 Jun 13 16:17 /dev/sda2
ls -l /etc/system-release
lrwxrwxrwx. 1 root root Jun 13 16:17 /etc/system-release -> centos-release
ls -l /etc/system-release /etc/centos-release /etc/redhat-release
-rw-r—r—. 1 root root 37 Oct 23 17:53 /etc/centos-release lrwxrwxrwx. 1 root root Jun 13 16:17 /etc/redhat-release -> centos-release lrwxrwxrwx. 1 root root Jun 13 16:17 /etc/system-release -> centos-release
Description: CentOS Linux release 7.9.2009 (Core)
ls -lF $(which lsb_release)
-rwxr-xr-x. 1 root root 15929 Mar 27 2015 /usr/bin/lsb_release*
rpm -qf $(which lsb_release)
cp -i /etc/hosts .
cp -i /etc/hosts .
mkdir -p sites/heiheiru
ls -l sites
total 0
drwxrwxr-x. 2 andrei andrei 6 Nov 19 13:40 heiheiru
touch one two three
touch files/file
ls -l files
-rw-rw-r—. 1 andrei andrei 0 Jun 13 16:17 file1 -rw-rw-r—. 1 andrei andrei 0 Jun 13 16:17 file2 -rw-rw-r—. 1 andrei andrei 0 Jun 13 16:17 file3 -rw-rw-r—. 1 andrei andrei 0 Jun 13 16:17 file4 -rw-rw-r—. 1 andrei andrei 0 Jun 13 16:17 file5
cp -R files sites
ls -l sites/files/
total 0 -rw-rw-r—. 1 andrei andrei 0 Jun 13 16:17 file1 -rw-rw-r—. 1 andrei andrei 0 Jun 13 16:17 file2 -rw-rw-r—. 1 andrei andrei 0 Jun 13 16:17 file3 -rw-rw-r—. 1 andrei andrei 0 Jun 13 16:17 file4 -rw-rw-r—. 1 andrei andrei 0 Jun 13 16:17 file5
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
From man truncate :
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.
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 :
Create a file filled with random data
Create a file filled with \0 s:
Create a file filled with the first 14MB of data of another file:
Create a file filled with the last 14MB of data of another file:
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:
fallocate only deals in bytes, so you’d have to do (14*1024*1024=14680064)
![]()
WARNING dd will silently overwrite anything you have the rights to write to, if you specify it either willingly or by accident. Make sure you understand dd , eg. with reading dd —help , and you don’t screw up your dd command lines or else you can easily create irreversible data loss — even total.
For start, if= is the input file and of= is the output file. Always double check that you got it right, before running the command. 🙂
cause 14MB*1024 = 14336KB, or:
And you’ll get 14mb output.dat file, filled with zeroes 😀
![]()
This should be the fastest way to do it:
Otherwise just write a quick and dirty C or perl program that does a seek to the exact position and writes a single byte. This is a LOT faster than actually dumping data onto the blocks.
If you want to avoid sparse files then on Linux (and possibly other systems) you can use fallocate -l <length> from util-linux .
If that’s unavailable, and you have a POSIX compliant system then you can write a quick and dirty program using posix_fallocate() library call. posix_fallocate guarantees allocation of the range specified so you will not get a disk-full on subsequent use of the range if it returns successfully
How to effectively deal with bots on your site? The best protection against click fraud.
В Linux файловая система — это основная карта, где операционная система хранит файл внутри постоянной памяти. Файловая система определяет способ структурирования данных и управления ими внутри машины. Все файловые системы с открытым исходным кодом относятся к файловой системе Linux. Linux обычно обнаруживает все компоненты как файл. Даже Linux считает жесткий диск данными! Это основная причина, по которой в Linux нет буквы драйвера, например в Windows есть диск C, диск E и т. Д. Но в Linux есть домашний каталог, как в Windows — «Мой компьютер или этот компьютер». Linux хранит все операционные файлы внутри корень папка. Внутри домашнего каталога пользователи Linux могут создавать файлы с помощью терминала или команды оболочки .
Создание файлов в Linux с помощью команд терминала
Создание файла внутри вашей Linux-машины — это первый шаг, который позволит вашей Linux знать, что вы знаете, как управлять Linux, и что у вас есть контроль над файловыми системами. Чтобы создать файл в Linux, существует несколько способов. Но прежде чем мы начнем создавать файл, сначала мы должны знать основы
В этом посте мы узнаем о функциях файловой системы Linux и о том, как создавать файлы в Linux с помощью команд терминала. Помимо этого, мы также увидим различные методы создания файлов определенного размера в Linux.
Прежде чем приступить к созданию файла, давайте посмотрим на очень базовая команда Linux . В дерево команда обычно используется для просмотра корень каталог, который показывает полный список каталогов файловых папок. Как обычно дерево предустановлен в Linux, но если у вас возникнут проблемы с использованием дерево команду, вы можете следовать подходящие команды нижеприведенный.
- Для Ubuntu используйте это подходящий Команда в терминале для установки дерево
- Для Red Hat введите эту команду в терминал для установки дерево
- Для openSUSE используйте эту команду для установки дерево
- Для Arch-подобных дистрибутивов введите эту команду в терминал для установки дерево
Теперь вы можете проверить свой корневой каталог, введя приведенную ниже команду tree. Это покажет вам диаграмму ваших файлов и сколько каталогов и файлов у вас есть в вашем корень.

Если вы не хотите видеть диаграмму файла сведений, вы можете просмотреть основные каталоги с помощью этой команды

1. Создание файла в Linux с помощью Кот Командование
Команда concatenate или cat используется для создания одного или нескольких файлов. Это позволяет пользователям объединять в цепочку или серию файлов. Команда Cat может создавать или отображать файлы из локального каталога. Он может просматривать один или несколько файлов. Он также может сортировать файлы из содержимого нескольких файлов.
Чтобы сначала использовать команду cat, вам нужно открыть терминал в вашей системе. Вы можете искать терминал на своем Пусковая установка Linux , или вы можете нажать Ctrl + Alt + T с клавиатуры. Обычно терминал размещается в дом расположение. Итак, файлы, которые вы создаете с помощью Кот команда будет сохранена в дом каталог. Вы можете использовать pwd в вашем терминале, чтобы проверить, где расположен терминал.
Обычно, Кот создает пустой файл для дальнейшего использования. Предположим, вы хотите создать файл doc с именем newfile101, все, что вам нужно сделать, это просто ввести команду, указанную ниже, в вашем терминале. После создания файла вы можете проверить, создан ли файл или нет. Для проверки просто введите в терминал следующую команду.
Здесь этот знак> (терка) известен как знак перенаправления; мы скоро узнаем подробности о символе перенаправления.
2. Создание файла в Linux с помощью трогать Командование
В Linux команда touch используется для создания файлов, для которых важна отметка времени. Если вы инженер данных и у вас есть опыт работы с CSV-файлами, я уверен, что вы знаете, насколько важно сохранять метку времени в файлах. Здесь сенсорная команда может изменять, манипулировать метками времени файлов.
- Чтобы создать файл с помощью трогать выполните команды терминала, указанные ниже.
- Чтобы проверить, создан ли файл или нет, просто введите «команда ls»Из терминала, чтобы увидеть список файлов в каталоге, и вы обнаружите, что файл был создан.

3. Создание файла в Linux с помощью перенаправить Символ
Если вы системный администратор, вам, возможно, придется каждый день создавать тонны файлов для обновления журналов. Что, если вы можете создавать файлы со своего терминала, используя только знак перенаправления (. Но в терминале, если вы поместите символ перенаправления вместе с именем файла с расширением файла, он создаст файл с нулевым КБ в локальном каталоге.
Чтобы создать файл с помощью символа перенаправления, просто введите в терминале символ> и введите имя файла. Вот так! У вас есть желаемый файл готов. Вы можете проверить файл с помощью команды list.

4. Создание файла в Linux с помощью эхо Командование
В Linux echo используется для размещения любого оператора или аргумента внутри любого файла. Если до этого был создан пустой текстовый или документ-файл, вы можете ввести строку с помощью команды echo. Предположим, ранее я создал файл с именем newfile101.doc. Теперь я хочу ввести строку «hello world» в файл документа.
Итак, вместо того, чтобы открывать файл вручную из каталога, я могу просто ввести команду echo с терминала. Команда echo будет такой, как указано ниже. После замены строки вы можете проверить строку с помощью команды cat.

5. Создание файла в Linux с помощью Vim
Если вы программист и привыкли кодирование с помощью IDE , Я уверен, вы слышали имя Vim . Раньше он назывался Vi (Visual), затем появилась улучшенная версия, а теперь она называется vim. Vim — это Текстовый редактор используется в интерфейсе командной строки. Вы также можете создавать файлы из vim. Это поможет вам писать код прямо из vim. Чтобы создать файл из vim, просто введите следующую строку в терминале.
Позвольте вам создать файл с именем newfile106.txt, затем все, что вам нужно, набрать эту команду.
Чтобы увидеть файл, следуйте ls lh команда, указанная ниже.
6. Создание файла в Linux с помощью нано Командование
Nano — это популярный текстовый редактор в Linux, который вы видите и получаете (WYSIWYG). С кодировкой UTF-8 Nano — это текстовый редактор обычного типа, также известный как GNU nano. Nano очень эффективен и полезен для тех пользователей Linux или тех, кто все еще борется с Linux. Он может очень эффективно отображать коды. Чтобы создать файл из nano, вы можете следовать приведенной ниже командной строке.
После создания файла вы можете просмотреть его либо с помощью команды ls, либо с помощью команды cat.

7. Создание файла в Linux с помощью printf Командование
Все программисты по всему миру знают функцию printf команда. Это команда, которая используется для печати любой функции в качестве вывода или печати любой строки в IDE. Чтобы создать текстовый файл с помощью printf command, вам необходимо использовать следующую командную строку в терминале.
Чтобы просмотреть тип файла и файл из терминала, используйте следующие команды:
8. Создание файла в Linux с помощью голова Командование
когда файл очень большого размера, программисты часто используют команду head для печати начальной части файла. Если вы хотите напечатать только первые 10 строк вашей программы для проверки, голова команда есть для вас. По умолчанию он печатает первые 10 строк.
Допустим, вы хотите открыть файл журнала из моего локального каталога. Для этого я могу открыть список файлов журнала из терминала. После открытия каталога журнала вы можете использовать команду head для печати первых 10 строк этого файла журнала.

9. Создание файла в Linux с помощью хвостик Командование
Как мы видели выше, команду head, хвост команда такая же, как и голова команда. Но единственная разница в том, что команда head печатает первые 10 строк, а команда tail печатает последние 10 строк файла. Эта команда обычно используется для просмотра последнего вывода или последнего тела таблицы или набора данных.
Например, вы хотите распечатать последние 10 строк файла fontconfig.log.
10. Создание файла в Linux с помощью обрезать Командование
В определении данных команда усечения языка используется для удаления любых данных из базы данных, но в Linux команда усечения используется для усадить или увеличить размер файла. Давайте сначала создадим текстовый файл с помощью сенсорной команды, а затем посмотрим, как увеличить размер этого файла с помощью обрезать команда.
Здесь я назначаю файлу имя newfile112.txt. Затем, используя обрезать, я выделяю размер файла 1024 КБ (1 МБ). Затем в следующей части, используя команду truncate, мы изменим размер файла до 1,5M.

Создание файлов определенного размера в Linux
Администраторы Linux часто создают файлы определенного размера, чтобы проверить емкость хранилища, скорость сети или производительность системы . Кроме того, если вы инженер базы данных, вы должны знать, что фиктивные данные важны для проверки работы базы данных. Вот почему важно создавать файлы определенного размера. Помните, что команды оболочки Linux очень полезны для быстрого создания файлов определенного размера. Здесь мы увидим некоторые командные методы создания фиктивных данных.
1. Создавайте файлы определенного размера с помощью обрезать Командование
Выше мы только что узнали, как увеличить размер файла с помощью команды truncate. Помимо увеличения размеров файлов, с помощью этой команды вы можете создавать файлы точного размера. Здесь я покажу, как создать файл размером 25 МБ, используя обрезать команда. Для этого сначала откройте свой терминал и следуйте командным строкам, написанным ниже. Позвольте мне присвоить файлу имя UbuntuPIT.txt.
2. Создавайте файлы определенного размера с помощью сбиваться Командование
Fallocate позволяет пользователям создавать файлы небольшого и крошечного размера в Linux. Вы можете генерировать байтовые файлы с помощью команды fallocate. Используя fallocate, вы также можете создавать большие файлы, если они вам нужны. Для этого вам просто нужно посчитать байты, биты, КБ, МБ, ГБ, ТБ.
Допустим, вы хотите создать файл размером 20 КБ. Для этого ваша математика будет 20 * 1024 = 20480 КБ.

3. Создавайте файлы определенного размера с помощью голова Командование
Ранее мы видели, что голова Команда используется для печати первых 10 строк журнала или текстового файла. Здесь я покажу вам, как вы можете использовать команду head для создания файла определенного размера. Здесь вы должны заметить, что у каждого файла есть какая-то часть, зарезервированная системой. Вот почему, если вы хотите создать файл размером 100 МБ, он создаст немного меньший размер файла из-за резервирования системы. После создания файла с помощью голова, вы можете проверить размер файла.

4. Создавайте файлы определенного размера с помощью Perl Командование
Perl — это язык программирования с широким спектром сценариев, который можно использовать в административной работе Linux. В виде Perl может использовать синтаксическую библиотеку различных языки программирования так Perl может использоваться для сетей или даже в веб-разработке. Perl используется как интегрированный текстовый редактор или IDE. Когда сложно обрабатывать очень большие команды оболочки, здесь появляется perl. Теперь я собираюсь показать, как создать файл определенного размера, используя Perl команда. Я выделяю размер файла в 1К.

5. Создавайте файлы определенного размера с помощью xfs_mkfile Командование
Команда xfs_mkfile — это быстрая команда для создания файла определенного размера в Linux. Здесь термин xfs это краткая форма высокопроизводительная файловая система журналирования, и mkfile — это синтаксис Linux, который позволяет пользователям создавать размер файла в байтах, килобайтах, мегабайтах или гигабайтах.
Последние мысли
Изучение Файловая система Linux помогает нам понять иерархию слоев или файловой системы. Создание файлов с помощью команд оболочки — это первый урок изучения файловой системы Linux. Команды терминала помогают пользователям взаимодействовать с файлами ядра. Некоторые полезные и очень быстрые команды для создания файлов описаны в этом посте. Для лучшего понимания каждая команда поясняется кратким примечанием и примером. У некоторых команд есть похожие части, которые помогут провести следующую команду. Все команды очень простые, и если вы системный администратор, вы должны знать их все.
Если вы найдете этот пост полезным или поучительным, сообщите нам, какая часть вам понравилась больше всего. Мы также рекомендуем зрителям писать конструктивные и относительные комментарии в разделе комментариев. Вы можете поделиться этим сообщением со своими друзьями, которым интересно узнать о файловой системе Linux. Удачного Linuxing!