Как создать пустой файл в bash
Перейти к содержимому

Как создать пустой файл в bash

  • автор:

Как быстро создать пустой и непустой текстовый файл в Linux через терминал?

Ответ общий, вы можете исправить его, если считаете нужным.

Существует N-ое количество способов создания текстовых файлов, мы приведём два основных, которые, на наш взляд, самые быстрые с точки зрения клавиатурного ввода, и несколько других.

Под фразой «при вводе» подразумевается, что нужно ввести команду в терминал и нажать клавишу Enter .

Создание пустых файлов

При вводе этой команды в текущей директории будет создан пустой файл с именем a .

Можно вводить без пробела:

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

: > file 

Можно создать сразу сколь угодно файлов:

> b > c > d > e > f > g 

Хотя так удобней (о touch будет далее):

touch b c d e f g 

Создание файлов с текстом

echo blablabla > h 

При вводе этой команды в текущей директории будет создан файл с именем h , содержащий текст blablabla и один перевод строки.

Можно вводить без пробела вокруг оператора > :

echo blablabla>i 

Выводимый контекст можно заключить в кавычки, а можно и не заключать, даже если он содержит пробелы:

echo bla bla bla > j echo 'bla bla bla' > k echo "bla bla bla" > l 

Все три вышеперечисленные команды дают одинаковый результат (кроме имён файлов, естественно).

Также можно провернуть такую штуку:

echo 123 > m > n > o 

При вводе этой команды в текущей директории будут созданы два пустых файла: m и n ; и файл o , содержащий текст 123 и один перевод строки.

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

man man > p 

Ман по man ‘у . При вводе этой команды в текущей директории будет создан файл с именем p , содержащий мануал по команде man .

cal 2000 > 2000 

Календарик на 2000 год .

Другие способы создания файлов

Создание пустого файла с помощью touch

touch q 

При вводе этой команды в текущей директории будет создан пустой файл с именем q .

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

Создание файла «с текстом» с помощью cat

cat > r 

При вводе этой команды в текущей директории будет создан пустой файл с именем r и терминал перейдёт в режим конкатенации вводимых строк к концу содержимого этого файла. То есть мы можем сразу же начать заполнять файл текстом. Сохранение набранного текста будет происходит построчно по нажатию клавиши Enter . Иными словами, по нажатию клавиши Enter будет выполняться конкатенация.

Можно вводить без пробела:

cat>s 

Пример

  • Вводим cat>s — в текущей директории создан пустой файл с именем s .
  • Набираем 123 — этого текста ещё не будет в файле.
  • Нажимаем Enter — текст 123 записался в файл и курсор, как в терминале, так и в файле, перешёл на новую строку.

На строку выше вернуться нельзя.

Выйти из режима конкатенации можно с помощью Ctrl+D (EOF — End Of File) в начале строки. Если вы уже начали набирать строку, Ctrl+D не закончит ввод файла, но запишет набранную часть строки без символа конца строки. Так вы можете записывать строки частями. Для выхода с незавершённой строкой можно нажать Ctrl+D дважды, тогда последняя строка в файле не будет иметь символа конца строки (EOL — End Of Line).

Создание файла с помощью редактора.

Очевидно, что мы можем исользовать редактор типа nano , vi , vim , etc для создания файла.

Пример

  1. Вводим nano t — открывается редактор nano в терминальном режиме.
  2. Вводим 123 и нажимаем Ctrl + O (не ноль, а буква), а затем Enter — в текущей директории создался файл с именем t , содержащий текст 123 и один перевод строки.
  3. Чтобы выйти и редактора нажимаем Ctrl + X (внизу редактора подсказки).

Создание файла с данными через dd

Полезно иногда создавать файл определенного размера с нулями

dd if=/dev/zero of=./file bs=10M count=100 

или случайными байтами

dd if=/dev/urandom of=./file bs=10M count=100 

Создается файл из 100 блоков по 10 мегабайт — 1 ГБ.

Выделение места под файл средствами файловой системы

Такие команды работают быстерее dd потому как сами данные не записываются, а просто выделяется область диска

