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

Я хочу добавить этот текст:

<Directory "/var/www/*"> Order allow,deny Allow from all AllowOverride All </Directory>

к файлу /etc/apache2/apache2.conf

У меня есть доступ через SSH, но я не знаю, как использовать VIM. Я хотел бы сделать это с помощью команды.

6
задан 13 September 2011 в 03:54

45 ответов

Использовать:

nano /etc/apache2/apache2.conf

(вам может потребоваться использовать sudo)

Это даст вам текстовый редактор командной строки, который работает так же, как и обычные текстовые редакторы. Используйте клавиши со стрелками для навигации. Backspace, enter и т. Д. Работают как обычно.

Чтобы сохранить, нажмите Ctrl + O и используйте Ctrl + X для выхода. Для справки нажмите Ctrl + G изнутри nano или используйте man nano.

Он должен выглядеть примерно так:

6
ответ дан 25 May 2018 в 23:04

использование:

nano /etc/apache2/apache2.conf

(возможно, вам придется использовать sudo)

это даст вам командной строке редактор, который работает так же, как обычные текстовые редакторы. Используйте клавиши со стрелками для перемещения. Пробел, ввод и т. д. работать в обычном режиме.

, чтобы сохранить, нажмите сочетание клавиш Ctrl+o и использовать сочетание клавиш Ctrl+x для выхода. Для справки нажмите сочетание клавиш Ctrl+G и изнутри нано, или использовать man nano.

это должно выглядеть примерно так:

6
ответ дан 25 July 2018 в 22:30

Использовать:

nano /etc/apache2/apache2.conf

(вам может потребоваться использовать sudo)

Это даст вам текстовый редактор командной строки, который работает так же, как и обычные текстовые редакторы. Используйте клавиши со стрелками для навигации. Backspace, enter и т. Д. Работают как обычно.

Чтобы сохранить, нажмите Ctrl + O и используйте Ctrl + X для выхода. Для справки нажмите Ctrl + G изнутри nano или используйте man nano.

Он должен выглядеть примерно так:

6
ответ дан 26 July 2018 в 22:06

Использовать:

nano /etc/apache2/apache2.conf

(вам может потребоваться использовать sudo)

Это даст вам текстовый редактор командной строки, который работает так же, как и обычные текстовые редакторы. Используйте клавиши со стрелками для навигации. Backspace, enter и т. Д. Работают как обычно.

Чтобы сохранить, нажмите Ctrl + O и используйте Ctrl + X для выхода. Для справки нажмите Ctrl + G изнутри nano или используйте man nano.

Он должен выглядеть примерно так:

6
ответ дан 2 August 2018 в 03:57

Использовать:

nano /etc/apache2/apache2.conf

(вам может потребоваться использовать sudo)

Это даст вам текстовый редактор командной строки, который работает так же, как и обычные текстовые редакторы. Используйте клавиши со стрелками для навигации. Backspace, enter и т. Д. Работают как обычно.

Чтобы сохранить, нажмите Ctrl + O и используйте Ctrl + X для выхода. Для справки нажмите Ctrl + G изнутри nano или используйте man nano.

Он должен выглядеть примерно так:

6
ответ дан 4 August 2018 в 20:00

Использовать:

nano /etc/apache2/apache2.conf

(вам может потребоваться использовать sudo)

Это даст вам текстовый редактор командной строки, который работает так же, как и обычные текстовые редакторы. Используйте клавиши со стрелками для навигации. Backspace, enter и т. Д. Работают как обычно.

Чтобы сохранить, нажмите Ctrl + O и используйте Ctrl + X для выхода. Для справки нажмите Ctrl + G изнутри nano или используйте man nano.

Он должен выглядеть примерно так:

6
ответ дан 6 August 2018 в 04:02

Использовать:

nano /etc/apache2/apache2.conf

(вам может потребоваться использовать sudo)

Это даст вам текстовый редактор командной строки, который работает так же, как и обычные текстовые редакторы. Используйте клавиши со стрелками для навигации. Backspace, enter и т. Д. Работают как обычно.

Чтобы сохранить, нажмите Ctrl + O и используйте Ctrl + X для выхода. Для справки нажмите Ctrl + G изнутри nano или используйте man nano.

Он должен выглядеть примерно так:

6
ответ дан 7 August 2018 в 22:00

Использовать:

nano /etc/apache2/apache2.conf

(вам может потребоваться использовать sudo)

Это даст вам текстовый редактор командной строки, который работает так же, как и обычные текстовые редакторы. Используйте клавиши со стрелками для навигации. Backspace, enter и т. Д. Работают как обычно.

Чтобы сохранить, нажмите Ctrl + O и используйте Ctrl + X для выхода. Для справки нажмите Ctrl + G изнутри nano или используйте man nano.

Он должен выглядеть примерно так:

6
ответ дан 10 August 2018 в 10:15

Этот синтаксис называется «ЗДЕСЬ документы»:

sudo tee -a /tmp/file <<EOF
<Directory "/var/www/*">
    Order allow,deny
    Allow from all
    AllowOverride All
</Directory>    
EOF

Это решение лучше, чем использование ctrl-d, поскольку оно может использоваться внутри скриптов оболочки.

13
ответ дан 25 May 2018 в 23:04
  • 1
    Я согласен с «для использования внутри сценариев оболочки, вы захотите использовать синтаксис документа HERE». – belacqua 9 February 2011 в 23:29
  • 2
    btw, иногда ctrl-d не работает. Мне когда-то пришлось вставить что-то в файл с консоли xen, на которой запущена оболочка initrd с неполной поддержкой терминала; ctrl-c, ctrl-d и т. д. не работало, поэтому мне пришлось прибегать к документу HERO также интерактивно. – ithkuil 10 February 2011 в 13:30
  • 3
    То, что cat совершенно бесполезно, достаточно tee. [F3]. – geirha 3 March 2011 в 11:47
  • 4
    да, cat часто злоупотребляют – ithkuil 3 March 2011 в 20:59

Вот простой способ сделать это, используя cat.

% cat - >> testf
one
two
   three
four

Вы завершаете ввод с помощью CTRL-D.

Для этого требуется интерактивный ввод из cat (т. е. все, что вы вводите), и добавляет его в существующий файл testf.

testf (с двумя исходными строками intact) теперь будет выглядеть так:

original line 1
original line 2

one
two
   three
four

Как показали другие ответы, для редактирования файлов, на которые у вас нет разрешения на запись, вам понадобится специальный синтаксис. Мне проще просто переключиться на пользователя root для этого, т. Е. [F7]. Но еще один простой способ - использовать tee с установленным флагом присоединения и вызвать с помощью sudo:

sudo tee -a >> config.conf

2
ответ дан 25 May 2018 в 23:04

Редактор nano более дружелюбен (sudo apt-get install nano, если он недоступен).

echo "<Directory \"/var/www/*\">"  > out_file
echo "    Order allow,deny"       >> out_file
echo "    Allow from all"         >> out_file
echo "    AllowOverride All"      >> out_file
echo "</Directory>"               >> out_file

cat out_file | sudo tee -a /etc/apache2/apache2.conf
0
ответ дан 25 May 2018 в 23:04
  • 1
    Сначала вы должны сделать резервную копию, когда слепо редактируете, как это, - очень легко что-то ввести в заблуждение и в конечном итоге скрыть весь файл. – dv3500ea 9 February 2011 в 22:05

Поскольку вы попросили Vim, вот команда для запуска:

sudo vim -e +'$put = \"<Directory \\"/var/www/*\\">\n\tOrder allow,deny\n\tAllow from all\n\tAllowOverride All\n</Directory>\n\"' -cwq /etc/apache2/apache2.conf

Если у вас нет vim, это также эквивалентно либо vi -e, либо ex .

Альтернативный подход к очистке:

$ sudo ex +"r /dev/stdin" -cwq output.txt <<-EOF
<Directory "/var/www/*">
    Order allow,deny
    Allow from all
    AllowOverride All
</Directory>
EOF

Просто запустите первую строку (без $), вставьте многострочный текст, затем введите EOF, чтобы закончить.

0
ответ дан 25 May 2018 в 23:04

Редактор nano более дружелюбен (sudo apt-get install nano, если он недоступен).

echo "<Directory \"/var/www/*\">"  > out_file
echo "    Order allow,deny"       >> out_file
echo "    Allow from all"         >> out_file
echo "    AllowOverride All"      >> out_file
echo "</Directory>"               >> out_file

