Как создать файл в Linux
Знание того, как создать новый файл, является важным навыком для любого, кто регулярно использует Linux. Вы можете создать новый файл либо из командной строки, либо из файлового менеджера рабочего стола.
В этом руководстве мы покажем вам различные способы быстрого создания нового файла в Linux с помощью командной строки.
Подготовка
Чтобы создать новый файл, вам необходимо иметь права на запись в родительский каталог. В противном случае вы получите сообщение об ошибке в разрешении отказано.
Если вы хотите отобразить содержимое каталога, используйте команду ls .
Создание файла с помощью сенсорной команды
Команда touch позволяет нам обновлять метки времени в существующих файлах и каталогах, а также создавать новые пустые файлы.
Самый простой и запоминающийся способ создания новых пустых файлов — использовать touch команду.
Чтобы создать новый файл, просто запустите touch команду, после которой укажите имя файла, который вы хотите создать:
Если файл file1.txt не существует, приведенная выше команда создаст его, в противном случае она изменит свои временные метки.
Чтобы создать сразу несколько файлов, укажите имена файлов через пробел:
Создание файла с помощью оператора перенаправления
Перенаправление позволяет захватывать выходные данные команды и отправлять их в качестве входных данных в другую команду или файл. Есть два способа перенаправить вывод в файл. Оператор > перезапишет существующий файл, а оператор >> добавит вывод в файл.
Чтобы создать пустой файл нулевой длины, просто укажите имя файла, который вы хотите создать, после оператора перенаправления:
Это самая короткая команда для создания нового файла в Linux.
Создавая файл с использованием перенаправления, будьте осторожны, чтобы не перезаписать важный существующий файл.
Создание файла с помощью команды cat
Команда cat в основном используется для чтения и объединения файлов, но ее также можно использовать для создания новых файлов.
Чтобы создать новый файл, выполните команду cat, за которой следует оператор перенаправления > и имя файла, который вы хотите создать. Нажмите Enter введите текст и, когда вы закончите, нажмите CRTL+D чтобы сохранить файлы.
Создание файла с помощью команды echo
Команда echo печатает строки, которые передаются в качестве аргументов в стандартный вывод, который можно перенаправить в файл.
Чтобы создать новый файл, запустите команду echo за которой следует текст, который вы хотите напечатать, и используйте оператор перенаправления > чтобы записать вывод в файл, который вы хотите создать.
Если вы хотите создать пустой, просто используйте:
Создание файла с использованием Heredoc
Здесь документ или Heredoc — это тип перенаправления, который позволяет передавать команде несколько строк ввода.
Этот метод в основном используется, когда вы хотите создать файл, содержащий несколько строк текста, из сценария оболочки.
Например, чтобы создать новый файл file1.txt вы должны использовать следующий код:
Тело heredoc может содержать переменные, специальные символы и команды.
Создание большого файла
Иногда в целях тестирования может потребоваться создать большой файл данных. Это полезно, когда вы хотите проверить скорость записи вашего накопителя или проверить скорость загрузки вашего соединения.
Использование команды dd
Команда dd в основном используется для преобразования и копирования файлов.
Чтобы создать файл с именем 1G.test размером 1 ГБ, выполните:
Использование команды fallocate
fallocate командной строки для выделения реального дискового пространства для файлов.
Следующая команда создаст новый файл с именем 1G.test размером 1 ГБ:
Выводы
В этом руководстве вы узнали, как создать новый файл в Linux из командной строки с помощью различных команд и перенаправления.
Если командная строка вам не подходит, вы можете легко создать пустой текстовый файл, используя контекстное меню в диспетчере файлов.
Как быстро создать пустой и непустой текстовый файл в Linux через терминал?
Как быстро создать пустой и непустой текстовый файл в Linux через терминал?
![]()
Ответ общий, вы можете исправить его, если считаете нужным.
Существует N-ое количество способов создания текстовых файлов, мы приведём два основных, которые, на наш взляд, самые быстрые с точки зрения клавиатурного ввода, и несколько других.
Под фразой «при вводе» подразумевается, что нужно ввести команду в терминал и нажать клавишу Enter .
Создание пустых файлов
При вводе этой команды в текущей директории будет создан пустой файл с именем a .
Можно вводить без пробела:
Более читаемый вариант, помогает не ошибиться и не записать случайно результат предыдущей команды в файл:
Можно создать сразу сколь угодно файлов:
Хотя так удобней (о touch будет далее):
Создание файлов с текстом
При вводе этой команды в текущей директории будет создан файл с именем h , содержащий текст blablabla и один перевод строки.
Можно вводить без пробела вокруг оператора > :
Выводимый контекст можно заключить в кавычки, а можно и не заключать, даже если он содержит пробелы:
Все три вышеперечисленные команды дают одинаковый результат (кроме имён файлов, естественно).
Также можно провернуть такую штуку:
При вводе этой команды в текущей директории будут созданы два пустых файла: m и n ; и файл o , содержащий текст 123 и один перевод строки.
Иными словами, результат всех команд, которые что-нибудь выводят, можно запихнуть в файл .
Ман по man ‘у . При вводе этой команды в текущей директории будет создан файл с именем p , содержащий мануал по команде man .
Календарик на 2000 год .
Другие способы создания файлов
Создание пустого файла с помощью touch
При вводе этой команды в текущей директории будет создан пустой файл с именем q .
Если быть точным, то touch это команда, основное назначение которой изменить время последнего изменения или последнего доступа файла, если же файл не существует, то она создает его. Цитата.
Создание файла «с текстом» с помощью cat
При вводе этой команды в текущей директории будет создан пустой файл с именем r и терминал перейдёт в режим конкатенации вводимых строк к концу содержимого этого файла. То есть мы можем сразу же начать заполнять файл текстом. Сохранение набранного текста будет происходит построчно по нажатию клавиши Enter . Иными словами, по нажатию клавиши Enter будет выполняться конкатенация.
Можно вводить без пробела:
Пример
- Вводим cat>s — в текущей директории создан пустой файл с именем s .
- Набираем 123 — этого текста ещё не будет в файле.
- Нажимаем Enter — текст 123 записался в файл и курсор, как в терминале, так и в файле, перешёл на новую строку.
На строку выше вернуться нельзя.
Выйти из режима конкатенации можно с помощью Ctrl+D (EOF — End Of File) в начале строки. Если вы уже начали набирать строку, Ctrl+D не закончит ввод файла, но запишет набранную часть строки без символа конца строки. Так вы можете записывать строки частями. Для выхода с незавершённой строкой можно нажать Ctrl+D дважды, тогда последняя строка в файле не будет иметь символа конца строки (EOL — End Of Line).
Создание файла с помощью редактора.
Очевидно, что мы можем исользовать редактор типа nano , vi , vim , etc для создания файла.
Пример
- Вводим nano t — открывается редактор nano в терминальном режиме.
- Вводим 123 и нажимаем Ctrl + O (не ноль, а буква), а затем Enter — в текущей директории создался файл с именем t , содержащий текст 123 и один перевод строки.
- Чтобы выйти и редактора нажимаем Ctrl + X (внизу редактора подсказки).
Создание файла с данными через dd
Полезно иногда создавать файл определенного размера с нулями
или случайными байтами
Создается файл из 100 блоков по 10 мегабайт — 1 ГБ.
Выделение места под файл средствами файловой системы
Такие команды работают быстерее dd потому как сами данные не записываются, а просто выделяется область диска
fallocate резервирует место под файл на диске, а truncate обрезает файл или добавляет до нужного размера, резервируя место на диске.
При создании файлов таким образом в них могут содержаться куски удаленных рание файлов на некоторых системах.
Как создать файл в терминале
Философия 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?
Очень часто возникает необходимость создать пустой файл в папке, работая через терминал.
Порывшись на Linux форумах, обнаружил, что вариантов несколько. Предлагаю на выбор 11 способов.
Способ 1
touch — команда Unix, предназначенная для установки времени последнего изменения файла или доступа в текущее время. Также используется для создания пустых файлов.
Способ 2
cat — утилита UNIX, выводящая последовательно указанные файлы (или устройства), таким образом, объединяя их в единый поток. Если вместо имени файла указывается «-», то читается стандартный ввод.
Способ 3
tail — утилита в UNIX, выводящая несколько (по умолчанию 10) последних строк из файла.
Способ 4
date — утилита Unix для работы с системными часами. Выводит текущую дату и время в различных форматах и позволяет устанавливать системное время.
Способ 5
dd — программа Unix, предназначенная как для копирования, так и для конвертации файлов.
Способ 6
Vim — свободный режимный текстовый редактор, созданный на основе более старого vi. Ныне это один из мощнейших текстовых редакторов с полной свободой настройки и автоматизации, и созданным благодаря этому расширениям и надстройкам.
Способ 7
cp — команда Unix в составе GNU Coreutils, предназначенная для копирования файлов из одного в другие каталоги (возможно, с другой файловой системой). Исходный файл остаётся неизменным, имя созданного файла может быть таким же, как у исходного, или измениться.
Способ 8
echo — команда Unix, предназначенная для отображения строки текста. Команда echo — выводит текст (выводит текст на стандартное устройство вывода).
Способ 9
Способ 10
Способ 11
Способ 12
Самый короткий из способов, любезно предоставленный пользователем #!/bin/sh > имя_файла