%20%D1%84%D0%B0%D0%B9%D0%BB%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%B0%D0%BB%D0%B0%3F%20.png)
Я просто пытаюсь рассмотреть основные команды терминала. Сказав это, как мне создать текстовый файл, используя только терминал?
решение1
Вы не можете использовать терминал для создания файла. Вы можете использовать приложение, запущенное в терминале. Просто вызовите любой редактор без графического интерфейса ( emacs -nw
, joe
, nano
, vi
, vim
, …).
Если вы имели в виду использование командной строки, то вы спрашиваете, как создать файл с помощью оболочки. СмотритеВ чем именно разница между «терминалом», «оболочкой», «tty» и «консолью»?
Основной способ создания файла с помощью оболочки —перенаправление вывода. Например, следующая команда создает файл с именем, foo.txt
содержащий строкуHello, world.
echo 'Hello, world.' >foo.txt
Если вы хотите написать несколько строк, вот несколько возможностей. Вы можете использовать printf
.
printf '%s\n' 'First line.' 'Second line.' 'Third line.' >foo.txt
Вы можете использовать строковый литерал, содержащий символы новой строки.
echo 'First line.
Second line.
Third line.' >foo.txt
или
echo $'First line.\nSecond line.\nThird line.' >foo.txt
Другая возможность — группировать команды.
{
echo 'First line.'
echo 'Second line.'
echo 'Third line.'
} >foo.txt
В командной строке это можно сделать более напрямую с помощью cat
. Перенаправьте его вывод в файл и введите ввод построчно на cat
стандартном вводе . Нажмите Ctrl+ Dв начале строки, чтобы обозначить конец ввода.
$кот >foo.txt Первая линия. Вторая линия. Третья строка. Ctrl+D
В сценарии вы бы использовализдесь документдля достижения того же эффекта:
cat <<EOF >foo.txt
First line.
Second line.
Third line.
EOF
Если вы просто хотите создать пустой файл, вы можете использовать команду touch
: она создает файл, если он не существует, и просто обновляет дату его последнего изменения, если он существует.
touch foo.txt
Эквивалентно:
>>foo.txt
т.е. открыть foo.txt
для добавления, но записать в него 0 байт — это создает файл, но не изменяет его. В отличие от touch
, это не обновляет дату последнего изменения файла, если он уже существовал.
Чтобы создать пустой файл и удалить его содержимое, если файл уже существует, можно использовать
>foo.txt
решение2
touch ~/Desktop/something.txt
Это создаст пустой txt
файл.
Или
echo "Hello" > ~/Desktop/somethingelse.txt
Это создаст txt
файл с надписью «Hello».
nano ~/Desktop/anotherfile.txt
Он откроется ~/Desktop/anotherfile.txt
в nano
, или, если его нет, он будет создан и открыт в nano
.
То же самое можно сделать, просто заменив nano
на emacs
или и тогда вместо vim
будет использоваться emacs
илиvim
nano
решение3
Все, что нужно для создания пустого файла, это:
> my.txt
решение4
Вы можете использовать nano, vi или emacs для редактирования файлов на уровне терминала. Если вы используете систему x windows, вам нужно будет указать вашей системе не использовать программу в GUI; но в любом случае я буду использовать emacs в качестве примера.
В bash введите:
emacs filename.txt (press enter) - it will create an empty file with the filename specified "filename.txt". It will save "filename.txt" from which ever
directory type in "emacs filename.txt" command.
имейте в виду, что во всех системах UNIX VI поставляется с ним; в emacs его нет, вам нужно будет установить emacs. С другой стороны, Nano более популярен; на всякий случай, если он не отвечает, это означает, что когда вы вводите "nano filename.ext" и ничего не происходит, вам нужно установить его.
как только вы введете vi filename.txt, скорее всего, вы создадите новый файл. Вам следует поискать vi, emacs или nano how to use в Google, прежде чем начать. Как писать файл, редактировать его, использовать его инструменты для поиска и замены текста отличается в этих программах редактирования. Мне нравится emacs из всех вариантов, но вы найдете разработчиков, которые одержимы или предпочитают vi и nano