cat out_file | sudo tee -a /etc/apache2/apache2.conf
0
ответ дан 25 May 2018 в 23:04

Редактор nano более дружелюбен (sudo apt-get install nano, если он недоступен).

echo "<Directory \"/var/www/*\">"  > out_file
echo "    Order allow,deny"       >> out_file
echo "    Allow from all"         >> out_file
echo "    AllowOverride All"      >> out_file
echo "</Directory>"               >> out_file

cat out_file | sudo tee -a /etc/apache2/apache2.conf
0
ответ дан 25 May 2018 в 23:04

Редактор nano более дружелюбен (sudo apt-get install nano, если он недоступен).

echo "<Directory \"/var/www/*\">"  > out_file
echo "    Order allow,deny"       >> out_file
echo "    Allow from all"         >> out_file
echo "    AllowOverride All"      >> out_file
echo "</Directory>"               >> out_file

cat out_file | sudo tee -a /etc/apache2/apache2.conf
0
ответ дан 25 May 2018 в 23:04

Редактор nano более дружелюбен (sudo apt-get install nano, если он недоступен).

echo "<Directory \"/var/www/*\">"  > out_file
echo "    Order allow,deny"       >> out_file
echo "    Allow from all"         >> out_file
echo "    AllowOverride All"      >> out_file
echo "</Directory>"               >> out_file

cat out_file | sudo tee -a /etc/apache2/apache2.conf
0
ответ дан 25 May 2018 в 23:04

Редактор nano более дружелюбен (sudo apt-get install nano, если он недоступен).

echo "<Directory \"/var/www/*\">"  > out_file
echo "    Order allow,deny"       >> out_file
echo "    Allow from all"         >> out_file
echo "    AllowOverride All"      >> out_file
echo "</Directory>"               >> out_file

cat out_file | sudo tee -a /etc/apache2/apache2.conf
0
ответ дан 25 May 2018 в 23:04

Вот простой способ сделать это, используя cat.

% cat - >> testf one two three four

Вы завершаете ввод с помощью CTRL-D.

Для этого требуется интерактивный ввод из cat (т. е. все, что вы вводите), и добавляет его в существующий файл testf.

testf (с двумя исходными строками intact) теперь будет выглядеть так:

original line 1 original line 2 one two three four

Как показали другие ответы, для редактирования файлов, на которые у вас нет разрешения на запись, вам понадобится специальный синтаксис. Мне проще просто переключиться на пользователя root для этого, т. Е. [F7]. Но еще один простой способ - использовать tee с установленным флагом присоединения и вызвать с помощью sudo:

sudo tee -a >> config.conf

2
ответ дан 25 July 2018 в 22:30

Этот синтаксис называется «ЗДЕСЬ документы»:

sudo tee -a /tmp/file <<EOF <Directory "/var/www/*"> Order allow,deny Allow from all AllowOverride All </Directory> EOF

Это решение лучше, чем использование ctrl-d, поскольку оно может использоваться внутри скриптов оболочки.

13
ответ дан 25 July 2018 в 22:30
  • 1
    Я согласен с «для использования внутри сценариев оболочки, вы захотите использовать синтаксис документа HERE». – belacqua 9 February 2011 в 23:29
  • 2
    кстати, иногда клавиши Ctrl-D не работают. Однажды я должен был вставить что-то в файл из консоли Xen под управлением файловой оболочки с неполной поддержки терминала; сочетание клавиш Ctrl-C и Ctrl-D и т. д. не работал, поэтому мне пришлось прибегнуть к документу героя также в интерактивном режиме. – ithkuil 10 February 2011 в 13:30
  • 3
    То, что cat совершенно бесполезно, достаточно tee. [F3]. – geirha 3 March 2011 в 11:47
  • 4
    да, cat часто злоупотребляют – ithkuil 3 March 2011 в 20:59

Поскольку вы попросили Vim, вот команда для запуска:

sudo vim -e +'$put = \"<Directory \\"/var/www/*\\">\n\tOrder allow,deny\n\tAllow from all\n\tAllowOverride All\n</Directory>\n\"' -cwq /etc/apache2/apache2.conf

