linux下命令源码

简介: 一般来说,不同的命令可能隶属于不同的软件包,这样就没有一个地方会有所有命令的源代码。(命令的个数也会与你所安装的软件包有关)但是,一些常用的命令,例如basename cat chgrp chmod chown chroot cksum comm cp csplit cut date dd df d...
一般来说,不同的命令可能隶属于不同的软件包,这样就没有一个地方会有所有命令的源代码。(命令的个数也会与你所安装的软件包有关)
但是,一些常用的命令,例如
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 ,如果只是参考的话 , 那么就无关紧要了


 
【作者】 张昺华
【新浪微博】 张昺华--sky
【twitter】 @sky2030_
【facebook】 张昺华 zhangbinghua
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
目录
相关文章
|
3月前
|
Linux
快速上手linux | 一文秒懂Linux各种常用目录命令(上)
快速上手linux | 一文秒懂Linux各种常用目录命令(上)
21 0
|
10月前
|
Linux 开发工具 C语言
Linux-编写一个自己的命令
Linux-编写一个自己的命令
80 0
|
10月前
|
安全 Linux Windows
linux 命令学习(4)
Linux中常用的关机和重新启动命令有shutdown、halt、reboot以及init,它们都可以达到关机和重新启动的目的,但是每个命令的内部工作过程是不同的,下面将逐一进行介绍。 1. shutdown
91 0
|
12月前
|
移动开发 Linux
Linux进阶命令
Linux进阶命令
58 0
|
Linux Shell
Linux 基础-学会使用命令帮助
Linux 基础-学会使用命令帮助
|
Linux Perl
笔记:linux 命令
笔记:linux 命令
116 0
|
Linux 开发工具 C语言
什么是好代码,Linux大神来告诉你
在工作中经常有同学在讨论,到底什么是好代码? 对于好代码,相信每个人都有自己的理解,可能它是包括以下几个维度: 关于代码结构本身; 关于功能实现; 关于学习成本; 关于程序可读性...
|
Linux Shell 开发工具
linux实用小命令工具
LINUX中不同的颜色代表不同的文件蓝色:目录 绿色:可执行文件红色:压缩文件浅蓝色:链接文件灰色: 其他文件绝对路径 : 以正斜杠开始 完整的文件的位置路径 可用于任何想指定一个文件名的时候 相对路径 :不以斜线开始 ...
931 0
|
Linux
linux 命令基础大全
linux 命令基础大全 pwd:显示当前路径   cd :切换目录 用法:cd cd ../ 切换到上级目录 cd /   切换到根目录 cd ~  (或只有cd )切换到当前用户主目录(home底下以用户名命名的文件夹) /root目录 mkdir 创建目录 mkdir 目录名  -p   递归创建目录   rmdir 删除空目录   用法:rmdir 目录名 也可用:rm -rf 目录名   ls 查看目录或文件信息   主要选项: -l 列出目录或者文件的详细信息。
2519 0