这是我的情况:
- 我知道如何编译一些程序。我知道如何
make
运作gcc
。我知道bash
。 - 我对命令行相当熟悉。
- 我知道某些程序在我的计算机中是如何工作的。
我不满意。我想学的是:
- 我想了解程序如何真正工作,编译程序时到底发生了什么,哪个文件被复制到哪个目录中等等。我经常发现自己无法成功编译程序,所以我最终使用
apt-get
安装它。我发现它对我来说很“神奇”。我想知道apt-get
对我的电脑有什么影响。 - 我想了解在哪里可以找到配置文件以及如何编辑它们。特别是,我想了解哑剧类型是如何工作的。我也想了解更多有关环境变量的信息。
- 事实上,我正在寻求对我的计算机的完全控制。我认为安装 Arch Linux 会是一件好事,但我想先了解一下上面的内容。
您能给我展示一个我可以使用但技术含量不太高的资源吗?您有什么建议、推荐吗?
答案1
我经常发现自己无法成功编译程序,所以我最终使用 apt-get 来安装它。
不要那样做。你已经落后了。您应该首先检查是否可以通过 apt-get 安装,如果不能,请从源代码编译。
知道如何使用configure/make等是件好事,但是不必要地一遍又一遍地这样做不会为学习更多东西提供太多机会,而且也不会给您的系统带来太大好处。您学习 Linux 的时间可以有更高效的用途。
我想了解程序如何真正工作,当我编译程序时到底发生了什么。
这是一个相当大的回归。我这么说并不是为了贬低你——我也有同样的“为什么?然后为什么?然后为什么?”偏爱,我认为linux对于这样的人来说非常有吸引力。但是,说实话,我认为这个问题的答案对于无法阅读或编写代码的人来说没有多大价值或意义。
在我看来,您可能对编程很感兴趣,我鼓励您首先追求这种兴趣,然后再担心编译器如何工作。如果您对编程不感兴趣,那么不必担心编译器的工作原理。
我想了解在哪里可以找到配置文件以及如何编辑它们。
您可以通过查阅要配置的软件的文档来找到它们。没有硬性和快速的标准,尽管显然/etc
$HOME 中和“隐藏”点目录中有很多东西。至于如何编辑它们,如果你的意思是“规则是什么”,Linux大量使用shell来完成系统级的事情,但是单个应用程序的配置通常是应用程序独有的形式,所以同样,你有阅读具体文档。
我也想了解更多有关环境变量的信息。
这是一个可以在以下范围内得到很好解决的问题维基百科文章。维基百科是计算问题的重要资源,其标准往往比整个网络上的标准高得多。
我想了解哑剧类型是如何工作的。
这类似于关于环境变量的问题,只要随意阅读维基百科就可以做到这一点,但也有点像编译器问题,因为我认为它对您来说不会非常有用或有意义, 现在。
我认为安装 Arch Linux 会是一件好事
根据我对 arch 的了解,我认为这可能是一次很好的学习经历。和gentoo一样。远远领先于两人在这方面将会Linux 从头开始。
然而,我认为我推荐的(发行版跳跃)是,再一次,编程。如果 linux 是你所在的地方,要么 C (这是本机基础 - 坦率地说,条条大河最终通向C,哈哈)和/或 Perl、Python 或 ruby 之一。目前,Python 似乎正在赢得人气竞赛,但实际上这三个都或多或少是相同的,所以无论您喜欢哪个。 Ruby 可能是最通用的形式,并且比其他两种语言更适合新用户,这意味着它是一种很好的第一语言。 Perl 有很多优点,并且一直是 Linux 的基础。
我不要建议通过 bash 或 shell 编程来学习。您确实不可避免地需要掌握 shell,但在编程方面,它缺乏许多重要的功能,并且比任何 perl/python/ruby 都更加深奥和繁琐(并且通常不太有用)。
如果您住在城市或中等规模的城镇附近,图书馆系统可能有有关 C、perl、python 和 ruby 编程入门的书籍。这是我的第一条建议,在安装 arch 或尝试深入了解 apt 之前:给自己买一本书并开始编程。