Linux создаем файл через консоль

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Linux увеличить размер файла подкачки

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

Пример

  • Вводим 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 резервирует место под файл на диске, а truncate обрезает файл или добавляет до нужного размера, резервируя место на диске.

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

Источник

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

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

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

Читайте также:  Linux date format time

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

1. Редактор nano

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

files

2. Редактор Vi

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

files1

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

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

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

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

files2

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

files3

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

files4

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

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

files5

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

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

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

files6

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

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

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

Читайте также:  Using mount in linux

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:

8. touch

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

Чтобы создать пустой файл Linux, просто наберите:

files8

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

Опция -t позволяет установить дату создания. Дата указывается опцией -t в формате YYMMDDHHMM.SS. Если не указать, будет установлена текущая дата. Пример:

touch -t 201601081830.14 файл

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

Также можно установить дату последней модификации, с помощью опции -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. Если вы знаете другие, которые следовало бы добавить в статью — поделитесь в комментариях.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

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