fallocate -l 10M ./file 
truncate -s 10M ./file 

fallocate резервирует место под файл на диске, а truncate обрезает файл или добавляет до нужного размера, резервируя место на диске.

При создании файлов таким образом в них могут содержаться куски удаленных рание файлов на некоторых системах.

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

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

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

Подготовка

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

Если вы хотите отобразить содержимое каталога, используйте команду ls .

Создание файла с помощью сенсорной команды

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

Самый простой и запоминающийся способ создания новых пустых файлов — использовать touch команду.

Чтобы создать новый файл, просто запустите touch команду, после которой укажите имя файла, который вы хотите создать:

touch file1.txt

Если файл file1.txt не существует, приведенная выше команда создаст его, в противном случае она изменит свои временные метки.

Чтобы создать сразу несколько файлов, укажите имена файлов через пробел:

touch file1.txt file2.txt file3.txt

Создание файла с помощью оператора перенаправления

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

Чтобы создать пустой файл нулевой длины, просто укажите имя файла, который вы хотите создать, после оператора перенаправления:

> file1.txt

Это самая короткая команда для создания нового файла в Linux.

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

Создание файла с помощью команды cat

Команда cat в основном используется для чтения и объединения файлов, но ее также можно использовать для создания новых файлов.

Чтобы создать новый файл, выполните команду cat, за которой следует оператор перенаправления > и имя файла, который вы хотите создать. Нажмите Enter введите текст и, когда вы закончите, нажмите CRTL+D чтобы сохранить файлы.

cat > file1.txt

Создание файла с помощью команды echo

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

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

echo "Some line" > file1.txt

Если вы хотите создать пустой, просто используйте:

echo > file1.txt

Создание файла с использованием Heredoc

Здесь документ или Heredoc — это тип перенаправления, который позволяет передавать команде несколько строк ввода.

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

Например, чтобы создать новый файл file1.txt вы должны использовать следующий код:

cat file1.txtSome lineSome other lineEOF

Тело heredoc может содержать переменные, специальные символы и команды.

Создание большого файла

Иногда в целях тестирования может потребоваться создать большой файл данных. Это полезно, когда вы хотите проверить скорость записи вашего накопителя или проверить скорость загрузки вашего соединения.

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

Команда dd в основном используется для преобразования и копирования файлов.

Чтобы создать файл с именем 1G.test размером 1 ГБ, выполните:

dd if=/dev/zero of=1G.test bs=1 count=0 seek=1G

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

fallocate командной строки для выделения реального дискового пространства для файлов.

Следующая команда создаст новый файл с именем 1G.test размером 1 ГБ:

fallocate -l 1G 1G.test

Выводы

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

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

Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

Как создать файл в терминале

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

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

Как всё это делать, вы узнаете из этой статьи. Мы рассмотрим все доступные средства создания файлов в терминале Linux. Поехали!

1. Редактор nano

Самый распространённый способ создать текстовый файл в Linux — это использовать консольные текстовые редакторы. Например nano. После ввода команды открывается редактор, и вы прописываете нужный текст, например:

files

2. Редактор Vi

Тот же принцип, но программа намного серьёзнее:

files1

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

Понятное дело, в этом пункте можно говорить и о других редакторах, в том числе и с графическим интерфейсом. Но мы их опустим и перейдём к другим командам создания файла в Linux.

3. Оператор перенаправления >

Это, наверное, самая короткая команда для создания файла в Linux:

files2

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

md5sum файл > ~/sum.md5

files3

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

echo «Это строка» > файл.txt

files4

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

Ещё тем же способом можно сделать примитивный текстовый редактор для создания файла. Утилита cat без параметров принимает стандартный ввод, используем это:

files5

После выполнения команды можете вводить любые символы, которые нужно записать в файл, для сохранения нажмите Ctrl+D.

А ещё есть утилита printf, и здесь она тоже поддерживает форматирование вывода:

printf «Это %d текстовая строка\n» 1 > файл

files6

Этот способ создать файл в Linux используется довольно часто.

4. Оператор перенаправления вывода >>

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

