如何查看linux系统源码

如何查看linux系统源码,第1张

例如:想在Linux系统下查看cat命令工具的源码,方法如下:

1、查看工具的路径

$ whereis cat

cat: /bin/cat /usr/share/man/man1/cat.1.gz

2、查看工具所属的包

$ dpkg -S /bin/cat

coreutils: /bin/cat

coreutils就是cat的源码包名

3、下载工具源码包

$ sudo apt-get source coreutils

[sudo] password for lizh: 

正在读取软件包列表... 完成

正在分析软件包的依赖关系树       

正在读取状态信息... 完成       

需要下载 10.8MB 的源代码包。

获取:1 http://mirrors.sohu.com/ubuntu/ maverick/main coreutils 8.5-1ubuntu3 (dsc) [1,891B]

获取:2 http://mirrors.sohu.com/ubuntu/ maverick/main coreutils 8.5-1ubuntu3 (tar) [10.7MB]

获取:3 http://mirrors.sohu.com/ubuntu/ maverick/main coreutils 8.5-1ubuntu3 (diff) [21.5kB]

下载 10.8MB,耗时 42秒 (254kB/s)                                            

gpgv: 于 2015年07月06日 星期一 13时49分55秒 CST 创建的签名,使用 RSA,钥匙号 21B2133D

gpgv: 无法检查签名:找不到公钥

dpkg-source: 警告: 对 ./coreutils_8.5-1ubuntu3.dsc 校验签名失败

dpkg-source: info: extracting coreutils in coreutils-8.5

dpkg-source: info: unpacking coreutils_8.5.orig.tar.gz

dpkg-source: info: applying coreutils_8.5-1ubuntu3.diff.gz

如果是别人发布的二进制包,可执行文件通常都安装到Linux系统 /usr/bin 下面;如果是自己从源代码安装的,可执行文件通常都在 /usr/local/bin 下面,除非配置时指定了安装位置。

例如:

rpm -ivh xxx1.rpm

可执行文件通常都安装到 /usr/bin 下面

./configure (或者 ./configure --prefix=/usr/local)

make

make install

可执行文件通常都在 /usr/local/bin 下面,因为默认参数就是 --prefix=/usr/local

./configure --prefix=/usr (或者 ./configure --prefix=/opt 也可以指定其他位置,如你的家目录 --prefix=~,~就是 /home/xxx<即你的家目录>的缩写)

make

make install

可执行文件通常都在 /usr/bin 下面(或者相应地位于 /opt/bin 下面,或者 /home/xxx/bin 下面,xxx 是你的家目录)

无论那种方法,在 bash 控制台下只要输入可执行文件头几个字母,然后连续按两次 Tab 键,就可以列出可能的所有命令,如果只有一种可能,则自动显示该文件全名,这称为命令补全。想执行当前目录下的可执行文件,则必须使用 ./ 作为命令前导,例如:

./myprogram

除此之外,一般的可执行文件都处在系统的搜索路径里,只要在控制台直接输入命令名就可执行。例如你编译安装了一个叫 synaptic 的软件,只需要在 KDE 的 konsole 虚拟控制台下输入 synaptic 即可。

如果不幸,你的可执行文件不在系统的搜索路径里,就会报告没有这个命令。那么你需要把那个可执行文件的位置加入环境变量 PATH 里,用冒号作分割符,例如:

在你的家目录的 .profile 文件或 .bashrc 文件里添加如下命令

PATH="~/bin:$PATH" 就可以把你的家目录的 bin 目录追加到搜索路径里。

无论任何时候想知道系统里某个“命令文件”的位置,都可以使用 which 命令,例如:

$which pwd

/usr/bin/pwd

说明 pwd 命令位于 /usr/bin 下面。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7362800.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存