linux命令源码的查看
来源:互联网 发布:浙大软件学院研究生 编辑:程序博客网 时间:2024/04/21 00:07
在平常的作业中,有时候老师让自己实现诸如cat等类的程序,有时候叫用shell实现,有时候用c实现,但是我经常一点头绪都没有,不过我想到linux开源的,命令代码可以拿来参考下阿,所以我就想看看linux命令的源代码,于是就开始了摆渡狗狗的搜索过程。从结果来看,有两种情况,一种是给予rpm的包的形式;另一种是基于deb包的形式。具体我也不知道该怎么描述,总之就是一种redhat的源码查看,一种是debian的源码查看。我是用的ubuntu,基于debian的,所以先前按照rpm的方式怎么也不奏效。
下面我就总结了下:大概就是源码都存放在相应的包里面。
新利得里我搜了下coreutils,显示已经安装,不过这里安装的应该是软件,也就是命令的执行文件吧应该。但是我没有找到它是否安装了src,也就是源代码。
PS: Coreutils软件包含有用于展示和设置基本系统特性的工具。
具体过程一(Linux rwind-ubuntu 2.6.22-14-generic):
1.首先找到你想查看的命令属于哪个包
同样:
我第一次犯的错误:把``用成‘’了,这两种不一样阿,前一个是数字键1左边的引号,作用是在shell重组命令行时把``里面的内容当作命令来执行并替换为结果。
2.下载相应的源码包
rwind@rwind-ubuntu:~/source$ apt-get -d source "debianutils"
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
读取状态信息... 完成
需要下载 134kB 的源代码包。
获取:1 http://ubuntu.cn99.com feisty/main debianutils 2.17.4build1 (dsc) [479B]
获取:2 http://ubuntu.cn99.com feisty/main debianutils 2.17.4build1 (tar) [133kB]
下载 134kB,耗时 1s (90.7kB/s)
下载完毕,目前是“仅下载”模式
d选项是仅仅下载的选项。下载到你目前的工作目录当中。
3.把你下载的包解压缩,自己去里面找吧,文件挺多的,都什么作用我不清楚,留待以后慢慢研究慢慢发现。
另外:在网上还发现一些资料,但我都没验证,
原文如下:
二:这是我在网上搜的rpm包格式的。
以find命令为例:
第一步,确定命令属于哪个rpm包:
#rpm -qf /usr/bin/find
findutils-4.1-34
第二步,查找findutils的源码包findutils-4.1-34.src.rpm,这个一般在发行版的网站上可以找到
第三步,安装源码包:
rpm -ivh findutils-4.1-34.src.rpm
安装好之后可以到/usr/src/RedHat/SOURCE下找到相关的源码包
大概就是这样了,以后发现有不足的地方还会补充,如果您有什么建议或发现错误,希望可以指点指点。谢谢。
下面我就总结了下:大概就是源码都存放在相应的包里面。
新利得里我搜了下coreutils,显示已经安装,不过这里安装的应该是软件,也就是命令的执行文件吧应该。但是我没有找到它是否安装了src,也就是源代码。
PS: Coreutils软件包含有用于展示和设置基本系统特性的工具。
具体过程一(Linux rwind-ubuntu 2.6.22-14-generic):
1.首先找到你想查看的命令属于哪个包
rwind@rwind-ubuntu:~$ dpkg -S `which ls`
coreutils: /bin/ls
同样:
rwind@rwind-ubuntu:~/source$ dpkg -S `which which`
debianutils: /usr/bin/which
debianutils就是which所在的包。我第一次犯的错误:把``用成‘’了,这两种不一样阿,前一个是数字键1左边的引号,作用是在shell重组命令行时把``里面的内容当作命令来执行并替换为结果。
2.下载相应的源码包
rwind@rwind-ubuntu:~/source$ apt-get -d source "debianutils"
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
读取状态信息... 完成
需要下载 134kB 的源代码包。
获取:1 http://ubuntu.cn99.com feisty/main debianutils 2.17.4build1 (dsc) [479B]
获取:2 http://ubuntu.cn99.com feisty/main debianutils 2.17.4build1 (tar) [133kB]
下载 134kB,耗时 1s (90.7kB/s)
下载完毕,目前是“仅下载”模式
d选项是仅仅下载的选项。下载到你目前的工作目录当中。
3.把你下载的包解压缩,自己去里面找吧,文件挺多的,都什么作用我不清楚,留待以后慢慢研究慢慢发现。
另外:在网上还发现一些资料,但我都没验证,
原文如下:
apt-get install apt-file
apt-file update
apt-file search /bin/ls
这样可以知道ls是coreutils提供的然后apt-get source coreutils就得到源码了当然对于ls,还可以用dpkg -S /usr/ls 来查询它属于哪一个包,不过dpkg -S只对已安装的包有效
二:这是我在网上搜的rpm包格式的。
以find命令为例:
第一步,确定命令属于哪个rpm包:
#rpm -qf /usr/bin/find
findutils-4.1-34
第二步,查找findutils的源码包findutils-4.1-34.src.rpm,这个一般在发行版的网站上可以找到
第三步,安装源码包:
rpm -ivh findutils-4.1-34.src.rpm
安装好之后可以到/usr/src/RedHat/SOURCE下找到相关的源码包
大概就是这样了,以后发现有不足的地方还会补充,如果您有什么建议或发现错误,希望可以指点指点。谢谢。
0
上一篇:成功通过http代理来使用github
下一篇:[记录]stack(栈)和heap(堆)的不同
相关热门文章
- QEMU源码分析系列(四)...
- MyBatis 入门(五)--分页查询(...
- strongswan 生成证书命令...
- 关于U-Boot源码顶层Makefile...
- MPlayer播放器源码分析
- linux 常见服务端口
- xmanager 2.0 for linux配置
- 【ROOTFS搭建】busybox的httpd...
- openwrt中luci学习笔记
- 什么是shell
- linux dhcp peizhi roc
- 关于Unix文件的软链接
- 求教这个命令什么意思,我是新...
- sed -e "/grep/d" 是什么意思...
- 谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
评论热议
0 0
- linux命令源码的查看
- linux命令源码的查看
- linux命令源码的查看
- 查看linux命令的源码
- linux命令源码的查看
- 如何查看各种Linux命令的源码?
- ubuntu 查看 命令的源码
- 查看linux源码的网址
- linux的查看端口命令
- linux 服务器的查看命令
- linux查看线程的命令
- Linux 查看设备的命令
- linux查看文件大小的命令
- Linux的信息查看命令
- 查看linux版本的命令
- Linux 查看日志的命令
- linux查看空间的命令
- Ubuntu下查看命令的源码
- android studio去除 Fetching Android SDK component information
- values-v11 values-v14
- 轻量级分布式RPC框架实现(续)
- HashMap集合
- 成功通过http代理来使用github
- linux命令源码的查看
- [记录]stack(栈)和heap(堆)的不同
- 概要设计思路
- 爱自己
- 工作小结
- Dianping CAT 安装说明文档
- 解决问题模板
- 分享一个好用的android新手引导
- 设计模式之原型模式
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
廖俊波先进事迹心得体会
廖俊波事迹心得体会
福建廖俊波车祸真正原因
廖俊波事迹个人心得
廖俊波先进事迹简介
谁廖俊涛
廖俊涛谁
谁歌曲廖俊涛
谁歌词廖俊涛
谁廖俊涛吉他谱
廖俊涛 谁
廖俊涛参加过变型计
廖允成
兴宁廖远胜的事件
廖劲锋
廖劲锋原貌照片
廖劲锋整容前照片
廖劲锋整容对比
廖劲锋整容前学生照片
廖劲锋承认自己整容
廖奇志
廖学秋
董宇阳
廖宇靖
廖安丽
廖家仪
廖峻涛
谁廖峻涛
廖庆轩
廖彩杏
廖心雨哪一集上的床
廖怀南
廖慧呈
廖慧敏
廖慧敏抖音冷巴
廖慧敏闯关是哪一期
廖成志
jeffrey廖承宇飞机
jeffrey廖承宇
廖承宇
廖承宇飞机