Если у вас нет vim, это также эквивалентно либо vi -e, либо ex .

Альтернативный подход к очистке:

$ sudo ex +"r /dev/stdin" -cwq output.txt <<-EOF <Directory "/var/www/*"> Order allow,deny Allow from all AllowOverride All </Directory> EOF

Просто запустите первую строку (без $), вставьте многострочный текст, затем введите EOF, чтобы закончить.

0
ответ дан 25 July 2018 в 22:30

и nano редактор более дружелюбный (sudo apt-get install nano если не имеется).

echo "<Directory \"/var/www/*\">" > out_file echo " Order allow,deny" >> out_file echo " Allow from all" >> out_file echo " AllowOverride All" >> out_file echo "</Directory>" >> out_file cat out_file | sudo tee -a /etc/apache2/apache2.conf
0
ответ дан 25 July 2018 в 22:30
  • 1
    Вы должны сначала сделайте резервную копию, когда слепо редактирования, такие как этот - это очень легко, чтобы что-то опечатку и в конечном итоге удалив весь файл. – dv3500ea 9 February 2011 в 22:05

Вот простой способ сделать это, используя cat.

% cat - >> testf one two three four

Вы завершаете ввод с помощью CTRL-D.

Для этого требуется интерактивный ввод из cat (т. е. все, что вы вводите), и добавляет его в существующий файл testf.

testf (с двумя исходными строками intact) теперь будет выглядеть так:

original line 1 original line 2 one two three four

Как показали другие ответы, для редактирования файлов, на которые у вас нет разрешения на запись, вам понадобится специальный синтаксис. Мне проще просто переключиться на пользователя root для этого, т. Е. [F7]. Но еще один простой способ - использовать tee с установленным флагом присоединения и вызвать с помощью sudo:

sudo tee -a >> config.conf

2
ответ дан 26 July 2018 в 22:06

этот синтаксис называется "вот документы":

sudo tee -a /tmp/file <<EOF <Directory "/var/www/*"> Order allow,deny Allow from all AllowOverride All </Directory> EOF

это решение лучше, чем с помощью Ctrl-D, поскольку он может быть использован внутри Shell-скрипты.

13
ответ дан 26 July 2018 в 22:06
  • 1
    Я согласен с «для использования внутри сценариев оболочки, вы захотите использовать синтаксис документа HERE». – belacqua 9 February 2011 в 23:29
  • 2
    btw, иногда ctrl-d не работает. Мне когда-то пришлось вставить что-то в файл с консоли xen, на которой запущена оболочка initrd с неполной поддержкой терминала; ctrl-c, ctrl-d и т. д. не работало, поэтому мне пришлось прибегать к документу HERO также интерактивно. – ithkuil 10 February 2011 в 13:30
  • 3
    То, что cat совершенно бесполезно, достаточно tee. [F3]. – geirha 3 March 2011 в 11:47
  • 4
    да, cat часто злоупотребляют – ithkuil 3 March 2011 в 20:59

Поскольку вы попросили Vim, вот команда для запуска:

sudo vim -e +'$put = \"<Directory \\"/var/www/*\\">\n\tOrder allow,deny\n\tAllow from all\n\tAllowOverride All\n</Directory>\n\"' -cwq /etc/apache2/apache2.conf

Если у вас нет vim, это также эквивалентно либо vi -e, либо ex .

Альтернативный подход к очистке:

$ sudo ex +"r /dev/stdin" -cwq output.txt <<-EOF <Directory "/var/www/*"> Order allow,deny Allow from all AllowOverride All </Directory> EOF

Просто запустите первую строку (без $), вставьте многострочный текст, затем введите EOF, чтобы закончить.

0
ответ дан 26 July 2018 в 22:06

и nano редактор более дружелюбный (sudo apt-get install nano если не имеется).

echo "<Directory \"/var/www/*\">" > out_file echo " Order allow,deny" >> out_file echo " Allow from all" >> out_file echo " AllowOverride All" >> out_file echo "</Directory>" >> out_file cat out_file | sudo tee -a /etc/apache2/apache2.conf
0
ответ дан 26 July 2018 в 22:06
  • 1
    Вы должны сначала сделайте резервную копию, когда слепо редактирования, такие как этот - это очень легко, чтобы что-то опечатку и в конечном итоге удалив весь файл. – dv3500ea 9 February 2011 в 22:05

