(initramfs) busybox

Из man bash:

REDIRECTION Перед выполнением команды его ввод и вывод могут быть перенаправлены с использованием специальной нотации, интерпретируемой оболочкой. Перенаправление позволяет дублировать, открывать, закрывать файлы команд, ссылаться на разные файлы и изменять файлы, с которых команда считывает и записывает.

Первое предложение предполагает, что вывод выполняется для перехода куда-то, кроме stdin с перенаправлением прямо перед выполнением команды. Таким образом, чтобы перенаправляться в файл, файл должен быть сначала создан самой оболочкой.

Чтобы избежать наличия файла, я предлагаю сначала перенаправить вывод в именованный канал, а затем в файл. Обратите внимание на использование функции &, чтобы вернуть управление терминалу пользователю

DIR:/xieerqi
skolodya@ubuntu:$ mkfifo /tmp/namedPipe.fifo                                                                         

DIR:/xieerqi
skolodya@ubuntu:$ ls > /tmp/namedPipe.fifo &
[1] 14167

DIR:/xieerqi
skolodya@ubuntu:$ cat /tmp/namedPipe.fifo > ls.out

Но почему?

Подумайте об этом - где будет выход? Программа имеет такие функции, как printf, sprintf, puts, которые по умолчанию переходят к stdout, но может ли их выход быть отправлен в файл, если файл не существует в первую очередь? Это как вода. Можете ли вы получить стакан воды, не ставя стекла под краном?

1
задан 29 September 2017 в 05:50

2 ответа

Я не понимаю этого утверждения ... «Установку, которую я сделал через USB, чтобы удалить раздел всех данных». Если вы удалили раздел boot / Ubuntu, как вы ожидаете его правильной загрузки? Вам просто нужно переустановить Ubuntu.

В случае, если я неправильно понял ...

Поскольку вы, вероятно, не можете попасть в меню GRUB и приглашение ROOT, мы пойдем об этом длинный путь. На шагах может потребоваться некоторая настройка, в зависимости от того, насколько хорошо взаимодействуют.

Загрузите DVD-диск Ubuntu Live / USB. Откройте окно Files и нажмите один раз на имя жесткого диска на левой панели, чтобы установить жесткий диск. Перейдите в папку /etc на жестком диске. Щелкните правой кнопкой мыши пробел в папке /etc и выберите Open in terminal в контекстном меню. Затем введите sudo nano fstab. Найдите строку, содержащую «UUID = 48c4ab40-53b0-4274-82f6-0286459d5df8» ... нам нужно будет изменить этот UUID. Откройте другое окно terminal и введите sudo blkid. Это даст нам список UUID для различных дисковых разделов. Найдите нужный UUID для загрузочного раздела. Замените UUID в другом терминальном окне на правильный UUID. Сохраните файл. Перезагрузите компьютер.
0
ответ дан 18 July 2018 в 06:04

Я не понимаю этого утверждения ... «Установку, которую я сделал через USB, чтобы удалить раздел всех данных». Если вы удалили раздел boot / Ubuntu, как вы ожидаете его правильной загрузки? Вам просто нужно переустановить Ubuntu.

В случае, если я неправильно понял ...

Поскольку вы, вероятно, не можете попасть в меню GRUB и приглашение ROOT, мы пойдем об этом длинный путь. На шагах может потребоваться некоторая настройка, в зависимости от того, насколько хорошо взаимодействуют.

Загрузите DVD-диск Ubuntu Live / USB. Откройте окно Files и нажмите один раз на имя жесткого диска на левой панели, чтобы установить жесткий диск. Перейдите в папку /etc на жестком диске. Щелкните правой кнопкой мыши пробел в папке /etc и выберите Open in terminal в контекстном меню. Затем введите sudo nano fstab. Найдите строку, содержащую «UUID = 48c4ab40-53b0-4274-82f6-0286459d5df8» ... нам нужно будет изменить этот UUID. Откройте другое окно terminal и введите sudo blkid. Это даст нам список UUID для различных дисковых разделов. Найдите нужный UUID для загрузочного раздела. Замените UUID в другом терминальном окне на правильный UUID. Сохраните файл. Перезагрузите компьютер.
0
ответ дан 24 July 2018 в 18:30

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

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