Enlaces directos a la fuente de algunos programas populares en coreutils
:
cat
(767 líneas)chmod
(570 líneas)cp
(2912 líneas)cut
(831 líneas)date
(570 líneas)df
(1718 líneas)du
(1112 líneas)echo
(272 líneas)head
(1070 líneas)hostname
(116 líneas)kill
(312 líneas)ln
(651 líneas)ls
(4954 líneas)md5sum
(878 líneas)mkdir
(306 líneas)mv
(512 líneas)nice
(220 líneas)pwd
(394 líneas)rm
(356 líneas)rmdir
(252 líneas)shred
(1325 líneas)tail
(2301 líneas)tee
(220 líneas)touch
(437 líneas)wc
(801 líneas)whoami
(91 líneas)
Lista completa aquí.
En realidad, http://suckless.org proporciona fuentes más sensatas, mire su sbase
repositorio:
git clone git://git.suckless.org/sbase
Son más claros, más inteligentes, más simples y más sencillos, por ejemplo, ls.c
tiene solo 369 LOC
Después de eso, será más fácil entender el código GNU más complicado.
Todos estos comandos básicos son parte del coreutils
paquete.
Puede encontrar toda la información que necesita aquí:
http://www.gnu.org/software/coreutils/
Si desea descargar la fuente más reciente, debe usar git:
git clone git://git.sv.gnu.org/coreutils
Para instalar git en su máquina Ubuntu, debe usar apt-get (git no está incluido en la instalación estándar de Ubuntu):
sudo apt-get install git
A decir verdad, aquí puede encontrar una fuente específica para el ls
comando:
http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/ls.c
Solo 4984 líneas de código para un comando 'bastante fácil' como ls
... ¿todavía estás interesado en leerlo? ¡Buena suerte! :D
ls
es parte de coreutils. Puedes obtenerlo con git:
git clone git://git.sv.gnu.org/coreutils
Encontrará coreutils en la lista con otros paquetes (desplácese hacia abajo) en esta página.