Я просто пытаюсь просмотреть основные команды терминала. Сказав это, как я могу создать текстовый файл, используя только терминал?
Я просто пытаюсь просмотреть основные команды терминала. Сказав это, как я могу создать текстовый файл, используя только терминал?
Ответы:
Вы не можете использовать терминал для создания файла. Вы можете использовать приложение, запущенное в терминале. Просто вызовите любой редактор без графического интерфейса ( 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в начале строки, чтобы указать конец ввода.
$ cat> 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
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
cat
с <<
, и упомянуть >>
.
<<
и >>
обсуждаются в разделе Что такое операторы управления и перенаправления оболочки?
Все, что нужно для создания пустого файла:
> my.txt
:> my.txt
необходим. :
пустая команда
Вы можете использовать программу редактирования nano, vi или emacs для создания файла на уровне терминала. Если вы используете систему x windows, вы должны указать своей системе не использовать программу в графическом интерфейсе; но в любом случае я буду использовать emacs в качестве примера.
Из баш; тип:
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 filename.ext» и ничего не происходит, вам нужно его установить.
как только вы запустите vi filename.txt, скорее всего, вы в конечном итоге создадите новый файл. Прежде чем начать, вы должны посмотреть, как использовать vi, emacs или nano в Google. Как написать файл, отредактировать его, используя его инструменты для поиска и замены текста, отличается в этих программах редактирования. Мне нравится emacs из всех вариантов, но вы найдете разработчиков, которые одержимы или предпочитают vi и nano
Что-то полезное, когда вы застряли и должны создать многострочный текстовый файл в командной строке, примерно так:
# cat <<'EOF' > textfile
> This "should"
> prove useful, 'maybe'.
> EOF
# cat textfile
This "should"
prove useful, 'maybe'.
Вы можете заменить cat
другую команду, например, grep
и шаблон , и сделать так, чтобы grep выполнял свою работу с вашим вводом, и это выводило бы в файл таким же образом.