Вот простой способ сделать это, используя cat.

% cat - >> testf one two three four

Вы завершаете ввод с помощью CTRL-D.

Для этого требуется интерактивный ввод из cat (т. е. все, что вы вводите), и добавляет его в существующий файл testf.

testf (с двумя исходными строками intact) теперь будет выглядеть так:

original line 1 original line 2 one two three four

Как показали другие ответы, для редактирования файлов, на которые у вас нет разрешения на запись, вам понадобится специальный синтаксис. Мне проще просто переключиться на пользователя root для этого, т. Е. [F7]. Но еще один простой способ - использовать tee с установленным флагом присоединения и вызвать с помощью sudo:

sudo tee -a >> config.conf

2
ответ дан 2 August 2018 в 03:57

Этот синтаксис называется «ЗДЕСЬ документы»:

sudo tee -a /tmp/file <<EOF <Directory "/var/www/*"> Order allow,deny Allow from all AllowOverride All </Directory> EOF

Это решение лучше, чем использование ctrl-d, поскольку оно может использоваться внутри скриптов оболочки.

13
ответ дан 2 August 2018 в 03:57
  • 1
    Я согласен с «для использования внутри сценариев оболочки, вы захотите использовать синтаксис документа HERE». – belacqua 9 February 2011 в 23:29
  • 2
    кстати, иногда клавиши Ctrl-D не работают. Однажды я должен был вставить что-то в файл из консоли Xen под управлением файловой оболочки с неполной поддержки терминала; сочетание клавиш Ctrl-C и Ctrl-D и т. д. не работал, поэтому мне пришлось прибегнуть к документу героя также в интерактивном режиме. – ithkuil 10 February 2011 в 13:30
  • 3
    То, что cat совершенно бесполезно, достаточно tee. [F3]. – geirha 3 March 2011 в 11:47
  • 4
    да, cat часто злоупотребляют – ithkuil 3 March 2011 в 20:59

Поскольку вы попросили Vim, вот команда для запуска:

sudo vim -e +'$put = \"<Directory \\"/var/www/*\\">\n\tOrder allow,deny\n\tAllow from all\n\tAllowOverride All\n</Directory>\n\"' -cwq /etc/apache2/apache2.conf

Если у вас нет vim, это также эквивалентно либо vi -e, либо ex .

Альтернативный подход к очистке:

$ sudo ex +"r /dev/stdin" -cwq output.txt <<-EOF <Directory "/var/www/*"> Order allow,deny Allow from all AllowOverride All </Directory> EOF

Просто запустите первую строку (без $), вставьте многострочный текст, затем введите EOF, чтобы закончить.

0
ответ дан 2 August 2018 в 03:57

Редактор nano более дружелюбен (sudo apt-get install nano, если он недоступен).

echo "<Directory \"/var/www/*\">" > out_file echo " Order allow,deny" >> out_file echo " Allow from all" >> out_file echo " AllowOverride All" >> out_file echo "</Directory>" >> out_file cat out_file | sudo tee -a /etc/apache2/apache2.conf
0
ответ дан 2 August 2018 в 03:57
  • 1
    Сначала вы должны сделать резервную копию, когда слепо редактируете, как это, - очень легко что-то ввести в заблуждение и в конечном итоге скрыть весь файл. – dv3500ea 9 February 2011 в 22:05

Вот простой способ сделать это, используя cat.

% cat - >> testf one two three four

Вы завершаете ввод с помощью CTRL-D.

Для этого требуется интерактивный ввод из cat (т. е. все, что вы вводите), и добавляет его в существующий файл testf.

testf (с двумя исходными строками intact) теперь будет выглядеть так:

original line 1 original line 2 one two three four

Как показали другие ответы, для редактирования файлов, на которые у вас нет разрешения на запись, вам понадобится специальный синтаксис. Мне проще просто переключиться на пользователя root для этого, т. Е. [F7]. Но еще один простой способ - использовать tee с установленным флагом присоединения и вызвать с помощью sudo:

sudo tee -a >> config.conf

2
ответ дан 4 August 2018 в 20:00

Другие вопросы по тегам:

Похожие вопросы: