Рассмотрим 12 способов создания файла в Linux.
Эти способы тестировались на дистрибутиве Ubuntu, но будут работать на любой системе Linux.
Создание пустого файла при помощи touch
$ touch filename
Пояснение: Команда touch предназначена для того, чтобы поменять дату изменения файла на текущую. Однако ее также часто используют для создания файлов.
Создание сразу нескольких пустых файлов при помощи touch
touch file1.txt file2.txt file3.txt
Создание пустого файла при помощи echo
$ echo > filename
Пояснение: Команда echo предназначена для вывода на экран строки, которая в нее передается. Символ >
перенаправляет вывод в файл. Соответственно мы перенаправили пустоту в файл.
Трюк для создания пустых файлов
$ > filename
Пояснение: символ >
перенаправляет вывод, а мы ничего не выводим, просто перенаправляем пустоту в файл. Это самый короткий способ создать пустой файл.
Или лучше такой пример:
$ : > file
Двоеточие в начале, чтобы случайно не записать вывод предыдущей команды в файл.
Создание файла с содержимым
$ echo '123' > filename
Пояснение: Выводим строку 123 и перенаправляем этот вывод в файл. Файл будет содержать строку 123
Создание файла путем объединения других файлов с помощью cat
$ cat file1 file2 file3 > big_file
Пояснение: Команда cat выводит на экран содержимое на экран, однако мы перенаправляем этот вывод в файл. Соответственно мы создали файл big_file
в котором находится содержимое из трех других файлов.
Создание файла с помощью любой команды и символа >
Мы можем создать файл, с помощью команд, которые выводят что-то на экран, записав этот вывод в файл. Например ps aux
выводит информацию о текущих процессах в системе. Мы просто можно записать весь вывод этой команды в файл file.txt и потом его проанализировать.
$ ps aux > file.txt
Записываем в файл справку по команде man
:
man man > file.txt
Записываем в файл календарь на 2021 год
cal 2021 > 2021.txt
Создание файла при помощи редактора nano
$ nano filename.txt
Этот редактор чуть более привычный простому пользователю, чем Vim, однако он должен быть установлен в вашей системе.
Иначе вы получите ошибку о несуществующей команде Command 'nano' not found
.
Проверить установлен ли nano в вашей системе можно с помощью следующей команды:
$ nano --version
Результатом будет информация об установленном редакторе:
GNU nano, version 2.9.3 (C) 1999-2011, 2013-2018 Free Software Foundation, Inc. (C) 2014-2018 the contributors to nano Email: nano@nano-editor.org Web: https://nano-editor.org/ Compiled options: --disable-libmagic --disable-wrapping-as-root --enable-utf8
Либо сообщение об ошибке: Command 'nano' not found
Создание файла при помощи текстового редактора Vim
$ vi filename.txt
Если вы никогда не работали с этим редактором, то этот способ вам не подойдет, т.к. без пары часов за документацией Vim не освоить.
На всякий случай скажу вам способ выйти из этого редактора, т.к. даже это совершенно не очевидно: нажмите Esc
, затем :
затем введите q!
затем нажмите Enter
- это способ выхода без сохранения. Для сохранения нужно набрать x!
вместо q
Создание файла определенного размера c помощью fallocate
$ fallocate -l 10M hello.txt
Таким образом вы создали файл hello.txt размером 10 мегабайт.
Создание файла определенного размера с помощью dd
$ dd if=/dev/zero of=hello.txt bs=10M count=1
Создание файла-сокета c помощью команды mkfifo
$ mkfifo foo.sock
После создания вам нужно установить на него права, чтобы нужные программы могли им пользоваться
Создание файла при помощи HEREDOC
$ cat << EOF > file.txt > This text is > added by Here Document > EOF
Пояснение: мы сначала пишем cat << EOF > file.txt
причем вместо EOF может быть любая строка, которой нет в тексте, который мы собираемся написать. Затем когда мы завершили заполнение многострочного файла, просто переходим на следующую строку и вводим EOF. В итоге содержимое нашего файла будет:
This text is added by Here Document
Спасибо за внимание! Если вы знаете какой-нибудь интересный и полезный способ создания фалов - напишите его в комментариях.