Вы можете попробовать Unetbootin
Binaries:
64bit
Репозиторий PPA не работает Я работаю (по крайней мере, для меня), поэтому я не публикую его.
Сегодня я пробовал это (для Kubuntu 15.10), но безуспешно. Пожалуйста, опубликуйте свои результаты позже.
Есть два основных потока вывода в Linux (и других ОС), стандартный вывод (стандартный вывод) и стандартная ошибка (stderr). Сообщения об ошибках, например те, которые вы показываете, печатаются со стандартной ошибкой. Классический оператор перенаправления (command > file) перенаправляет только стандартный вывод, поэтому стандартная ошибка все еще отображается на терминале. Чтобы перенаправить stderr, у вас есть несколько вариантов:
Перенаправить stdout в один файл и stderr в другой файл:command > out 2>error
Перенаправить stderr в stdout (&1), а затем перенаправить stdout в файл : command >out 2>&1
Перенаправить оба файла: command &> out
Для получения дополнительной информации о различных операторах управления и перенаправления см. здесь.
Есть два основных потока вывода в Linux (и других ОС), стандартный вывод (стандартный вывод) и стандартная ошибка (stderr). Сообщения об ошибках, например те, которые вы показываете, печатаются со стандартной ошибкой. Классический оператор перенаправления (command > file) перенаправляет только стандартный вывод, поэтому стандартная ошибка все еще отображается на терминале. Чтобы перенаправить stderr, у вас есть несколько вариантов:
Перенаправить stdout в один файл и stderr в другой файл:command > out 2>error
Перенаправить stderr в stdout (&1), а затем перенаправить stdout в файл : command >out 2>&1
Перенаправить оба файла: command &> out
Для получения дополнительной информации о различных операторах управления и перенаправления см. здесь.
Прежде всего следует отметить, что существует несколько способов в зависимости от вашей цели и оболочки, поэтому это требует небольшого понимания нескольких аспектов. Наиболее типично, через 2> в Bourne-подобных оболочках, таких как dash (который символически связан с /bin/sh) и bash; сначала это стандартная и POSIX-совместимая оболочка, а другая - то, что большинство пользователей используют для интерактивного сеанса. Они отличаются синтаксисом и функциями, но, к счастью, перенаправление потока ошибок работает одинаково (кроме &> нестандартного). В случае csh и его производных перенаправление stderr не работает там.
Вернемся к части 2>. Следует отметить два ключевых момента: > означает оператор перенаправления, в котором мы открываем файл, а 2 integer обозначает дескриптор файла stderr; на самом деле это точно, как стандарт POSIX для языка оболочки определяет перенаправление в Bourne-подобных оболочках :
[n]redir-op word
Для простого перенаправления > подразумевается целое число 1 для stdout, т. е. echo Hello World > /dev/null является тем же самым, что и echo Hello World 1>/dev/null. Обратите внимание, что оператор integer или redirection не может быть процитирован, иначе оболочка не распознает их как таковой и вместо этого рассматривает как литеральную строку текста. Что касается интервала, важно, чтобы целое число было рядом с оператором перенаправления, но файл может быть либо рядом с оператором перенаправления, либо нет, то есть command 2>/dev/null и command 2> /dev/null будут работать нормально.
Несколько упрощенным синтаксисом для типичной команды в shell будет
command [arg1] [arg2] 2> /dev/null
. Трюк здесь в том, что перенаправление может появляться где угодно. Это и 2> command [arg1], и command 2> [arg1] действительны. Обратите внимание, что для оболочки bash существует &> способ перенаправления потоков stdout и stderr в одно и то же время, но опять же - это специфичный для bash, и если вы стремитесь к переносимости скриптов, это может не сработать. См. Также Ubuntu Wiki и dash .
Примечание. Оператор перенаправления > обрезает файл и перезаписывает его, если файл существует. [F25] можно использовать для добавления файла stderr в файл.
Если вы заметили, > предназначен для одной команды. Для скриптов мы можем перенаправить поток stderr всего скрипта извне, как в myscript.sh 2> /dev/null, или мы можем использовать Ubuntu Wiki . Встроенный модуль exec имеет возможность перепрограммировать поток для всего сеанса оболочки, так сказать, интерактивно или через скрипт. Что-то вроде
#!/bin/sh
exec 2> ./my_log_file.txt
stat /etc/non_existing_file
В этом примере файл журнала должен показывать stat: cannot stat '/etc/non_existing_file': No such file or directory.
Еще один способ - через функции. Как заметил в своем ответе kopciuszek, мы можем написать объявление функции с уже прикрепленным перенаправлением, то есть
some_function(){
command1
command2
} 2> my_log_file.txt
Прежде всего следует отметить, что существует несколько способов в зависимости от вашей цели и оболочки, поэтому это требует небольшого понимания нескольких аспектов. Наиболее типично, через 2> в Bourne-подобных оболочках, таких как dash (который символически связан с /bin/sh) и bash; сначала это стандартная и POSIX-совместимая оболочка, а другая - то, что большинство пользователей используют для интерактивного сеанса. Они отличаются синтаксисом и функциями, но, к счастью, перенаправление потока ошибок работает одинаково (кроме &> нестандартного). В случае csh и его производных перенаправление stderr не работает там.
Вернемся к части 2>. Следует отметить два ключевых момента: > означает оператор перенаправления, в котором мы открываем файл, а 2 integer обозначает дескриптор файла stderr; на самом деле это точно, как стандарт POSIX для языка оболочки определяет перенаправление в Bourne-подобных оболочках :
[n]redir-op word
Для простого перенаправления > подразумевается целое число 1 для stdout, т. е. echo Hello World > /dev/null является тем же самым, что и echo Hello World 1>/dev/null. Обратите внимание, что оператор integer или redirection не может быть процитирован, иначе оболочка не распознает их как таковой и вместо этого рассматривает как литеральную строку текста. Что касается интервала, важно, чтобы целое число было рядом с оператором перенаправления, но файл может быть либо рядом с оператором перенаправления, либо нет, то есть command 2>/dev/null и command 2> /dev/null будут работать нормально.
Несколько упрощенным синтаксисом для типичной команды в shell будет
command [arg1] [arg2] 2> /dev/null
. Трюк здесь в том, что перенаправление может появляться где угодно. Это и 2> command [arg1], и command 2> [arg1] действительны. Обратите внимание, что для оболочки bash существует &> способ перенаправления потоков stdout и stderr в одно и то же время, но опять же - это специфичный для bash, и если вы стремитесь к переносимости скриптов, это может не сработать. См. Также Ubuntu Wiki и dash .
Примечание. Оператор перенаправления > обрезает файл и перезаписывает его, если файл существует. [F25] можно использовать для добавления файла stderr в файл.
Если вы заметили, > предназначен для одной команды. Для скриптов мы можем перенаправить поток stderr всего скрипта извне, как в myscript.sh 2> /dev/null, или мы можем использовать Ubuntu Wiki . Встроенный модуль exec имеет возможность перепрограммировать поток для всего сеанса оболочки, так сказать, интерактивно или через скрипт. Что-то вроде
#!/bin/sh
exec 2> ./my_log_file.txt
stat /etc/non_existing_file
В этом примере файл журнала должен показывать stat: cannot stat '/etc/non_existing_file': No such file or directory.
Еще один способ - через функции. Как заметил в своем ответе kopciuszek, мы можем написать объявление функции с уже прикрепленным перенаправлением, то есть
some_function(){
command1
command2
} 2> my_log_file.txt