echo «Это текстовая строка» > файл.txt
$ echo «Это вторая текстовая строка» >> файл.txt

files7

5. Оператор перенаправления 2>

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

file11

Если команда не выдает ошибок, файл будет пустым.

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, просто наберите:

files8

Можно создать несколько пустых файлов сразу:

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:

files9

9. Утилита dd

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

dd if=/dev/zero of=~/файл count=20M

files10

Параметр if указывает, откуда брать данные, а of — куда записывать, count — необходимый размер. Ещё можно указать размер блока для записи с помощью bs, чем больше размер блока, тем быстрее будет выполняться копирование.

Создание специальных файлов в Linux

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

Выводы

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

4 способа создать файл в терминале Linux 1 мин для чтения

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

В этой серии статей для начинающих с Linux вы изучите различные способы создания файла в терминале Linux.

Если вы использовали настольную ориентированную операционную систему, такую ​​как Windows, создание файла — это просто. Вы щелкаете правой кнопкой мыши в проводнике, и вы найдете возможность создания нового файла.

Вещи не будут выглядеть одинаково, когда вы находитесь в среде командной строки. Здесь нет возможности щелчка правой кнопкой мыши. Так как же тогда создать файл в Linux? Позвольте мне показать вам это.

Создать файл в командной строке Linux

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

1. Создайте пустой файл с помощью команды touch

Одним из самых распространенных применений сенсорной команды в Linux является создание нового пустого файла. Синтаксис очень прост.

touch filename

Если файл еще не существует, он создаст новый пустой файл. Если файл с таким именем уже существует, он обновит временные метки файла .

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

2. Создайте файлы с помощью команды cat

Другой популярный способ создания нового файла — использование команды cat в Linux. Команда cat в основном используется для просмотра содержимого файла, но вы также можете использовать ее для создания нового файла.

cat > filename.txt

Вы можете написать новый текст в это время, если хотите, но это не обязательно. Для того, чтобы сохранить и выйти, используйте в терминале Ctrl + D.

Если файл с таким именем уже существует, и вы пишете в нем новый текст с помощью команды cat, новые строки будут добавлены в конец файла.

Читать Различие Fedora от Debian

3. Создайте новый файл с помощью команды echo

Основное использование команды echo — просто повторить (echo) то, что вы печатаете на экране. Но если вы используете перенаправление с echo, вы можете создать новый файл.

Чтобы создать новый пустой файл с помощью echo, вы можете использовать что-то вроде этого:

echo "Это образец текста" > filename.txt

Вновь созданный файл filename.txt будет иметь следующий текст: Это пример текста. Вы можете просмотреть файл в Linux, используя cat или другие команды просмотра.

Вы не обязаны помещать образец текста с эхом. Вы можете создать (почти) пустой файл, используя команду echo:

echo> file.txt

Это создаст новый файл с одной пустой строкой. Вы можете проверить количество строк с помощью команды wc.

4. Создайте новый файл с помощью текстового редактора, такого как Vim

Последний метод в этой серии — использование текстового редактора. Текстовый редактор на основе терминала, такой как Emacs , Vim или Nano, несомненно, может быть использован для создания нового файла.

Прежде чем использовать эти текстовые редакторы, вы должны убедиться, что вы знаете основы, такие как сохранение существующего из редактора. В отличие от инструментов с графическим интерфейсом, использование Ctrl + S в терминале не сохранит файл. Фактически, он может перевести ваш терминал в, казалось бы, замороженное состояние, из которого вы восстанавливаетесь с помощью Ctrl + Q.

Допустим, вы собираетесь использовать редактор Vim. Убедитесь, что вы знакомы с основными командами vim , а затем откройте новый файл, например:

vim filename

Какая ваша любимая команда?

Итак, мы только что поделились 4 различными способами создания файла в Linux. Лично мы предпочитаем использовать touch для создания пустого файла и Vim, если нам нужно отредактировать файл.

Какую команду вы предпочитаете здесь? Пожалуйста, поделитесь своим мнением в разделе комментариев ниже.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *