哪裡是找到標準 Linux 命令列工具來源的最佳位置?

哪裡是找到標準 Linux 命令列工具來源的最佳位置?

Into:我喜歡透過閱讀資源來學習。但在分散在許多不同項目站點的互聯網上搜索它們是很累人的。我很想看看中央可瀏覽儲存庫將許多應用程式的來源集中在一個地方。

  • 當有人想要尋找某些 Linux 工具的文檔時,最好的地方是:man toolname
  • 當我想「按需」瀏覽 Linux 原始碼時,我總是可以跳到:Linux 交叉參考
  • 當我想找到最常見的員工時,我可以在以下位置找到所有來源: 核心工具
  • 當我想檢查如何建造某些東西時,我可以(例如)跳入http://www.archlinux.org/packages/,檢查它的 pkgbuild。

是否有任何儲存庫將大多數工具的來源集中在一個地方? - 就像man儲存文件或Linux 交叉參考內核原始碼。

我的意思是「快速」地「按需」檢查東西是如何實現的。 (是的,我知道Google -> 但我厭倦了日常工作:1. 搜尋專案網站 2. 瀏覽儲存庫,甚至更糟 -> 查看它的儲存庫 3. 完成後刪除)

評論:

我壓力很大,我想檢查一下工具:快速、快速、隨選。

這意味著:我不想安裝整個應用程式及其原始程式碼只是為了查看它的原始程式碼。 (順便說一句。網路資源是更好的選擇,所以我可以檢查來自許多電腦的來源 - 我對所有電腦都沒有管理員權限)

答案1

讓我用另一個答案來回答你的問題。我想您想閱讀傳統 Unix 命令列工具的程式碼,而不僅僅是 GNU 版本的這些工具。閱讀不同項目中類似工具的程式碼是學習不同想法和實現的好習慣。

GNU 有一個很好的 web 介面用於 coreutils 的儲存庫:http://git.savannah.gnu.org/cgit/coreutils.git

BSD 系列具有類似的儲存庫 Web 介面:

BSD 程式碼庫很有趣,因為通常對相同的工具使用較少的程式碼,即:僅支援傳統選項,沒有額外的選項,sh 是一個真正的shell,而不僅僅是到其他大型shell(bash)的鏈接等等。

如果您想閱讀建立第三方軟體的程式碼(類似 arch 的 pkgbuild),您也可以瀏覽相同的 Web 介面。 NetBSD 和 DragonFly 使用 NetBSD 儲存庫中的 pkgsrc。 OpenBSD 和 FreeBSD 在各自的儲存庫中擁有這些框架。

其他對您的目的感興趣的存儲庫是:

答案2

由於開源開發沒有中心位置,因此沒有包含大多數開源軟體的中央儲存庫。有些使用 GitHub、BitBucket、私人伺服器、Sourceforge、Launchpad 等。

另一方面,二進位發行版(發布二進位檔案而不是原始程式碼)通常提供大多數套件的原始程式碼並將其提供給所有使用者。因此,您最好的機會是使用發行版提供的基礎架構。請注意,它們不一定包含最新的更改和修復,並且可能已經過時。

如何從您的發行版下載來源套件的範例:

yumdownloader --source packagename
apt-get source packagename

對於 Arch,請查看以下答案類似問題的答案在堆疊溢位上。

如果您只想下載原始程式碼,您可以使用packages.debian.org,例如coreutils 的連結。這將提供原始套件(orig.*或某些套件的清理來源)的下載連結dsfg.*。您可以對 Arch Linux 軟體包清單執行相同的操作,例如:拱門 coreutils 頁面。將Download from Mirror下載該軟體包。

相關內容