如何寻找对应 Linux 命令的源码

2023-05-29 17:36:56 +08:00
 mk3s

一些常用 linux 的命令,比如 unzip 、tree 、lrzsz 等命令,有人知道如何找寻他们的源码么,下午花了点时间 google 了一下,没找到什么有效信息,目前我需要这些源码进行手动编译部署,主要为了通配 x86 的 linux 平台

1134 次点击
所在节点    问与答
10 条回复
502badgateway
2023-05-29 17:53:28 +08:00
agagega
2023-05-29 18:00:05 +08:00
先找到这个命令的路径,然后 man 一下看看是哪个包的,或者系统应该也有命令能查是哪个包提供的这个命令。然后搜一下这个命令的源码就行了,Linux 基础命令一般是 GNU 那堆什么 utils 提供的。
lambdaq
2023-05-29 18:02:17 +08:00
apt-get source XXX

XXX 包名。
daimiaopeng
2023-05-29 18:27:52 +08:00
大部分常用的命令: https://github.com/coreutils/coreutils
levelworm
2023-05-29 18:47:23 +08:00
bashbot
2023-05-29 18:49:11 +08:00
https://www.linuxfromscratch.org/lfs/
直接看这个找吧,基本系统用到的包大多数都覆盖了,而且还有编译方法。
Nitroethane
2023-05-29 19:23:04 +08:00
也可以通过 ArchLinux 找,比如 tree 命令的话 package 页面会写 upstream URL 。https://archlinux.org/packages/extra/x86_64/tree/
xiri
2023-05-29 19:36:50 +08:00
原生 linux 下部分常用命令应该都是 coreutils 提供的,或者你也可以尝试 busybox ,做静态链接很方便
ltkun
2023-05-29 19:38:44 +08:00
任何 Linux 发行版都会配对应源码包的
PhaSelEza
2023-05-29 19:44:59 +08:00
Debian 的话,先安装 apt-file 找到命令的包名,以 unzip 为例:

apt-file update
apt-file find "unzip"

找到包名后,用 apt source 下载源码,用 apt build-dep 安装编译所需的环境。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/943962

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX