Я хочу добавить этот текст:
<Directory "/var/www/*">
Order allow,deny
Allow from all
AllowOverride All
</Directory>
к файлу /etc/apache2/apache2.conf
У меня есть доступ через SSH, но я не знаю, как использовать VIM. Я хотел бы сделать это с помощью команды.
Этот синтаксис называется «ЗДЕСЬ документы»:
sudo tee -a /tmp/file <<EOF
<Directory "/var/www/*">
Order allow,deny
Allow from all
AllowOverride All
</Directory>
EOF
Это решение лучше, чем использование ctrl-d, поскольку оно может использоваться внутри скриптов оболочки.
поскольку вы просили Вим, вот команда для запуска:
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 или [F5].
альтернативные чище подход:
$ sudo ex +"r /dev/stdin" -cwq output.txt <<-EOF
<Directory "/var/www/*">
Order allow,deny
Allow from all
AllowOverride All
</Directory>
EOF
просто выполнить первую строчку (без $), вставьте мульти текстовой строки, затем введите EOF до конца.
Редактор 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
Вот простой способ сделать это, используя 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
Этот синтаксис называется «ЗДЕСЬ документы»:
sudo tee -a /tmp/file <<EOF
<Directory "/var/www/*">
Order allow,deny
Allow from all
AllowOverride All
</Directory>
EOF
Это решение лучше, чем использование ctrl-d, поскольку оно может использоваться внутри скриптов оболочки.
Поскольку вы попросили 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, чтобы закончить.
Редактор 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
Вот простой способ сделать это, используя 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
Этот синтаксис называется «ЗДЕСЬ документы»:
sudo tee -a /tmp/file <<EOF
<Directory "/var/www/*">
Order allow,deny
Allow from all
AllowOverride All
</Directory>
EOF
Это решение лучше, чем использование ctrl-d, поскольку оно может использоваться внутри скриптов оболочки.
Поскольку вы попросили 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, чтобы закончить.
Редактор 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
вот простой способ сделать это, используя cat .
% cat - >> testf
one
two
three
four
Вам завершить ваш вклад с помощью сочетания клавиш Ctrl-Д' .
это требует интерактивного ввода от cat (т. е., все, что вы типа В), и добавляет его к существующему файлу testf .
testf (с неповрежденными две оригинальные линии) будет выглядеть так:
original line 1
original line 2
one
two
three
four
, как и другие ответы показали, вам понадобится специальный синтаксис при редактировании файлов, которые Вы не имеете разрешения на запись. Мне легче просто переключиться на пользователя root для этого, т. е. sudo su . А вот еще один простой способ заключается в использовании tee с набором добавлять флаг, и называется с sudo:
sudo tee -a >> config.conf
Этот синтаксис называется «ЗДЕСЬ документы»:
sudo tee -a /tmp/file <<EOF
<Directory "/var/www/*">
Order allow,deny
Allow from all
AllowOverride All
</Directory>
EOF
Это решение лучше, чем использование ctrl-d, поскольку оно может использоваться внутри скриптов оболочки.
Поскольку вы попросили 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, чтобы закончить.
Редактор 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