Linux 查看命令源码

一、简介

有时候想看看ls、cat、more等命令的源代码,本文介绍相应查看方法。

二、方法

参考:

http://blog.csdn.net/silentpebble/article/details/41279285
http://blog.csdn.net/zhenwo123/article/details/19190189

查看uname这个命令的源代码

# whereis uname
uname: /bin/uname /usr/share/man/man1/uname.1.gz /usr/share/man/man2/uname.2.gz /usr/share/man
 
# rpm -qf /bin/uname
coreutils-8.5-7.fc14.i686
 
# yumdownloader --source coreutils-8.5-7.fc14.i686 
 
# rpm2cpio coreutils-8.5-7.fc14.src.rpm | cpio -idv coreutils-8.5.tar.xz

coreutils-8.5.tar.xz

9446 blocks

# tar xjvf coreutils-8.5.tar.xz 

三、源码分析

参考:

http://blog.csdn.net/yxc135/article/details/22161907
时间: 2024-10-25 08:29:44

Linux 查看命令源码的相关文章

Linux cat 命令源码剖析

最近在读APUE, 边看还得边做才有效果. 正好linux下很多命令的是开源的, 可以直接看源码. GNU coreutils 是个不错的选择. 源码包有我们最常用的 ls, cat等命令的源码, 每个命令都比较短小精悍, 适合阅读. 下面是我阅读 cat 命令的一点笔记. 到这里下载源码. 在源码根目录下 ./configure; make 就可以直接编译, 修改后make就可以编译了. 命令源码在 src/目录中, lib/目录下有一些用到的辅助函数和常量定义. 1. 命令行解析 基本上所有

Linux下查看并下载命令源码包(根据命令/应用程序逆向获取并且安装其所属源码包)

使用linux的过程中,我们会熟悉各种命令,偶尔我们不禁会问,这些命令是怎么实现的,学习他们其实是学习linux高级系统编程很快捷的方法. 这些命令的源码肯定是存放在相应的包里面,但是是哪些包呢? 发行版的包管理器为我们提供了很方便的命令接口,供我们查找我们指定命令所在的包 比如我们以最普通的uname命令来说明, 使用我们使用whereis或者which命令可以查找命令的绝对位置 通过rpm或者dpkg命令搜索命令所属的包信息 下载并安装对应的源码source包,即可得到源码 CentOS等r

在 Linux 系统上源码安装 GTK+ 2.0

在 Linux 系统上源码安装 GTK+ 2.0==================================================Keywords: GTK+, Install, Linux, SourceAuthor:       whyglinux (whyglinux AT hotmail DOT com)Date:          2007-01-07==================================================目录0. 前言1.

获取 + 查看 Android 源码的 方法

Android源码获取方法. 作为一个Android开发者,必要的时候阅读以下源码可以拓宽一下自己的视野和对android的认知程度. Google的Android的源码管理仓库是用的是Git.Android是一个开源手机终端系统,基于Linux内核的. 1.下载一个Git客户端,我使用的是Git-1.7.0.2版本 下载地址:http://code.google.com/p/msysgit/ 2.windows下安装Git的客户端软件很方便,和普通软件一样.安装完成后,我们在电脑上建立一个文件

完整版linux下android源码下载、编译、模拟器启动运行

一.环境说明: 1.VMware版本:8.0.3 build-703057 2.liunx系统:Ubuntu10.10 3.jdk:sun-java6-jdk 二.Ubuntu 10.10更新源列表 由于??Ubuntu 10.10版本的源已经过期了,所以,需要对其进行更新,Ubuntu 10.10 已经发布了,下面提供更新源方法与更新源列表地址: 1.sudo gedit /etc/apt/sources.list     编辑你的源列表,将原来的内容全部删除,添加下面的源,复制到你的列表中,

Linux平台下源码安装mysql多实例数据库

Linux平台下源码安装mysql多实例数据库[[email protected] ~]# netstat -tlunp | grep 330tcp6 0 0 :::3306 :::* LISTEN 6191/mysqld [[email protected] ~]# ss -tlunp | grep 330tcp LISTEN 0 80 :::3306 :::* users:(("mysqld",pid=6191,fd=10)) [[email protected] ~]# syst

linux 下安装 源码安装mysql

Linux安装mysql--源码安装 1.假设已经有mysql-5.5.10.tar.gz以及cmake-2.8.4.tar.gz两个源文件 (1)先安装cmake(mysql5.5以后是通过cmake来编译的) [[email protected] rhel5 local][[email protected] rhel5 local][[email protected] rhel5 cmake-2.8.4][[email protected] rhel5 cmake-2.8.4][[email

数据库学习之--Linux下Mysql源码包安装

数据库学习之--Linux下Mysql源码包安装 系统环境: 操作系统:RedHat EL6 DB Soft:  Mysql 5.6.4-m7     Mysql 在linux下的安装方式有两种版本,一种为Binary(二进制),另外一种为Source(源码包),本文为Source Install方式. 1.安装前的准备 解压安装包 [[email protected] ~]$ ls mysql-5.6.4-m7  mysql-5.6.4-m7.tar.gz  mysql-5.6.4-m7.ta

subversion linux 服务器端搭建 源码安装

下载源码包 1.1 subversion 源码包 http://subversion.apache.org/download/ 1.2下载sqlite-amalgamation 此处用的版本 subversion-1.8.9.tar.gz sqlite-amalgamation-201408010140.zip 2.请参照 http://my.oschina.net/u/234018/blog/297849 安装apr apr-util apache 3. 解压 安装  tar -zxvf su