5

Как создать файл в Linux из терминала? [закрыто]

15

Проблема: Закрытый вопрос без подробностей

Мой вопрос на Stack Overflow был закрыт с пометкой о том, что ему не хватает деталей или ясности, и сейчас он не принимает ответов. Это произошло 5 лет назад. Я хотел бы узнать: каков самый простой способ создать файл в терминале Linux?

Я понимаю, что вопрос нуждается в доработке, но не знаю, какие именно детали стоит добавить. Может быть, кто-то сможет подсказать, какие аспекты стоит уточнить или что еще включить, чтобы сделать мой вопрос более понятным и приемлемым для сообщества?

Спасибо за помощь!

5 ответ(ов)

6

В зависимости от того, что вы хотите, чтобы файл содержал:

  • Используйте touch /path/to/file, чтобы создать пустой файл.

  • Используйте somecommand > /path/to/file, чтобы файл содержал вывод какой-либо команды.

      Например: grep --help > randomtext.txt
               echo "Это какой-то текст" > randomtext.txt
    
  • Вы можете использовать nano /path/to/file или vi /path/to/file (или любой другой редактор, например emacs, gedit и т.д.), чтобы открыть существующий файл для редактирования или создать и открыть новый пустой файл, если он не существует.

1

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

$ cat > myfile.txt

После этого вы можете ввести текст, который хотите записать в файл, например:

Hello World!

Когда закончите вводить текст, нажмите CTRL-D, чтобы сохранить файл и выйти из режима ввода.

0

Существует несколько возможных решений:

Создание пустого файла

touch file

>file

echo -n > file

printf '' > file

Версия с echo будет работать только в том случае, если ваша версия echo поддерживает флаг -n, который подавляет добавление символа новой строки. Это нестандартное дополнение. Остальные примеры будут работать в POSIX-оболочке.

Создание файла, содержащего только символ новой строки

echo '' > file

printf '\n' > file

Это является допустимым "текстовым файлом", так как он заканчивается на новую строку.

Запись текста в файл

"$EDITOR" file

echo 'text' > file

cat > file <<END \
text
END

printf 'text\n' > file

Эти способы эквиваленты. Команда $EDITOR предполагает, что у вас определён интерактивный текстовый редактор в переменной окружения EDITOR и что вы вводите эквивалентный текст интерактивно. Версия с cat предполагает наличие символа новой строки после \ и после каждой следующей строки. Кроме этого, все эти методы будут работать в POSIX-оболочке.

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

0

Вы можете создать пустой файл, используя команду touch в терминале. Вот пример команды, которая создаст файл с именем myfile.txt:

touch myfile.txt

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

0

Вы можете использовать команду touch, как уже упоминали другие:

touch filename

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

echo "Foo" > filename
printf "Foo" > filename

Имейте в виду, что у вас могут возникнуть проблемы с правами доступа. Если вы видите следующую ошибку: bash: filename: Permission denied, вам нужно использовать sudo, чтобы выполнить команду с повышенными правами, например:

sudo bash -c 'echo "Foo" > filename'

Дополнительную информацию можно найти здесь: https://askubuntu.com/questions/103643/cannot-echo-hello-x-txt-even-with-sudo

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь