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

275

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

  • 1
    Я удивлен, почему mkfile действительно не рекомендуется
  • 2
    @AlexMills, потому что mkfile не в Linux.
Показать ещё 1 комментарий
Теги:
file
command-line-interface

15 ответов

362
Лучший ответ

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

  • touch /path/to/file для пустого файла
  • somecommand > /path/to/file для файла, содержащего вывод некоторой команды.

      eg: grep --help > randomtext.txt
          echo "This is some text" > randomtext.txt
    
  • nano /path/to/file или vi /path/to/file (или any other editor emacs,gedit etc)
    Он либо открывает существующий для редактирования, либо создает и открывает пустой файл для ввода, если он не существует

  • 34
    также printf "some long message\nwith newlines\n" > file . Всем удачи.
  • 1
    UNIX - это не среда командной строки, а семейство (очень разных) ОС. Тем не менее, да, это должно работать на большинстве
Показать ещё 12 комментариев
76

Используйте touch

touch filename
48

Создайте файл с помощью cat

$ cat > myfile.txt

Теперь просто введите то, что вы хотите в файле:

Hello World!

CTRL-D для сохранения и выхода

  • 0
    Я предпочитаю использовать cat, поскольку она предлагает простой и удобный способ немедленного редактирования файла.
  • 0
    Вы также можете ничего не печатать.
27

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

Создать пустой файл

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.

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

16

Также создайте пустой файл:

touch myfile.txt
10

ха-ха! это легко! попробуйте следующее:

$ touch filename
  • 1
    Это работало с sudo, поэтому я смог создать новый файл в системной папке.
6

Как создать текстовый файл в Linux:

  • Использование touch для создания текстового файла: $ touch NewFile.txt
  • Использование cat для создания нового файла: $ cat NewFile.txt
    Файл создается, но он пуст и все еще ждет ввода от пользователя. Вы можете ввести любой текст в терминал, и после завершения CTRL-D его закроет, или CTRL-C уберет вас.
  • Просто используя > для создания текстового файла: $ > NewFile.txt
  • Наконец, мы можем использовать любое текстовое имя редактора, а затем создать файл, например:
    nano MyNewFile vi MyNewFile NameOfTheEditor NewFileName
6

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

touch filename

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

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

Возможно, у вас могут быть проблемы с разрешениями. Если вы получаете следующую ошибку: bash: filename: Permission denied, вам нужно использовать sudo bash -c 'echo "Foo" > filename', как описано здесь: https://askubuntu.com/questions/103643/cannot-echo-hello-x-txt-even-with-sudo

5

1-й метод

echo -n > filename.txt

Второй метод

> filename.txt

Третий метод

touch filename.txt

Чтобы просмотреть содержимое файла

vi filename.txt
  • 0
    2 метод это тип-> "> filename.txt"
  • 0
    Вопрос не по теме переполнения стека, как определено в справочном центре . Пожалуйста, не отвечайте на такие вопросы; вместо этого вы должны отметить их для внимания, и они будут закрыты или перенесены соответствующим образом.
5

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

http://linux.about.com/library/cmd/blcmdl_touch.htm

4

Мне нравится nano редактор командной строки (текст):

nano filename
4

Это создаст пустой файл с текущей меткой времени

touch filename
2

В случае, если вы пытаетесь создать новый файл, но он говорит: 'File does not exist', это просто потому, что вы также получаете доступ к каталогу, который еще не существует. Сначала вы должны создать все несуществующие каталоги, используя команду mkdir /path/to/dir.

1

Простое:

> filename

0
touch filename

для permission denied используйте команду sudo, как:

sudo touch filename

Ещё вопросы

Сообщество Overcoder
Наверх
Меню