美文网首页
查看Linux命令的源码

查看Linux命令的源码

作者: 清梦载星河 | 来源:发表于2020-02-10 16:17 被阅读0次

    如果想要通过Linux提高编程水平,那么肯定会有人想了解日常命令所使用的源码吧。获取这些命令的源码并不难,下面以uname为例来介绍步骤。

    大致步骤:

    1. 使用whereiswhich命令查看uname的绝对位置;
    2. 通过rpmdpkg搜索uname所属的包信息;
    3. 下载并安装对应的源码source包,即可得到源码。

    1. 使用rpm包管理器的Linux发行版,例如CentOS和Fedora

    # 查看命令
    which uname   # /bin/uname
    
    # 查看命令所属的包
    rpm -qf /bin/uname
    
    # 下载对应的xxx.src.rpm源码包
    yumdownloader --source coreutils -版本号
    
    # 查询rpm中的tar文件,源码一般放在里面
    rpm -qpl xxx.src.rpm | grep tar
    
    # 从rpm包中提取指定的文件
    rpm2cpio xxx.src.rpm | cpio -idv xxx.tar.xx
    
    # 解压
    tar xf xxx.tar.xx
    

    备注:

    • 如果没有yumdownloader,需要使用yum安装yum-utils
    • rpm2cpio命令的作用是将rpm文件转换成cpio文件
    • rpm命令的几个选项:
      • -qf:查找指定文件属于哪个rpm软件包
      • -qpl:列出rpm软件包内的文件信息
    • cpio命令的几个选项:
      • -i:抽取的意思
      • -d:建立目录
      • -v:冗余信息输出

    2. 使用dpkg包管理器的Linux发行版,例如Debian、Ubuntu

    Debian系的linux发行版获取源码步骤更简单,这里以查看ls命令的源码为例:

    # 查看ls命令属于哪个软件包
    dpkg -S `which ls`
    
    # 下载
    apt source "coreutils"
    

    备注:

    • 如果提示无法找到软件包,那么需要编辑/etc/apt/source.list文件,将文件中deb-src前面的注释去掉即可。
    ls命令的源码有5300行。。。

    相关文章

      网友评论

          本文标题:查看Linux命令的源码

          本文链接:https://www.haomeiwen.com/subject/lzgaxhtx.html