如何查看linux命令源代码和函数源代码

如何查看linux命令源代码和函数源代码,第1张

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中查看各命令对应的源代码了

linux系统下file命令用于查询文件类型。平时我们判定一个文件的类型通常是通过该文件的扩展名,而file命令是通过详细阅读文件内容,找到特征量来判定文件类型。下面是file命令的具体内容:

1、file命令判定文件类型的顺序:

查询Device,Directory,Symbolic等特殊文件

查询压缩文件

查询tar文件

基于Magic数据库文件的查询

查询ASCII,UNICODE等类型的文本文件

如果以上都不符合,则文件为二进制文件

2、原理:

file命令通过读取保存着各种文件特性的数据库信息和被判定文件进行匹配,数据库文件保存在/etc/magic、/usr/share/misc/file/magic或其他位置。

0string\177ELFELF

>4byte0invalidclass

>4byte132bit

>5byte1LSB

>>16leshort2executable

3、magic文件由4部分组成:

偏移量

数据类型

输出字符串

magic文件的更多格式信息可以通过manmagic来查看。

以上就是小编今天的分享了,希望可以帮助到大家。

1)在使用dpkg时,若出现错误,可以使用sudo命令使其以root权限执行。

2)使用apt-get source下载的源代码保存到当前目录下。。此外,当我们知道了命令所属的包后,也可以到相应的官方网站下载。

2、CentOS中系统命令源代码的获取方法

以32位CentOS6.6下,获取ls命令的源代码为例,可以使用如下的方法下载源代码:

1)配置源代码的源

在CentOS中,源的配置文件为:/etc/yum.repos.d/CentOS-Base.repo,修改该文件需要root权限。


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

原文地址: https://outofmemory.cn/yw/8536814.html

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

发表评论

登录后才能评论

评论列表(0条)

保存