Как я могу найти исходный код для команд Linux?

Я часто сталкиваюсь с интересными командами Linux, которые заставляют меня задуматься; что на самом деле делают эти команды?

Да, это могут быть "принудительное удаление зависимостей", "установка программ" и многое другое, но я хотел бы знать, как они это делают.

Поиск исходного кода кажется правильным решением, но где я должен его получить?

Я полагаю, они будут написаны на C?

РЕДАКТИРОВАТЬ: я не говорю о пакетах, установленных с помощью apt-get, Я ищу исходный код команд Linux/ Unix.

2 ответа

Решение

Я думаю, что вы говорите о командах GNU/Debian. Linux не имеет команд. В большинстве дистрибутивов Linux используются утилиты GNU (поэтому мы должны называть их "GNU/Linux") и свои собственные команды (такие как система APT Debian). Например, в Ubuntu такие команды, как cp, cd, mv являются частью основных утилит GNU, которые являются частью базовой (базовой) системы Ubuntu. Они представлены пакетом coreutils, Существует параметр apt-get, который вы можете использовать для получения исходного кода пакетов: apt-get source, Чтобы получить исходный код coreutils, используйте sudo apt-get source coreutils, Важно знать, что команды - это не более чем двоичные файлы, размещенные в путях переменной среды PATH. Эти двоичные файлы обычно пишутся на C. Также обратите внимание, что команды из некоторых других Unix-подобных систем, даже если они имеют одинаковые имена, не относятся к проекту GNU и иногда имеют другой синтаксис. Это относится к BSD (FreeBSD, OpenBSD, NetBSD) и OSX (основанным на FreeBSD).

Синтаксис: apt-get source command-name

Пример: apt-get source netstat

Если он не может найти:

Добавьте исходный URI в sources.lst

cat /etc/apt/sources.list

deb-src http://ftp.de.debian.org/debian lenny main

apt-get update

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