Что происходит, когда вы набираете ls -l в SHELL

Чтобы понять, что происходит в SHELL, когда вы вводите команду ls -l, важно понять, как работает оболочка.

Ядро. Ядро — это компьютерная программа, являющаяся ядром операционной системы компьютера и имеющая полный контроль над всем в системе. В большинстве систем это одна из первых программ, загружаемых при запуске.

SHELL: shell – это интерпретатор команд в таких операционных системах, как Unix или GNU/Linux, это программа, которая запускает другие программы. Он предоставляет компьютеру интерфейс с системой Unix/GNU Linux, чтобы пользователь мог запускать различные команды или утилиты/инструменты с некоторыми входными данными.

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

1. Система использует getline для чтения всей строки пользовательского ввода.

2. Токенизирует ввод, хранящийся в массиве строк.

4. Проверяет псевдонимы.

5. Проверяет встроенные модули

6. Получив команду, система ищет ее в PATH. Если он не найден, печатается сообщение об ошибке.

5. Если программа найдена в пути, дочерний процесс вызывает функцию exec() для выполнения команды с ее аргументами.

6. Родительский процесс вызывает системный вызов wait и ожидает завершения выполнения дочернего процесса.

7. Когда команда «ls» выполнена, оболочка снова печатает приглашение, используя системный вызов «write()».

8. Затем он ожидает ввода новой команды.

После завершения этого процесса на терминале мы получаем стандартный вывод, подобный этому: ls -l

Авторы: Джонатан Мазо — Хосе Диас