linux如何实现相关功能源代码
如果想进一步了解 linux系统,熟悉一些系统底层的东西还是非常必要的,我们可以先了解一些linux命令是如何实现相关功能的,那么如何获得命令的源代码呢?下面我们详细介绍一下。
下面以获取cat命令的源代码为例说明:
rpm -qif `which cat` 将显示如下信息:
--------------------------------------------------------------------------
Name : coreutils Relocations: (not relocatable)
Version : 5.2.1 Vendor: Red Hat, Inc.
Release : 31.8.el4_7.1 Build Date: 2008年10月23日 星期四 21时04分08秒
Install Date: 2009年04月07日 星期二 10时17分33秒 Build Host: ls20-bc2-14.build.redhat.com
Group : 系统环境/基础 Source RPM: coreutils-5.2.1-31.8.el4_7.1.src.rpm
Size : 7314345 License: GPL
Signature : DSA/SHA1, 2008年10月27日 星期一 22时56分59秒, Key ID 219180cddb42a60e
Packager : Red Hat, Inc.
URL : ftp://alpha.gnu.org/gnu/coreutils/
Summary : GNU 核心工具:一组在 shell 脚本中常用的工具。
Description :
这些是 GNU 的核心工具。该软件包是老的 GNUfileutils、sh-utils、
和 textutils 软件包的组合。
--------------------------------------------------------------------------
通过上面的信息,我们可以知道cat命令是来源于coreutils-5.2.1-31.8.el4_7.1.src.rpm源码包,我们可以到上面信息提到的 ftp://alpha.gnu.org/gnu/coreutils/上去下载tarball,也可以到rpmfind.net网站上去搜索coreutils-5.2.1-31.8.el4_7.1.src.rpm下载此源码包。
若是下载的tar.gz包,则tar zxvf tar.gz包即可;
若是下载的src.rpm源码包,则:
1、rpm2cpio coreutils-5.2.1-31.8.el4_7.1.src.rpm| cpio -idv
2、此时会在当前目录下产生coreutils-5.2.1.tar.bz2文件
3、bzip2 -d coreutils-5.2.1.tar.bz2 解压,会产生coreutils-5.2.1.tar 文件
4、tar xvf coreutils-5.2.1.tar 此时在当前目录下将产生coreutils-5.2.1目录,源码便在其中。
进入coreutils-5.2.1目录,下面的src文件夹便是存放cat命令源代码的地方,当然了除了cat,linux的很多基础的外置命令的源代码都存放其中,像cp,chown,chmod,df,ls,rm,dd等等
对了,顺便说一下,coreutils-5.2.1目录下的configure脚本有5w多行哦,里面体现了很多shell的编程技巧,很值得喜欢shell并且想进一步深入学习shell编程的朋友去拜读一下哦。
linux如何实现相关功能源代码相关推荐
- 用友nc65 uap开发找产品功能源代码
用友nc65 uap开发找产品功能源代码 1.目标:在我们开发中,很多时候我们看到产品有的功能二开的时候需要使用相关功能,这个时候怎么去参考产品相关功能源代码呢?如我们需要收款结算录入节点的联查凭证 ...
- linux htb 源代码,LINUX TC:HTB相关源码
LINUX TC:HTB相关源码 收藏 HTB(hierarchy token buffer)是linux tc(traffic control)模块中的排队队列的一种.它的配置比CBQ要简单.同时实 ...
- Ftp服务器上的文件剪切功能,linux 用来设置文件系统相关功能(文件传输) 命令:ftp...
ftp命令用来设置文件系统相关功能.ftp服务器在网上较为常见,Linux ftp命令的功能是用命令的方式来控制在本地机和远程机之间传送文件,这里详细介绍Linux ftp命令的一些经常使用的命令,相 ...
- putty上传文件到linux_基于windows安装部署putty小工具及相关功能介绍
概述 PuTTY是一个Telnet.SSH.rlogin.纯TCP以及串行接口连接软件.较早的版本仅支持Windows平台,在最近的版本中开始支持各类Unix平台,并打算移植至Mac OS X上.除了 ...
- Linux 如何安装程序的源代码软件包/源码程序包/源码包?
文章目录 一.安装源码包的三个步骤 (一)执行命令 configure,进行配置/检测 (二)执行命令 make,编译源码 (三)执行命令 make install,安装软件 二.源码包安装示例 (一 ...
- linux命令——帮助相关命令
linux命令--帮助相关命令 文章目录 linux命令--帮助相关命令 1.man命令 命令概述: 使用语法: 参数用法: 参考示例: man命令帮助信息的结构以及意义 man命令中常用按键以及用途 ...
- 【文献心得】Linux 实时化相关
文章目录 [1]石伟民. 基于ARM9的嵌入式实时linux系统平台构建[D].中北大学,2010. [1]刘涛. 一种嵌入式实时Linux的设计与实现[D].电子科技大学,2007. [1]朱春飞. ...
- Linux之用户组相关操作 groupadd groupdel
Linux之用户组相关操作 groupadd groupdel 1. 创建用户组 命令 说明 groupadd 创建(添加)用户组 创建用户组效果图: [grep是搜索功能,详情博文:https: ...
- linux 内核抓包功能实现基础(一)设计思路
linux平台下面已经有了抓包工具tcpdump, 非常经典,使用起来也非常方便.但是因为某些系统架构上或者其它方面的原因,有时候tcpdump并不能满足产品实际需要,公司的产品是电信运营商相关的软硬 ...
最新文章
- 使用RxJava实现ImageView的拖动、旋转和缩放
- c、c++---linux上的GetTickCount函数
- linux 故障注入_libfiu
- jquery官网打不开难以下载,不妨试试webjars
- 使用IntelliJ IDEA导入 Flink 消费kafka报错 Error: A JNI error has occurred, please check your installation an
- 基于主动学习和克里金插值的空气质量推测
- 信息学奥赛C++语言:成绩等级
- RMAN 系列(四) ---- RMAN 备份
- 配置nginx负载均衡
- 希望是一个全新的开始
- 【细胞分割】基于matlab GUI分水岭算法细胞分割计数【含Matlab源码 637期】
- linux 分区100g整数,160GB硬盘双系统整数分区推荐方案
- MATHEMATICS FOR MACHINE LEARNING部分翻译
- 取消一个项目git版本控制
- 文档管理系统解决方案
- 腾讯组织了一个联盟,但无法阻止字节跳动拿走一半游戏广告
- Unity2019版本打包一直停留在 detecting current sdk tools version的解决方案
- 基于JavaScript实现的网页版贪吃蛇
- 3.3 伴随矩阵法求逆矩阵
- CASCAN拍照式三维扫描仪精密测量叶轮和逆向设计综合技术解决方案
热门文章
- 要想工作效率高,我们到底需要多少睡眠?
- Android实现简单的检测手机自由落体关闭屏幕
- Test传送门(更新中)
- 从零搭建自己的SpringBoot后台框架(七)
- 【机器学习实战】第2章 k-近邻算法(kNN)
- CSS3手机端侧滑菜单 4种滑动菜单特效
- iOS开发必备指南合集之游戏接入GameCenter 指南
- 浅析C#合并多个WORD文档的具体实现方法
- 用正则表达式捕获标识符——随便说
- vuepc端实现数据加载_多模态注意力机制+多模态数据,完全实现端到端课堂活动检测|ICASSP 2020...