How do I read the source code of shell commands?

command, gnu-coreutils, linux

Solution

All these basic commands are part of the `coreutils` package.

You can find all information you need here:

http://www.gnu.org/software/coreutils/

If you want to download the latest source, you should use git:

`git clone git://git.sv.gnu.org/coreutils`

To install git on your Ubuntu machine, you should use apt-get (git is not included in the standard Ubuntu installation):

`sudo apt-get install git`

Truth to be told, here you can find specific source for the `ls` command:

http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/ls.c

Only 4984 code lines for a command 'easy enough' as `ls`... are you still interested in reading it?? Good luck! :D

Problem

I would like to read the actual source code which the linux commands are written with. I've gained some experience using them and now I think it's time to interact with my machine at a deeper level. I've found some commands here http://directory.fsf.org/wiki/GNU. Unfortunately I wasn't able to find basic commands such as 'ls' which seems to me easy enough to begin. How exactly do I read the source code of the simple shell commands like 'ls'? I'm running on Ubuntu 12.04

Original source