上一篇分享了两个使用的小工具:如何同时输出调试信息到终端与文件? 。有位小伙伴留言问道tee工具的代码在哪: 这篇文章我们就来简单分享一下。 首先,我们需要了解Linux下的命令分为大致分为两类:内置命令 与非内置命令 。查看内置命令源码 内置命令是Shell自带的, shell自己进行管理。 内部命令由shell程序识别并在shell程序内部完成运行。 比如cd命令 就是一个内置命令。我们可以通过help命令(help也是内置命令)来查看内置命令有哪些: 查看系统当前使用的shell: 我这里的shell用是bash,bash源码路径: http://ftp.gnu.org/gnu/bash/ 查看非内置命令源码 非内置命令,也即外部命令。 外部命令是Linux系统中的实用程序部分, 因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存。 ls命令 、tee命令 等都是一个外部命令。 这些外部命令都被加入到环境变量PATH的路径中,然后我们全局使用,全局使用就是我们在任何路径下都可以使用。我们看一下PATH中有哪些路径: 其中,ls可执行程序就在/bin路径下: 怎么查看外部命令的源码呢?方法如下:1、查看命令工具所在绝对路径。 2、搜索工具所属包。 3、下载工具源码包。 下面以tee工具为例:1、查看tee工具绝对路径,输入如下命令:whereis tee tee工具绝对路径:/usr/bin/tee 。2、搜索tee工具所属包,输入如下命令:dpkg -S /usr/bin/tee tee工具所属源码包:coreutils 。3、下载coreutils源码包,输入如下命令: 方法一:sudo apt-get source coreutils 可能会遇到如下问题: 原因:没有指定源代码URI。 输入如下命令:sudo sed -i -- "s/#deb-src/deb-src/g" /etc/apt/sources.list && sudo sed -i -- "s/# deb-src/deb-src/g" /etc/apt/sources.list sudo apt-get update 然后即可下载源码包到当前目录下。 方法二: 如果是GUN的软件包可以直接到GUN官网查找相关软件包: http://www.gnu.org/software/ 找到需要的软件包,点进去即可找到源码下载命令: git clone git://git.sv.gnu.org/coreutils 下载完就可以看到源码了: coreutils软件包包含有很多常用的工具,比如:ls、mv、cat等工具源码都在里面。其它工具的源码查找方式如上。不一定都在coreutils 软件包中,比如上一篇文章分享的script工具在bsdutils 软件包中: 可能一些系统没有带有一些工具,就需要我们自己编译安装。以上就是本次的分享,希望大家喜欢。 1024G 嵌入式资源大放送!包括但不限于C/C++、单片机、Linux等。私信回复 1024,即可免费获取!