压缩包解压后里面就是源码啊,windows下用好压可以直接解压缩,linux下根据压缩包具体格式用tar -jxvf或者tar -zxvf命令解压。解压后里面的文件都是源码,什么语言写的文件就是什么样后缀的文件格式(这个不知道就别想着改代码了)。
另外纠正一下,linux是开源的是对的,但是怎么就得出linux上的应用也是开源的这样的结论?linux开源指的是linux操作系统内核开源,在此之上提供的各种服务和应用不一定开源(当然有很多开源的,至于为什么你可以了解下OTSS off the shelve system和GPL)
B. 如何查看各种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 -p0 < coreutils-XXX.diff cd coreutils-XXX tar zxvf coreutils-XXX.tar.gzOK,这几步执行完后,就可以进入/usr/src/coreutils-XXX/coreutils-XXX/src中查看各命令对应的源代码了。关于更多Linux的学习,请查阅书籍《linux就该这么学》。
C. 我安装了Linux系统,怎样才可以找到他的源代码
/usr/src/kernel下面
D. 如何找到linux命令的源代码
linux下不是所有的程序都有源代码,能再具体描述你的问题吗? 脚本类的软件有源代码,编译类的,类似c语言的一般经过编译连接,发布的不带源代码。
E. 如何查看Linux命令源代码
以find命令为例:
第一步,确定命令属于哪个rpm包:
#rpm -qf /usr/bin/find
fintils-4.1-34
第二步,查找fintils的源码包fintils-4.1-34.src.rpm,这个一般在发行版的网站上可以找到(比如FC6的源码在这里可以找到:http://ftp.kddilabs.jp/Linux/packages/fedora/core/6/source/SRPMS/)。
也可以到rpmfind.net上查找,输入rpm包的名字就可以找到相关的源码包,有的也可以得到软件对应的网站。
第三步,安装源码包:
rpm -ivh fintils-4.1-34.src.rpm
安装好之后可以到/usr/src/RedHat/SOURCE下找到相关的源码包
或者直接编译源码包:
rpmbuild -bb fintils-4.1-34.src.rpm
F. 如何查看linux系统源码
一般在Linux系统中的/usr/src/linux*.*.*(*.*.*代表的是内核版本,如2.4.23)目录下就是内核源代码(如果没有类似目录,是因为还没安装内核代码)。另外还可从互连网上免费下载。注意,不要总到http://www.kernel.org/去下载,最好使用它的镜像站点下载。请在http://www.kernel.org/mirrors/里找一个合适的下载点,再到pub/linux/kernel/v2.6/目录下去下载2.4.23内核。
代码目录结构
在阅读源码之前,还应知道Linux内核源码的整体分布情况。现代的操作系统一般由进程管理、内存管理、文件系统、驱动程序和网络等组成。Linux内核源码的各个目录大致与此相对应,其组成如下(假设相对于Linux-2.4.23目录):
1.arch目录包括了所有和体系结构相关的核心代码。它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是Intel CPU及与之相兼容体系结构的子目录。PC机一般都基于此目录。
2.include目录包括编译核心所需要的大部分头文件,例如与平台无关的头文件在include/linux子目录下。
3.init目录包含核心的初始化代码(不是系统的引导代码),有main.c和Version.c两个文件。这是研究核心如何工作的好起点。
4.mm目录包含了所有的内存管理代码。与具体硬件体系结构相关的内存管理代码位于arch/*/mm目录下。
5.drivers目录中是系统中所有的设备驱动程序。它又进一步划分成几类设备驱动,每一种有对应的子目录,如声卡的驱动对应于drivers/sound。
6.ipc目录包含了核心进程间的通信代码。
7.moles目录存放了已建好的、可动态加载的模块。
8.fs目录存放Linux支持的文件系统代码。不同的文件系统有不同的子目录对应,如ext3文件系统对应的就是ext3子目录。
Kernel内核管理的核心代码放在这里。同时与处理器结构相关代码都放在arch/*/kernel目录下。
9.net目录里是核心的网络部分代码,其每个子目录对应于网络的一个方面。
10.lib目录包含了核心的库代码,不过与处理器结构相关的库代码被放在arch/*/lib/目录下。
11.scripts目录包含用于配置核心的脚本文件。
12.documentation目录下是一些文档,是对每个目录作用的具体说明。
一般在每个目录下都有一个.depend文件和一个Makefile文件。这两个文件都是编译时使用的辅助文件。仔细阅读这两个文件对弄清各个文件之间的联系和依托关系很有帮助。另外有的目录下还有Readme文件,它是对该目录下文件的一些说明,同样有利于对内核源码的理解。
在阅读方法或顺序上,有纵向与横向之分。所谓纵向就是顺着程序的执行顺序逐步进行;所谓横向,就是按模块进行。它们经常结合在一起进行。对于Linux启动的代码可顺着Linux的启动顺序一步步来阅读;对于像内存管理部分,可以单独拿出来进行阅读分析。实际上这是一个反复的过程,不可能读一遍就理解。
G. 如何查看Linux源代码
一般在Linux系统中的/usr/src/linux*.*.*(*.*.*代表的是内核版本,如2.4.23)目录下就是内核源代码(如果没有类似目录,是因为还没安装内核代码)。另外还可从互连网上免费下载。注意,不要总到http://www.kernel.org/去下载,最好使用它的镜像站点下载。请在http://www.kernel.org/mirrors/里找一个合适的下载点,再到pub/linux/kernel/v2.6/目录下去下载2.4.23内核。
H. 如何查看linux命令源代码
以搜索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表示版本号cd . sudo tar zxvf coreutils-XXX.tar.gz 或者只下载源码,然后手动打补丁再解压,代码如下:
I. 如何查看linux命令源代码和函数源代码
1. 以搜索ls命令源码为例,先搜索命令所在包,命令如下:
lpj@lpj-linux:~$ which ls
/bin/ls
2. 用命令搜索该软件所在包,代码如下:
lpj@lpj-linux:~$ dpkg -S /bin/ls
coreutils: /bin/ls
3. 从上一步中可以知道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 -p0 < coreutils-XXX.diff
cd coreutils-XXX
tar zxvf coreutils-XXX.tar.gz
OK,这几步执行完后,就可以进入/usr/src/coreutils-XXX/coreutils-XXX/src中查看各命令对应的源代码了
J. linux系统的源代码哪里可以下载
如果要下载指定版本的内核源代码,就去官网下载,地址:
http://www.kernel.org/
如果要查看本机(某个发行版的内核源代码),可以在目录
/usr/src/kernels下面找到。
如果要查看某些安装文件的源代码,可以使用命令查看该文件
的安装源,以查看cat源码为例,命令:rpm -qif `which cat`
之后会有相关信息打印出来,访问其源码路径,下载即可。
附本人博客“获取Linux命令源代码的方法”链接如下:
http://blog.csdn.net/shallowgrave/article/details/7854548