Возможно, вы слышали расхожее выражение, что в Linux «всё есть файл». Научимся создавать файлы в Linux различными способами, ну а какой является самым удобным — каждый решит для себя сам.
Способ 1: при помощи графического интерфейса
Первый способ является очень простым и очевидным. Впрочем, кому-то он может показаться медленным и неудобным, ведь подразумевает щелчки кнопками мыши.
При создании потребуется указать имя файла.
Способ 2: команда touch
Здесь и далее речь пойдёт о консольных командах. Одной из самых известных является команда touch. Пример:
touch file_test
Командой выше мы создали файл file_test в текущей директории. Если указать полный путь, файл будет создан в указанной директории (при условии, что у создающего пользователя есть на то права).
Можно создать одновременной несколько файлов, указав их имена через пробелы:
touch file1 file2 file3
На самом деле, создание файлов — побочный эффект от использование команды touch (такое характерно и для многих других команд). Основное предназначение команды touch — смена времени последнего изменения файла или доступа к нему. Но, если файл не существует, он будет создан.
Способ 3: через оператор >
Очень простой способ:
> file_test
Такая команда тоже создаст пустой файл file_test в текущем каталоге. Команду можно писать и без пробела:
>file_test
Это характерно и для других команд с оператором >, которые мы будем рассматривать далее.
И тоже можно создать несколько файлов:
> file1 > file2 > file3
Способ 4: утилита date
Создать пустой файл можно и через утилиту date, которая предназначена для вывода даты и времени, а также их настройки. Команда
date 2>file_test
создаст пустой файл с именем file_test в текущем каталоге. Если хотите создать несколько пустых файлов при помощи команды date, то нужно быть осторожнее с пробелами. Например, два пустых файла создаст такая команда:
date 2 >file1 >file2
Способ 5: утилита tail
Утилита tail выводит последние строки файла (по умолчанию 10). Чтобы создать пустой файл нужно, ввести довольно монструозную команду, но способ рабочий.
tail /etc/fstab | grep -E "^Moses$" > file_test
Можно создать и несколько файлов:
tail /etc/fstab | grep -E "^Moses$" > file1 > file2
Способ 6: с помощью команды echo
Команда echo предназначена для отображения строки текста. При вводе
echo > file_test
будет создан файл, но он будет не совсем пустым (в отличие от предыдущих способов), а будет содержать перевод строки. Видно это и по размеру файла — 1 байт вместо 0. Создание нескольких файлов выглядит следующим образом:
echo > file1 > file2 > file3
При этом, в таком случае только последний файл будет содержать перевод строки (размеров в 1 байт), остальные будут пустыми.
Способ 7: при помощи : >
Очень похоже на способ 3 из этой статьи.
: > file_test
С созданием нескольких файлов также нет никаких проблем.
: > file1 > file2 > file3
Далее поговорим о создании файлов с текстом.
Способ 8: echo и текст
Конечно, бывают ситуации, что нужно создать файл с определённым текстом. Зачем разбивать это на несколько операций, если можно сделать в одной?
echo это пример текста > file_test
Обратите внимание, что в терминале Linux допустимо вводить текст не только латиницей. Кроме того, если быть совсем уж дотошными, обратим внимание, что данная команда запишет не только указанный текст, но и добавит в файл один перевод строки.
Создать несколько файлов с одинаковым текстом таким образом нельзя.
echo это пример текста > file1 > file2 > file3
Пример выше создаст два пустых файла и третий файл (file3) с указанным текстом и переводом строки.
Как можете убедиться, даже текст с пробелами в этом случае можно вводить без кавычек. Но, если их указать (можно «, а можно и ‘), отображаться в тексте файла они не будут. Вывод: проще всего, конечно, без кавычек, но и с ними результат будет идентичным.
Способ 9: при помощи команды cat
Команда cat (точнее утилита) является весьма удобной для создания файлов с текстом, хотя предназначение её совсем не в этом. Смысл данной утилиты заключается в объединении (лат. concatenatio — «присоединение цепями; сцепление») содержимого файлов (или устройств) для вывода их в единый поток. Но, кроме этого, cat позволяет перенаправить поток со стандартного устройства ввода (клавиатуры) в файл. Выглядит это следующим образом:
cat > file_test
Данная команда создаст пустой файл в текущей директории, который тут же предложит отредактировать. Если вам нужен пустой файл, нажмите Ctrl + D или Ctrl + C.
Предположим, нам нужно записать в file_test одну строку текста без перевода строки, вводим:
cat > file_test строка текста
после чего сперва Ctrl + D, затем Ctrl + C. Если же после ввода строки текста вы нажмете Enter, после чего Ctrl + D или Ctrl + C, тогда будет создан файл с одной строкой текста и переводом строки.
Как вы уже, наверное, поняли, cat может создавать «на лету» файлы с несколькими строками:
cat > file_test первая строка текста вторая строка текста третья строка текста
После ввода каждой строки необходимо нажимать Enter. Если после этого нажать сперва Ctrl + D, затем Ctrl + C, все строки запишутся в файл. Если после ввода последней строки вы не нажмете ни Ctrl + D, ни Enter, а сразу Ctrl + C, то последняя строка в файл не запишется.
cat может создавать и несколько файлов, но текст будет записан только в последний.
cat > file1 > file2 > file3 первая строка текста вторая строка текста третья строка текста
В этом примере текст будет записан только в file3.
Способ 10: с помощью текстовых редакторов в терминале
Еще более продвинутый способ, если вам недостаточно cat. К примеру, как создать файл при помощи редактора nano можно следующим образом:
nano file_test
Команда выше откроет редактор nano, но ещё не создаст файл как таковой. Введите в редакторе текст.
первая строка текста вторая строка текста третья строка текста
После чего нажмите Ctrl + O для записи файла. Программа спросит подтверждения сохранения, если дать согласие, то именно после этого будет создан новый файл. Для выхода из редактора nano используйте Ctrl + X. Обратите внимание, что кроме введенного текста, в файл будет записан один перевод строки.
Другим крайне популярным редактором является vi. Откроем редактор командой
vi file_test
Открытый файл будет выглядеть так:
Строки с тильдами (символами ~) являются пустыми. Сейчас vi находится в командном режиме, чтобы перейти в режим ввода текста, нужно нажать клавишу i. После этого можно ввести текст.
Для выхода из режима ввода текста нажмите Esc. Для сохранения текста и закрытия файла введите команду :wq.
В vi также можно создать несколько файлов и наполнить их текстом.
vi -o file1 file2 file3
-o используется для открытия каждого файла в отдельном окне. Выглядеть это будет так:
Последовательно введите текст в каждый из файлов, сохраняя и закрывая их командой :wq.
На самом деле, даже эти десять способов — это ещё далеко не всё. Делитесь своими любимыми способами в комментариях.
Статьи по теме: