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 ,如果只是参考的话 , 那么就无关紧要了

'









本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sky-heaven/p/5475798.html,如需转载请自行联系原作者



相关文章
|
20天前
|
Linux 数据安全/隐私保护 Windows
命令方式:window向linux传文件
【10月更文挑战第6天】本文介绍了如何在Linux系统中通过命令`ip a`获取IP地址,并在Windows系统下使用CMD命令行工具和SCP命令实现文件传输。示例展示了如何将D盘中的`mm.jar`文件上传至IP地址为192.168.163.122的Linux系统的/up/目录下,最后在Linux系统中确认文件传输结果。
202 65
|
8天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
83 5
|
8天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
35 4
|
5天前
|
运维 监控 网络协议
|
6天前
|
监控 Linux Shell
|
8天前
|
Unix Linux
Linux | Rsync 命令:16 个实际示例(下)
Linux | Rsync 命令:16 个实际示例(下)
22 3
Linux | Rsync 命令:16 个实际示例(下)
|
12天前
|
安全 Linux
Linux系统之lsof命令的基本使用
【10月更文挑战第14天】Linux系统之lsof命令的基本使用
65 2
Linux系统之lsof命令的基本使用
|
20天前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
49 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
22天前
|
监控 安全 网络协议
|
13天前
|
Linux
Linux 系统五种帮助命令的使用
Linux 系统五种帮助命令的使用
34 14