linux那些命令的源码 深入分析linux源代码

如何查看linux命令源代码用linux一段时间了,有时候想看看ls、cat、more等命令的源代码,在下载的内核源码中用cscope没能找到,在网上搜索了一下,将方 法总结如下:以搜索ls命令源码为例,先搜索命令所在包 , 命令如下:
lpj@lpj-linux:~$ which ls /bin/ls用命令搜索该软件所在包 , 代码如下:
lpj@lpj-linux:~$ dpkg -S /bin/ls coreutils: /bin/ls从上一步中可以知道ls命令的实现在包coreutils中,用apt安装(说安装有些歧义,主要是区分apt-get -d)该包的源代码然后解压 , 代码如下:
sudo apt-get source coreutils cd /usr/src/coreutils-XXX #XXX表示版本号 sudo tar zxvf coreutils-XXX.tar.gz 或者只下载源码,然后手动打补丁再解压,代码如下:
sudo apt-get -d source coreutils cd /usr/src tar zxvf coreutils-XXX.tar.gz gzip -d coreutils-XXX.diff.gz #这一步会生成coreutils-XXX.diff文件 patch -p0coreutils-XXX.diff cd coreutils-XXX tar zxvf coreutils-XXX.tar.gzOK , 这几步执行完后 , 就可以进入/usr/src/coreutils-XXX/coreutils-XXX/src中查看各命令对应的源代码了 。
关于更多Linux的学习,请查阅书籍《linux就该这么学》 。
请问linux下的系统命令是不是开源的? 比如sort,awk等等,如果是的话,在哪可以找到源代码?Linux是开源的,它自带的功能强大的命令也是开源的,也就是说,我们可以获得这些命令的源代码并研究它 。那究竟如何获得系统的命令的源代码呢?
命令的源代码是一个软件包为单元的 , 放在一个软件包的源代码中,若要下载一个命令的源代码,就要把这个命令所属的软件包的源代码都下载下来 。命令的源代码就在下载的源代码的相关目录内,通常是src目录,相应的主文件名为cmd.c , 其中cmd为具体的命令,如ls命令的主程序文件为ls.c 。可查阅“Linux命令大全”了解Linux命令 。
怎样查看linux中各种命令的源代码,比如toplinux下没有这些命令的源代码,需要到网上去down它们的rpm包,解压后可以找到它们的源码
那里可以找到linux 命令的源代码,例如命令 useradd用linux一段时间linux那些命令的源码了linux那些命令的源码 , 有时候想看看ls、cat、more等命令的源代码linux那些命令的源码,在下载的内核源码中用cscope没能找到,在网上搜索了一下,将方
法总结如下:以搜索ls命令源码为例,先搜索命令所在包 , 
如何获取Linux中某个命令的源代码用linux一段时间了 , 有时候想看看ls、cat、more等命令的源代码,在下载的内核源码中用cscope没能找到,在网上搜索了一下,将方 法总结如下:以搜索ls命令源码为例 , 先搜索命令所在包,命令如下: lpj@lpj-linux:~$ which ls /bin/ls用命令搜索该软件所在包,代码如下: lpj@lpj-linux:~$ dpkg -S /bin/ls coreutils: /bin/ls从上一步中可以知道ls命令的实现在包coreutils中,用apt安装(说安装有些歧义,主要是区分apt-get -d)该包的源代码然后解压,代码如下: sudo apt-get source coreutils cd /usr/src/coreutils-XXX #XXX表示版本号 sudo tar zxvf coreutils-XXX.tar.gz 或者只下载源码,然后手动打补丁再解压,代码如下: sudo apt-get -d source coreutils cd /usr/src tar zxvf coreutils-XXX.tar.gz gzip -d coreutils-XXX.diff.gz #这一步会生成coreutils-XXX.diff文件 patch -p0coreutils-XXX.diff cd coreutils-XXX tar zxvf coreutils-XXX.tar.gzOK,这几步执行完后,就可以进入/usr/src/coreutils-XXX/coreutils-XXX/src中查看各命令对应的源代码了
如何查看linux种一些命令的源代码linuxlinux那些命令的源码的命令linux那些命令的源码,实际上都是编译好的程序,一般放在/usr/bin目录下 。系统中并不会有源代码 。

推荐阅读