zoukankan      html  css  js  c++  java
  • linux下命令源码

    一般来说,不同的命令可能隶属于不同的软件包,这样就没有一个地方会有所有命令的源代码。(命令的个数也会与你所安装的软件包有关)
    但是,一些常用的命令,例如
    basename cat chgrp chmod chown chroot cksum comm cp csplit cut date dd df dirname du echo
    env expand expr factor false fmt fold groups head hostid hostname id install join kill link ln
    logname ls md5sum mkdir mkfifo mknod mv nice nl nohup od paste pathchk pinky pr printenv
    pwd readlink rm rmdir seq sha1sum sleep sort split stty su sum sync tac tail tee test touch
    tr true tsort tty uname unexpand uniq unlink uptime users wc who whoami yes
    都包含在 coreutils 软件包中,coreutils 软件包的源码可以在
    http://ftp.gnu.org/gnu/coreutils/
    下载到。

    另外,还有一部分命令是 bash 内置的,例如 cd 等,可以在 bash 的源码中找到。
    http://ftp.gnu.org/gnu/bash/


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

    ===========================================================================================================

    在 shadow-utils  这个软件包里面, 

    http://ftp.devil-linux.org/pub/devel/sources/1.2/shadow-4.0.17.tar.bz2

    解压后有个 src目录 ,下面即有 useradd的源代码 , 不过要编译成功必须保证 shadow目录的完整性, 里面包含了头文件和makefile ,如果只是参考的话 , 那么就无关紧要了


     
  • 相关阅读:
    java方法名的重载
    数据库ifnull方法
    java类的方法
    java属性的默认值
    sublime使用攻略
    1046 Shortest Distance
    1047 Student List for Course
    1048 Find Coins
    1049 Counting Ones
    1050 String Subtraction
  • 原文地址:https://www.cnblogs.com/sky-heaven/p/5475798.html
Copyright © 2011-2022 走看看