Como posso encontrar o código-fonte dos comandos do Linux? [duplicado]

0

Muitas vezes encontro comandos interessantes do Linux que me fazem pensar; o que esses comandos estão realmente fazendo?

Sim, eles podem ser "dependências de remoção de força", "instalar programas" e fazer muitas outras coisas, mas eu gostaria de saber como eles estão fazendo isso.

Examinar o código-fonte parece ser a coisa certa a fazer, mas de onde devo obtê-lo?

Eu suponho que eles serão escritos em C?

EDITAR: Não estou falando sobre pacotes instalados usando apt-get . Estou procurando o código fonte dos comandos linux / unix.

    
por TellMeWhy 04.01.2016 / 17:00

2 respostas

2

Eu acho que você está falando sobre os comandos GNU / Debian. O Linux não possui comandos. A maioria das distribuições Linux usa utilitários GNU (é por isso que devemos chamá-los de 'GNU / Linux') e seus próprios comandos (como o sistema APT do Debian). Por exemplo, no Ubuntu, comandos como cp , cd , mv fazem parte do GNU Core Utilities, que fazem parte do sistema core (base) do Ubuntu. Eles são representados pelo pacote coreutils . Existe um parâmetro apt-get que você pode usar para obter o código-fonte dos pacotes: apt-get source . Para obter o código-fonte do coreutils, use sudo apt-get source coreutils . É importante saber que os comandos são nada mais do que binários colocados nos caminhos da variável de ambiente PATH. Esses binários geralmente são escritos em C. Observe também que os comandos de alguns outros sistemas do tipo Unix, mesmo que tenham os mesmos nomes, não são do projeto GNU e, às vezes, possuem uma sintaxe diferente. Este é o caso do BSD (FreeBSD, OpenBSD, NetBSD) e OSX (baseado no FreeBSD).

    
por Eduardo Cola 04.01.2016 / 17:20
2

Sintaxe: apt-get source command-name

Exemplo: apt-get source netstat

Se não encontrar:

Adicione um URI de origem a sources.lst

cat /etc/apt/sources.list

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

apt-get update

    
por Olimjon 04.01.2016 / 17:06