Comandos de shell diferentes virão de lugares diferentes, no entanto, o procedimento a seguir provavelmente funcionará para muitos deles:
(Nota: Você não precisa ser root para nada disso.)
- Descobrir onde o arquivo de comando reside, por exemplo para encontrar
which, tentetype whichno seu bash shell, ou mesmowhich which(mais geralmente,which ..., onde...representa o comando que você deseja encontrar). - Em seguida, você desejará ver qual pacote normalmente fornece isso.
dpkg -S /path/namepode ajudá-lo nisso ou combinar as etapas 1 e 2:dpkg -S $(which ...), por exemplo, %código%. Nesse caso, recebo:dpkg -S $(which which) - Finalmente, você quer pegar a fonte real. (Nota: Você pode precisar executar
debianutils: /usr/bin/whichantes de fazer isso, especialmente se você receber um erro comoapt-get update, que parece, pelo menos no meu caso, ser uma mensagem de erro de redemoinho.) ser feito comE: You must put some 'source' URIs in your sources.list, por exemploapt-get source ...(pode-se combinar etapas e fazerapt-get source debianutils).
A partir daí, você deve ter alguns novos arquivos e diretórios em qualquer diretório em que você iniciou (então inicie em um diretório apropriado), contendo a fonte apropriada.
Outro exemplo, na forma de uma linha:
cmd_to_get=ls; apt-get source $(dpkg -S $(which $cmd_to_get) | cut -d: -f1)
que pega a fonte para apt-get source $(dpkg -S $(which which) | cut -d: -f1) (junto com um monte de outras coisas que estão em ls junto com ele).
De lá, você pode brincar mais.
Se você gostaria de criar coisas, veja este no askubuntu .
Hacker feliz!