Причины для Busybox на существующих системах

В вашей первой команде($ grep 'root' /etc/passw)вы передаете аргумент/ы для grep, и он интерпретирует его как имя файла и ищет его. Это(grep)терпит неудачу, поэтому сообщает вам, что произошло. Именно grep интерпретирует ваш ввод и действует на него.

Во второй команде(grep 'root' < /etc/passw)вы делаете оболочку (здесь:bash)для передачи /etc/passwна стандартный ввод grep. Он(bash)не может его найти и сообщает вам об этом. Здесь именно bash интерпретирует ваш ввод и действует на него.

Вторая команда концептуально эквивалентна $ bash-cat /etc/passw | grep 'root', где bash-catбудет работать как cat, которая выводит заданный файл на стандартный вывод. Затем он будет перенаправлен на grep.

$ bash-cat /etc/passw | grep 'root'

bash-cat: /etc/passw: No such file or directory

--

Если вы читали о трубах, вы поймете.(Трубы :Краткое введение)

1
03.09.2014, 09:47
1 ответ

Объяснение от Криса Бута, ответственного за упаковку busyboxв Debian, о том, как это там используется:

It's used principally in two places:

  • It's bundled in the Debian Installer ramdisk and used as the shell, bootstrap for D-I and its applets provide most functionality in the installer environment.

  • The default initramfs assembly system, initramfs-tools, incorporates busybox into the initramfs and it's used until the root filesystem (and /usr if separate) is mounted and can be pivot_rooted into. We also use parts of klibc in the initramfs, and I'm not yet entirely clear what tools in the initramfs are klibc tools, busybox applets or executables copied from the running system.

1
27.01.2020, 23:20

Теги

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