Я отвечаю, потому что ответы здесь неадекватны.
Чтобы устранить проблему, выполните следующие действия:
Загрузите аварийный диск (Ubuntu или другой linux Live CD) и откройте оболочку текстового режима. Введите sudo gdisk /dev/sda (измените /dev/sda на все, что подходит для доступа к вашему жесткому диску, если это необходимо). Программа, скорее всего, пожалуется, что она обнаружила данные MBR и GPT, и спросит, что использовать. Неважно, что вы говорите, чтобы использовать. В приглашении Command введите x, чтобы войти в меню экспертов. В приглашении Expert command введите z в zap (уничтожить) данные GPT. Введите y в ответ на подтверждение об уничтожении GPT. Введите n в ответ на запрос об отключении MBR. Внимание: если вы ответите y здесь, вы уничтожите разделы (разделы) Windows!
The & lt ;,> и >> используются для перенаправления ввода / вывода для команд - это функция, предоставляемая оболочкой (например, bash). Поэтому, если вы наберете команду, подобную sudo cat > /var/www/info.php, то оболочка, которая получает это как вход, пытается открыть файл /var/www/info.php и предоставляет этот файл в качестве стандартного вывода для команды sudo. Команда sudo даже не знает, собирается ли ее вывод на консоль или перенаправлен на файл, потому что это вызвано оболочкой, которая его вызывает.
Если оболочка вы набрали вашу команду в ваш хост-интерфейс или другой shell, работающий в терминале с вашим идентификатором пользователя, тогда он имеет те же привилегии, что и ваш идентификатор пользователя, а не root.
Итак, в вашем случае, тогда как команда cat выполняется как root, копирование его вывода на /var/www/info.php выполняется с помощью оболочки, выполняемой как обычный пользователь, которая, как и ожидалось, терпит неудачу.
Обходной путь для таких ситуаций заключается в использовании команды tee :
sudo tee /var/www/info.php
Это будет иметь предполагаемый эффект поместить весь текст, введенный на консоль до ^ D, в файл, указанный как параметр.
Возможно, что недопустимый побочный эффект что tee также будет выводить вывод на стандартный вывод, поэтому после ввода каждой строки и нажатия клавиши ввода tee выведет ее копию. Чтобы избежать этого, вы можете использовать следующий вариант.
sudo tee /var/www/info.php > /dev/null
Подробности о tee можно получить через info tee на терминале.
The & lt ;,> и >> используются для перенаправления ввода / вывода для команд - это функция, предоставляемая оболочкой (например, bash). Поэтому, если вы наберете команду, подобную sudo cat > /var/www/info.php, то оболочка, которая получает это как вход, пытается открыть файл /var/www/info.php и предоставляет этот файл в качестве стандартного вывода для команды sudo. Команда sudo даже не знает, собирается ли ее вывод на консоль или перенаправлен на файл, потому что это вызвано оболочкой, которая его вызывает.
Если оболочка вы набрали вашу команду в ваш хост-интерфейс или другой shell, работающий в терминале с вашим идентификатором пользователя, тогда он имеет те же привилегии, что и ваш идентификатор пользователя, а не root.
Итак, в вашем случае, тогда как команда cat выполняется как root, копирование его вывода на /var/www/info.php выполняется с помощью оболочки, выполняемой как обычный пользователь, которая, как и ожидалось, терпит неудачу.
Обходной путь для таких ситуаций заключается в использовании команды tee :
sudo tee /var/www/info.php
Это будет иметь предполагаемый эффект поместить весь текст, введенный на консоль до ^ D, в файл, указанный как параметр.
Возможно, что недопустимый побочный эффект что tee также будет выводить вывод на стандартный вывод, поэтому после ввода каждой строки и нажатия клавиши ввода tee выведет ее копию. Чтобы избежать этого, вы можете использовать следующий вариант.
sudo tee /var/www/info.php > /dev/null
Подробности о tee можно получить через info tee на терминале.
The & lt ;,> и >> используются для перенаправления ввода / вывода для команд - это функция, предоставляемая оболочкой (например, bash). Поэтому, если вы наберете команду, подобную sudo cat > /var/www/info.php, то оболочка, которая получает это как вход, пытается открыть файл /var/www/info.php и предоставляет этот файл в качестве стандартного вывода для команды sudo. Команда sudo даже не знает, собирается ли ее вывод на консоль или перенаправлен на файл, потому что это вызвано оболочкой, которая его вызывает.
Если оболочка вы набрали вашу команду в ваш хост-интерфейс или другой shell, работающий в терминале с вашим идентификатором пользователя, тогда он имеет те же привилегии, что и ваш идентификатор пользователя, а не root.
Итак, в вашем случае, тогда как команда cat выполняется как root, копирование его вывода на /var/www/info.php выполняется с помощью оболочки, выполняемой как обычный пользователь, которая, как и ожидалось, терпит неудачу.
Обходной путь для таких ситуаций заключается в использовании команды tee :
sudo tee /var/www/info.php
Это будет иметь предполагаемый эффект поместить весь текст, введенный на консоль до ^ D, в файл, указанный как параметр.
Возможно, что недопустимый побочный эффект что tee также будет выводить вывод на стандартный вывод, поэтому после ввода каждой строки и нажатия клавиши ввода tee выведет ее копию. Чтобы избежать этого, вы можете использовать следующий вариант.
sudo tee /var/www/info.php > /dev/null
Подробности о tee можно получить через info tee на терминале.
The & lt ;,> и >> используются для перенаправления ввода / вывода для команд - это функция, предоставляемая оболочкой (например, bash). Поэтому, если вы наберете команду, например sudo cat & gt; /var/www/info.php
, то оболочка, которая получает это как вход, пытается открыть файл /var/www/info.php
и предоставляет этот файл в качестве стандартного вывода для sudo
. Команда sudo
даже не знает, собирается ли ее вывод на консоль или перенаправляется в файл, потому что это вызвано оболочкой, которая его вызывает.
Если shell, на который вы набрали свою команду, - это ваша оболочка для входа или другая оболочка, работающая в терминале с вашим идентификатором пользователя, тогда она имеет те же привилегии, что и ваш идентификатор пользователя, а не идентификатор root.
Итак, в вашем случае, тогда как команда cat выполняется как root, копирование ее вывода на /var/www/info.php
выполняется с помощью оболочки, выполняемой как обычный пользователь, которая, как и ожидалось, терпит неудачу.
Обходной путь для таких ситуаций заключается в использовании команды tee
:
sudo tee /var/www/info.php
Это приведет к предполагаемому эффекту ввода всего текста, введенного на консоль до ^ D, в файл, указанный в качестве параметра.
Возможно, недопустимый побочный эффект заключается в том, что tee
также будет выводить вывод на стандартный вывод, поэтому после ввода каждой строки и ввода enter t ee
выведет его копию. Чтобы избежать этого, вы можете использовать следующий вариант.
sudo tee /var/www/info.php & gt; / dev / null
Подробная информация о tee
может быть получена через info tee
на терминале.
The & lt ;,> и >> используются для перенаправления ввода / вывода для команд - это функция, предоставляемая оболочкой (например, bash). Поэтому, если вы наберете команду, например sudo cat & gt; /var/www/info.php
, то оболочка, которая получает это как вход, пытается открыть файл /var/www/info.php
и предоставляет этот файл в качестве стандартного вывода для sudo
. Команда sudo
даже не знает, собирается ли ее вывод на консоль или перенаправляется в файл, потому что это вызвано оболочкой, которая его вызывает.
Если shell, на который вы набрали свою команду, - это ваша оболочка для входа или другая оболочка, работающая в терминале с вашим идентификатором пользователя, тогда она имеет те же привилегии, что и ваш идентификатор пользователя, а не идентификатор root.
Итак, в вашем случае, тогда как команда cat выполняется как root, копирование ее вывода на /var/www/info.php
выполняется с помощью оболочки, выполняемой как обычный пользователь, которая, как и ожидалось, терпит неудачу.
Обходной путь для таких ситуаций заключается в использовании команды tee
:
sudo tee /var/www/info.php
Это приведет к предполагаемому эффекту ввода всего текста, введенного на консоль до ^ D, в файл, указанный в качестве параметра.
Возможно, недопустимый побочный эффект заключается в том, что tee
также будет выводить вывод на стандартный вывод, поэтому после ввода каждой строки и ввода enter t ee
выведет его копию. Чтобы избежать этого, вы можете использовать следующий вариант.
sudo tee /var/www/info.php & gt; / dev / null
Подробная информация о tee
может быть получена через info tee
на терминале.
The & lt ;,> и >> используются для перенаправления ввода / вывода для команд - это функция, предоставляемая оболочкой (например, bash). Поэтому, если вы наберете команду, например sudo cat & gt; /var/www/info.php
, то оболочка, которая получает это как вход, пытается открыть файл /var/www/info.php
и предоставляет этот файл в качестве стандартного вывода для sudo
. Команда sudo
даже не знает, собирается ли ее вывод на консоль или перенаправляется в файл, потому что это вызвано оболочкой, которая его вызывает.
Если shell, на который вы набрали свою команду, - это ваша оболочка для входа или другая оболочка, работающая в терминале с вашим идентификатором пользователя, тогда она имеет те же привилегии, что и ваш идентификатор пользователя, а не идентификатор root.
Итак, в вашем случае, тогда как команда cat выполняется как root, копирование ее вывода на /var/www/info.php
выполняется с помощью оболочки, выполняемой как обычный пользователь, которая, как и ожидалось, терпит неудачу.
Обходной путь для таких ситуаций заключается в использовании команды tee
:
sudo tee /var/www/info.php
Это приведет к предполагаемому эффекту ввода всего текста, введенного на консоль до ^ D, в файл, указанный в качестве параметра.
Возможно, недопустимый побочный эффект заключается в том, что tee
также будет выводить вывод на стандартный вывод, поэтому после ввода каждой строки и ввода enter t ee
выведет его копию. Чтобы избежать этого, вы можете использовать следующий вариант.
sudo tee /var/www/info.php & gt; / dev / null
Подробная информация о tee
может быть получена через info tee
на терминале.
The & lt ;,> и >> используются для перенаправления ввода / вывода для команд - это функция, предоставляемая оболочкой (например, bash). Поэтому, если вы наберете команду, например sudo cat & gt; /var/www/info.php
, то оболочка, которая получает это как вход, пытается открыть файл /var/www/info.php
и предоставляет этот файл в качестве стандартного вывода для sudo
. Команда sudo
даже не знает, собирается ли ее вывод на консоль или перенаправляется в файл, потому что это вызвано оболочкой, которая его вызывает.
Если shell, на который вы набрали свою команду, - это ваша оболочка для входа или другая оболочка, работающая в терминале с вашим идентификатором пользователя, тогда она имеет те же привилегии, что и ваш идентификатор пользователя, а не идентификатор root.
Итак, в вашем случае, тогда как команда cat выполняется как root, копирование ее вывода на /var/www/info.php
выполняется с помощью оболочки, выполняемой как обычный пользователь, которая, как и ожидалось, терпит неудачу.
Обходной путь для таких ситуаций заключается в использовании команды tee
:
sudo tee /var/www/info.php
Это приведет к предполагаемому эффекту ввода всего текста, введенного на консоль до ^ D, в файл, указанный в качестве параметра.
Возможно, недопустимый побочный эффект заключается в том, что tee
также будет выводить вывод на стандартный вывод, поэтому после ввода каждой строки и ввода enter t ee
выведет его копию. Чтобы избежать этого, вы можете использовать следующий вариант.
sudo tee /var/www/info.php & gt; / dev / null
Подробная информация о tee
может быть получена через info tee
на терминале.
The & lt ;,> и >> используются для перенаправления ввода / вывода для команд - это функция, предоставляемая оболочкой (например, bash). Поэтому, если вы наберете команду, например sudo cat & gt; /var/www/info.php
, то оболочка, которая получает это как вход, пытается открыть файл /var/www/info.php
и предоставляет этот файл в качестве стандартного вывода для sudo
. Команда sudo
даже не знает, собирается ли ее вывод на консоль или перенаправляется в файл, потому что это вызвано оболочкой, которая его вызывает.
Если shell, на который вы набрали свою команду, - это ваша оболочка для входа или другая оболочка, работающая в терминале с вашим идентификатором пользователя, тогда она имеет те же привилегии, что и ваш идентификатор пользователя, а не идентификатор root.
Итак, в вашем случае, тогда как команда cat выполняется как root, копирование ее вывода на /var/www/info.php
выполняется с помощью оболочки, выполняемой как обычный пользователь, которая, как и ожидалось, терпит неудачу.
Обходной путь для таких ситуаций заключается в использовании команды tee
:
sudo tee /var/www/info.php
Это приведет к предполагаемому эффекту ввода всего текста, введенного на консоль до ^ D, в файл, указанный в качестве параметра.
Возможно, недопустимый побочный эффект заключается в том, что tee
также будет выводить вывод на стандартный вывод, поэтому после ввода каждой строки и ввода enter t ee
выведет его копию. Чтобы избежать этого, вы можете использовать следующий вариант.
sudo tee /var/www/info.php & gt; / dev / null
Подробная информация о tee
может быть получена через info tee
на терминале.
The & lt ;,> и >> используются для перенаправления ввода / вывода для команд - это функция, предоставляемая оболочкой (например, bash). Поэтому, если вы наберете команду, например sudo cat & gt; /var/www/info.php
, то оболочка, которая получает это как вход, пытается открыть файл /var/www/info.php
и предоставляет этот файл в качестве стандартного вывода для sudo
. Команда sudo
даже не знает, собирается ли ее вывод на консоль или перенаправляется в файл, потому что это вызвано оболочкой, которая его вызывает.
Если shell, на который вы набрали свою команду, - это ваша оболочка для входа или другая оболочка, работающая в терминале с вашим идентификатором пользователя, тогда она имеет те же привилегии, что и ваш идентификатор пользователя, а не идентификатор root.
Итак, в вашем случае, тогда как команда cat выполняется как root, копирование ее вывода на /var/www/info.php
выполняется с помощью оболочки, выполняемой как обычный пользователь, которая, как и ожидалось, терпит неудачу.
Обходной путь для таких ситуаций заключается в использовании команды tee
:
sudo tee /var/www/info.php
Это приведет к предполагаемому эффекту ввода всего текста, введенного на консоль до ^ D, в файл, указанный в качестве параметра.
Возможно, недопустимый побочный эффект заключается в том, что tee
также будет выводить вывод на стандартный вывод, поэтому после ввода каждой строки и ввода enter t ee
выведет его копию. Чтобы избежать этого, вы можете использовать следующий вариант.
sudo tee /var/www/info.php & gt; / dev / null
Подробная информация о tee
может быть получена через info tee
на терминале.
sudo не работает для команд, которым необходимы разрешения для записи файла, например:
sudo echo "vm.swappines = 100" >> /etc/sysctl.conf
Он объясняется на man-странице sudo.
Проблема в том, что часть «> foo.txt» интерпретируется и выполняется вашим интерпретатором команд (оболочкой) задолго до запуска команды sudo. Команда sudo не знает, что вы хотите перенаправить свой вывод в файл.
У вашего интерпретатора команд нет полномочий root (но команда sudo будет позже), поэтому он не может перенаправить вывод в foo. текст.
Другим способом решения этой проблемы является запуск подоболочки с sudo и выполнение этой команды в этой подоболочке:
$ sudo bash -c "cat > /var/www/info.php"
<?php
phpinfo( ) ;
? >
^D
здесь команда, которая «имеет sudo», является bash, и все, что выполнено в ней имеет корневые разрешения.
$ 2c, * -pike [! d2]
Другим способом решения этой проблемы является запуск подоболочки с sudo и выполнение этой команды в этой подоболочке:
$ sudo bash -c "cat > /var/www/info.php"
<?php
phpinfo( ) ;
? >
^D
здесь команда, которая «имеет sudo», является bash, и все, что выполнено в ней имеет корневые разрешения.
$ 2c, * -pike [! d2]
sudo не работает для команд, которым необходимы разрешения для записи файла, например:
sudo echo "vm.swappines = 100" >> /etc/sysctl.conf
Он объясняется на man-странице sudo.
Проблема в том, что часть «> foo.txt» интерпретируется и выполняется вашим интерпретатором команд (оболочкой) задолго до запуска команды sudo. Команда sudo не знает, что вы хотите перенаправить свой вывод в файл.
У вашего интерпретатора команд нет полномочий root (но команда sudo будет позже), поэтому он не может перенаправить вывод в foo. текст.
Другим способом решения этой проблемы является запуск подоболочки с sudo и выполнение этой команды в этой подоболочке:
$ sudo bash -c "cat > /var/www/info.php"
<?php
phpinfo( ) ;
? >
^D
здесь команда, которая «имеет sudo», является bash, и все, что выполнено в ней имеет корневые разрешения.
$ 2c, * -pike [! d2]
sudo не работает для команд, которым необходимы разрешения для записи файла, например:
sudo echo "vm.swappines = 100" >> /etc/sysctl.conf
Он объясняется на man-странице sudo.
Проблема в том, что часть «> foo.txt» интерпретируется и выполняется вашим интерпретатором команд (оболочкой) задолго до запуска команды sudo. Команда sudo не знает, что вы хотите перенаправить свой вывод в файл.
У вашего интерпретатора команд нет полномочий root (но команда sudo будет позже), поэтому он не может перенаправить вывод в foo. текст.
sudo не работает для команд, которым необходимы разрешения для записи файла, например:
sudo echo "vm.swappines = 100" & gt; & gt; & gt; & gt; /etc/sysctl.conf
Это объясняется в man-странице sudo.
Проблема заключается в том, что часть «> foo.txt» интерпретируется и выполняется вашим интерпретатором команд (shell) long до запуска команды sudo. Команда sudo не знает, что вы хотите перенаправить свой вывод в файл.
У вашего интерпретатора команд нет полномочий root (но команда sudo будет позже), поэтому он не может перенаправить вывод в foo. текст.
Еще один способ решить эту задачу - запустить подоболочку с sudo и выполнить эту команду в этой подоболочке:
$ sudo bash -c "cat & gt; /var/www/info.php "& lt;? php phpinfo (); ? & GT; ^ D
здесь команда, которая имеет «sudo», является bash, и все, что выполнено в ней, имеет права root.
$ 2c, * -pike [! D3 ]
sudo не работает для команд, которым необходимы разрешения для записи файла, например:
sudo echo "vm.swappines = 100" & gt; & gt; & gt; & gt; /etc/sysctl.conf
Это объясняется в man-странице sudo.
Проблема заключается в том, что часть «> foo.txt» интерпретируется и выполняется вашим интерпретатором команд (shell) long до запуска команды sudo. Команда sudo не знает, что вы хотите перенаправить свой вывод в файл.
У вашего интерпретатора команд нет полномочий root (но команда sudo будет позже), поэтому он не может перенаправить вывод в foo. текст.
Еще один способ решить эту задачу - запустить подоболочку с sudo и выполнить эту команду в этой подоболочке:
$ sudo bash -c "cat & gt; /var/www/info.php "& lt;? php phpinfo (); ? & GT; ^ D
здесь команда, которая имеет «sudo», является bash, и все, что выполнено в ней, имеет права root.
$ 2c, * -pike [! D3 ]
sudo не работает для команд, которым необходимы разрешения для записи файла, например:
sudo echo "vm.swappines = 100" & gt; & gt; & gt; & gt; /etc/sysctl.conf
Это объясняется в man-странице sudo.
Проблема заключается в том, что часть «> foo.txt» интерпретируется и выполняется вашим интерпретатором команд (shell) long до запуска команды sudo. Команда sudo не знает, что вы хотите перенаправить свой вывод в файл.
У вашего интерпретатора команд нет полномочий root (но команда sudo будет позже), поэтому он не может перенаправить вывод в foo. текст.
Еще один способ решить эту задачу - запустить подоболочку с sudo и выполнить эту команду в этой подоболочке:
$ sudo bash -c "cat & gt; /var/www/info.php "& lt;? php phpinfo (); ? & GT; ^ D
здесь команда, которая имеет «sudo», является bash, и все, что выполнено в ней, имеет права root.
$ 2c, * -pike [! D3 ]
sudo не работает для команд, которым необходимы разрешения для записи файла, например:
sudo echo "vm.swappines = 100" & gt; & gt; & gt; & gt; /etc/sysctl.conf
Это объясняется в man-странице sudo.
Проблема заключается в том, что часть «> foo.txt» интерпретируется и выполняется вашим интерпретатором команд (shell) long до запуска команды sudo. Команда sudo не знает, что вы хотите перенаправить свой вывод в файл.
У вашего интерпретатора команд нет полномочий root (но команда sudo будет позже), поэтому он не может перенаправить вывод в foo. текст.
Еще один способ решить эту задачу - запустить подоболочку с sudo и выполнить эту команду в этой подоболочке:
$ sudo bash -c "cat & gt; /var/www/info.php "& lt;? php phpinfo (); ? & GT; ^ D
здесь команда, которая имеет «sudo», является bash, и все, что выполнено в ней, имеет права root.
$ 2c, * -pike [! D3 ]