linux(ubuntu)获取命令源码方式

以下载ls的源码为例说明:

首先要知道ls是属于哪个包的,可以通过下面命令:

#dpkg -S ‘command name‘ 通用格式
    $ dpkg -S /bin/ls

得到如下结果:

    coreutils: /bin/ls

注意这里要把ls的所在路径全写出来,直接用ls的话,会输出很多无关内容的。 如果不知道命令所在的目录,可以用下面命令查看:

    $ which ‘command‘

就可以知道ls程序是在coreutils包里面,我们只需要下载coreutils包的源码即可找到ls的源码。 通过apt-get source命令下载:

    /usr/local/src/$ sudo apt-get source coreutils

上面命令就会把coreutils下载到/usr/local/src/目录下。

要是想编译的话,按照标准的GNU程序编译即可:

    sudo ./configure
    make

当make成功后,会在src的目录下生成可执行文件,直接运行即可。

时间: 2024-10-11 08:12:57

linux(ubuntu)获取命令源码方式的相关文章

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

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

Linux c 开发 - Memcached源码分析之命令解析(2)

前言 从我们上一章<Linux c 开发 - Memcached源码分析之基于Libevent的网络模型>我们基本了解了Memcached的网络模型.这一章节,我们需要详细解读Memcached的命令解析. 我们回顾上一章发现Memcached会分成主线程和N个工作线程.主线程主要用于监听accpet客户端的Socket连接,而工作线程主要用于接管具体的客户端连接. 主线程和工作线程之间主要通过基于Libevent的pipe的读写事件来监听,当有连接练上来的时候,主线程会将连接交个某一个工作线

Linux cat 命令源码剖析

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

Ubuntu 源码方式安装Subversion+Apache2

使用到的安装包: apr-1.5.1.tar.gz apr-util-1.5.3.tar.gz pcre-8.35.tar.gz httpd-2.4.9.tar.bz2 subversion-1.8.9.tar.bz2 zlib-1.2.8.tar.gz 解压缩命令: tar zxvf ***.tar.gz tar jxvf ***.tar.bz2 1.先安装apr cd apr-1.5.1 ./configure --prefix=/usr/local/apr make sudo make i

Linux下基于源码方式安装MySQL 5.6

MySQL为开源数据库,因此可以基于源码实现安装.基于源码安装有更多的灵活性.也就是说我们可以针对自己的硬件平台选用合适的编译器来优化编译后的二进制代码,根据不同的软件平台环境调整相关的编译参数,选择自身需要选择不同的安装组件,设定需要的字符集等等一些可以根据特定应用场景所作的各种调整.本文描述了如何在源码方式下安装MySQL. 1.安装环境及介质#安装环境SZDB:~ # cat /etc/issueWelcome to SUSE Linux Enterprise Server 10 SP3

ubuntu下源码方式安装php5.4

一.安装前准备 下载php-5.4.13.tar.gz最新版本放到/user/src目录下 二.安装 因为在安装php过程中,会依赖安装很多库,为了不让你反复安装,建议按步骤操作 安装autoconf工具 sudo apt-get install autoconf 安装libxml2库 sudo apt-get install libxml2-dev 安装libbz2-dev sudo apt-get install libbz2-dev 安装curl sudo apt-get install

asp.net C# 获取网页源码的几种方式

1 方法 System.Net.WebClient aWebClient = new System.Net.WebClient(); aWebClient.Encoding = System.Text.Encoding.Default; Byte[] pageData = aWebClient.DownloadData(url); string nhtml = Encoding.GetEncoding("utf-8").GetString(pageData); 2方法 System.N

使用Notepad++远程编辑Ubuntu上的源码

简单搭建了在Windows上远程编辑Ubuntu Server 14.04上面源代码的环境,记录一下,给需要的人. Notepad++安装NppFTP 从插件菜单打开PluginManager,选中NppFTP插件: 点击Install按钮,安装.需要重启Notepad++. 重启后,按下面方式打开NppFTP: 打开后,默认在Notepad++右侧显示NppFTP界面,类似下面: 配置profile,类似下面: 点击Close按钮,关闭配置窗口. Ubuntu Server安装vsftpd 按

POST教程笔记 - WinHttp获取网页源码

①.WinINet与WinHttp的异同点,为什么使用WinHttp讲解? 详情见:<WinINet与WinHttp总结>文档,已经打包给大家了. ②.WinHttp接口调用方式:微软官方地址:http://msdn.microsoft.com/en-us/ ... 84263(v=vs.85).aspxWinHttp微软提供了两种调用方式:C++调用API的版本.COM组件的版本.这里面使用的是 C++ Interface 接口的组件的方式来给大家讲解. ③.WinHttp常用命令讲解:详情