В чем разница между командой chroot и системным вызовом chroot()

Может ли кто-нибудь помочь мне понять, в чем реальная разница между командой chroot и системным вызовом chroot().

1 ответ

Решение

Системный вызов - это средство взаимодействия программы с ядром.

Команда Unix Tool - это либо небольшая отдельная программа (в данном случае), либо встроенная оболочка (в некоторых других случаях). Это позволяет пользователю или сценарию выполнять операции без необходимости предоставлять программный код низкого уровня для этого.

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

Системные вызовы описаны в разделе 2 руководства, в то время как команды могут быть в другом месте, например, на странице 8. Так что, если вы введете

man 2 chroot вы получите документацию для системного вызова

и если вы введете

man 8 chroot (или во многих случаях просто не удается указать страницу) вы получите документацию для команды.

если вы печатаете

which chroot вы найдете расположение исполняемого файла, который реализует команду, при условии, что он находится в вашем пути поиска, как обычно.

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