- Как создать файл в терминале
- 1. Редактор nano
- 2. Редактор Vi
- 3. Оператор перенаправления >
- 4. Оператор перенаправления вывода >>
- 5. Оператор перенаправления 2>
- 6. Оператор перенаправления и head
- 7. Команда cp
- 8. touch
- 9. Утилита dd
- Создание специальных файлов в Linux
- Выводы
- How To Create A File In Linux: Touch, Cat, Echo, Printf Command
- Types of files in Linux
- How to identify the type of file?
- Create a new file in Linux
- Create a new file using Terminal Window
- 1. Using the touch command
- 2. Using the cat command
- 3. Using the redirection operator
- 4. Using the echo command
- 5. Using the printf command
- 6. Create a zip file and ignore the directory structure in Linux
- Summary
Как создать файл в терминале
Философия Linux гласит — всё в системе есть файл. Мы ежедневно работаем с файлами, и программы, которые мы выполняем, — тоже файлы. В разных случаях нам может понадобиться создать в системе файлы определённого типа. Если вам интересно, какие типы файлов в Linux можно создать, смотрите отдельную статью.
Конечно, всё очень просто делается с помощью мышки и файлового менеджера. Но если вы дружите с клавиатурой, создать файл через терминал Linux намного быстрее и, как вы увидите, эффективнее. В терминале вы можете не только создавать пустые файлы, но и создавать файл с уже готовым содержимым, файлы определённого размера, и с нужными метаданными.
Как всё это делать, вы узнаете из этой статьи. Мы рассмотрим все доступные средства создания файлов в терминале Linux. Поехали!
1. Редактор nano
Самый распространённый способ создать текстовый файл в Linux — это использовать консольные текстовые редакторы. Например nano. После ввода команды открывается редактор, и вы прописываете нужный текст, например:
2. Редактор Vi
Тот же принцип, но программа намного серьёзнее:
Если вы в первый раз столкнулись с vim, то предупрежу — это необычный редактор. Здесь есть два режима: режим вставки и командный. Переключаться между ними можно с помощью кнопки Esc. Для выхода из редактора в командном режиме наберите :q, для сохранения файла — :w. Вообще, Vim — очень полезный инструмент. Чтобы узнать побольше о его возможностях и выучить основы, выполните: vimtutor.
Понятное дело, в этом пункте можно говорить и о других редакторах, в том числе и с графическим интерфейсом. Но мы их опустим и перейдём к другим командам создания файла в Linux.
3. Оператор перенаправления >
Это, наверное, самая короткая команда для создания файла в Linux:
Оператор оболочки для перенаправления вывода позволяет записать вывод любой команды в новый файл. Например, можно подсчитать md5 сумму и создать текстовый файл в Linux с результатом выполнения.
Это рождает ещё несколько способов создания файла в Linux, например, выведем строку в файл с помощью команды echo:
Этот способ часто используется для создания конфигурационных файлов в 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:
8. touch
Вот мы и подобрались к непосредственному созданию файлов через терминал, для этого в Linux есть специальная утилита touch. Она позволяет создать пустой файл в Linux, при этом указывать дату создания, права доступа и другие метаданные.
Чтобы создать пустой файл Linux, просто наберите:
Можно создать несколько пустых файлов сразу:
Опция -t позволяет установить дату создания. Дата указывается опцией -t в формате YYMMDDHHMM.SS. Если не указать, будет установлена текущая дата. Пример:
touch -t 201601081830.14 файл
Можно использовать дату создания другого файла:
Также можно установить дату последней модификации, с помощью опции -m:
touch -m -t 201601081830.14 файл
Или дату последнего доступа:
touch -a -t 201601081830.14 файл
Чтобы посмотреть, действительно ли задаётся информация, которую вы указали, используйте команду stat:
9. Утилита dd
Это утилита для копирования данных из одного файла в другой. Иногда необходимо создать файл определённого размера в Linux, тогда можно просто создать его на основе /dev/zero или /dev/random, вот так:
dd if=/dev/zero of=~/файл count=20M
Параметр if указывает, откуда брать данные, а of — куда записывать, count — необходимый размер. Ещё можно указать размер блока для записи с помощью bs, чем больше размер блока, тем быстрее будет выполняться копирование.
Создание специальных файлов в Linux
В Linux, кроме выше рассмотренных обычных текстовых и бинарных файлов, существуют ещё и специальные файлы. Это файлы сокетов и туннелей. Их нельзя создать обычными программами, но для этого существуют специальные утилиты, смотрите подробнее в статье, ссылку на которую я дал вверху.
Выводы
Это были все возможные команды для создания файла в Linux. Если вы знаете другие, которые следовало бы добавить в статью — поделитесь в комментариях.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
How To Create A File In Linux: Touch, Cat, Echo, Printf Command
A file is a container in a Linux-based system for storing information. Linux considers everything as a file and organizes all its data into files. Files are then organized into directories. Further, the directories are organized into tree-like structures called the filesystem. Partitions, hardware device drivers, and directories are all included in the definition of a file in addition to file creation, text files, file images, file details, and compiled programs.
Types of files in Linux
A file type helps us in identifying the type of content that is saved in the file. Linux supports six different types of files.
The different types of names of files present are :
Regular file: Regular or ordinary files store data of various content types such as text, audio, video, images, scripts, and programs. In Linux, regular files can be created with or without an extension.
Directory file: File systems use directories to organize files in a hierarchy. Directories are also files, but instead of storing data, they store the location of other files. Each directory entry stores the name and location of a single file.
Link file: Link files allow us to use a file with a different filename and from a different location. For this, we use link files. A link file is a pointer to another file. There are two types of links: a hard link and a symbolic or soft link.
Special file: Linux treats all hardware devices (such as hard drives, printers, monitors, terminal emulators, and CD/DVD drives) as special files. Linux places all special files or device files under the /dev directory. There are two types of special files: a character special file and a block special file.
Socket file: A socket is a communication endpoint that applications use to exchange data. Each application that provides services to other applications or remote clients uses a socket to accept connections. Each socket has an associated IP address and port number that allow it to accept connections from clients.
Named pipe file: Named pipe files are empty pipe files. The kernel processes named pipe files without writing them to the file system. Named pipe files can exist anywhere in the file system. They are also called the FIFO (First In First Out) files.
How to identify the type of file?
There are many ways to identify the type of file in Linux. The easiest way is to use the file command. To find the type of a file, specify the names of files as an argument in the current directory. Open your terminal window and run the following command:
The output of this command not only displays the type of the specified file in the current directory but also shows the type of content stored in the specified file.
Create a new file in Linux
There are various ways in which one can create a file in Linux with different names of files. You can create a file from the Terminal Window or you can use the Desktop File Manager to do so. You can create various files in Linux such as plain text files, file with echo, file with cat, file with ownership, file with printf, file with redirect, file without contents, sorted file, test6 files, and so on.
Create a new file using Terminal Window
1. Using the touch command
The touch command is the most commonly used command for creating a new file in Linux. To create a new file in the current directory, you need to run the touch command followed by the name of the file.
Command: $ touch abc.txt
This will create a file with the file name abc.
2. Using the cat command
Usually, we use the cat command to read the contents of a file; however, we can also use the cat command to create a new file. We can not edit files using cat commands.
To create a new file using cat, run the cat command and then use the redirection operator «>» followed by the name of the file. Now you will be prompted to insert file content into this newly created file. Type a line and then press «Ctrl+D» to save the file.
Command: $ cat > abcFile.txt
Hello Everyone this is my file!
The above command will create a new file with the file name «abcFile.txt» and save it with the file content «Hello Everyone this is my file».
3. Using the redirection operator
The redirection operator is added after the normal command is written. We can simply use the redirection operator «>» to create a new blank file in the current directory and save the file contents. Run the «>» operator followed by the name of the file.
The above command will create a new file with the file name «abcFile.txt».
4. Using the echo command
The echo command takes a string as an argument and displays it as output. The echo command is also one of the commonly used commands to create a Linux file. Open the terminal and run the following command:
Command: $ echo «This is the File name file1»
This is the File name file1
This will first create a blank text file file1 and save the given file name contents in it.
We can also redirect this output to a new file, such as −
Command: $ echo «This is the File name file3» > file3.txt
This will create a text file file3 and redirect the output to the new file.
5. Using the printf command
The printf command works just like the echo command with the only exception that the «printf» command provides additional formatting options that you can use to pass a formatted string as the argument and save the file content.
Command: $ printf ‘Studying hard will never fail you.\n’ > file2.txt
This will create an empty file with file name file2 and add the given content to the file.
6. Create a zip file and ignore the directory structure in Linux
In order to be able to zip files and ignore the directory structure that gets created with it, we can run the following command in the terminal:
Command: zip -j zipContent d1/file.txt d2/2.txt d2/3.txt
In the above command, we can notice the -j option which stands for “junk the path”, which will help you in ignoring the directory structure and make sure that you don’t get a directory structure mimicking the files.
Summary
From the above article, we can easily understand that creating files in Linux is very easy. It can be done both manually using the file manager or by using different commands in the terminal window. There are different types of files present in Linux and different methods or options through which we can create files in the Linux operating system.
Suggested reads:
I am a storyteller by nature. At Unstop, I tell stories ripe with promise and inspiration, and in life, I voice out the stories of our four-legged furry friends. Providing a prospect of a good life filled with equal opportunities to students and our pawsome buddies helps me sleep better at night. And for those rainy evenings, I turn to my colors.