“学习” Linux


10

我对计算机很长时间了,并摆弄了很多东西,其中包括Linux。我年轻的时候(大约13岁)开始使用Red Hat,但丢失了所有数据,将FAT32驱动器转换为其他驱动器。后来正是Knoppix对恢复病情确实有所帮助。然后是Ubuntu。另外,我在Arch上摆弄了一段时间,但由于我的喜好,它经常中断(也许我应该更加小心)。

无论如何,当前我使用Ubuntu 9.04。我现在想更深入地研究Linux世界。我想了解事情的运作方式,并更多地使用终端。我也是一名程序员,因此,它将对您有很大帮助。

所以,我想问的是:

  • 学习和理解Linux的好书

  • 要更有效地使用Linux的良好习惯。

  • 我应该知道的好工具。

  • 您每天花费大量时间来学习新事物。

  • 作为程序员,您如何有效地设置和使用Linux。

长名单。我将感谢答复者。

Answers:


9

对我来说,我认为对Linux的最大启发是执行Gentoo安装。

对于没有经验的人,Gentoo本身没有安装程序,而是下载引导映像,手动创建卷和文件系统,然后开始编译大量源代码以为您提供工作系统。

自从我使用Gentoo以来已经有几年了,假设它并没有太大变化,我当然会向渴望学习的人推荐它。

使用文档和支持论坛时首屈一指。


2
我第一次安装Gentoo到第五次安装Gentoo是当我真正了解Linux和发行版的内部工作原理时。
RateControl 2009年

听见,听见!Gentoo非常适合狂热的学习者!+1
wzzrd

5
  1. 像《 Linux Format》和《 Linux Journal》这样的杂志。它们可以在书店购买,订阅或在互联网上找到。Linux格式的旧版本位于http://www.linuxformat.com/modules.php?op=modload&name=NewArchives&listpdfs=1,而Linux Journal的旧版本位于http://www.linuxjournal.com/magazine

  2. 获取Linux Journal / Tux Radar“ Linux入门包”。这是130页的纯胜书。它几乎涵盖了迁移的Windows用户可能想立即了解的所有内容。可从http://www.tuxradar.com/linuxstarterpack获得

  3. 加入论坛。由于您使用的是Ubuntu,因此建议您从http://ubuntuforums.org/开始。另一个著名的论坛是www.LinuxQuestions.org。ServerFault也可以。;)

  4. 阅读鲁特指南。它会帮助您使用命令行,并向您介绍其他形成性Linux概念。http://rute.2038bug.com/

  5. 诸如“ man program-name”和“ info program-name”之类的命令是无价的。

  6. 当然,请随时提出问题。找人帮助您学习操作系统始终会使该过程更容易,因此,如果可以,请找一位指导者。



3

了解如何在终端中度过。这意味着学习导航,管道和grep和sed之类的Unix程序。Ubuntu和其他发行版使Linux变得更加用户友好,但归根结底,学习的最大好处在于其CLI根目录。

该网站上有一些不错的shell教程。


有什么书会有所帮助吗?
Strider


2

使用不要重复自己的哲学。使用终端执行常见任务:复制,创建,移动,删除文件,在文件内部搜索信息(使用grep),搜索文件(查找)等等。尝试将所有这些命令以及bash脚本和awk相互结合。这将带给您良好的实践,并且您会感觉到Linux的强大功能:-)。

例如,如果您需要删除一些文件名可以使用任何模式的文件,则可以搜索每个文件夹并手动删除它们。DRY来了-只需将find和rm结合起来,就可以通过一条终端线完成。

另外,如之前发布的内容,请设置家庭服务器。通过它共享Internet,运行Web服务器,配置网络打印机等。


2

ls / bin,/ usr / bin,/ sbin和/ usr / sbin。然后扫描/阅读您看到的每个命令的手册页。除非您是神童,否则您将不会记住所有事情。但是,它将使您接触到系统上的大多数命令,并且对它们的作用有一个模糊的想法。然后,当您需要执行某些操作时,您将希望记住可能相关的命令。

您最终还将希望阅读其他手册页,您将找到MANPATH指向的位置,但是我首先要从命令开始。

这是我在服务台时曾经做过的事情,但是没有打进来,我发现它非常有用。


2

有点侧边栏提示,但是我使用Mnemosyne(apt-get install mnemosyne)来创建包含有用的Linux命令和提示的闪存卡。每周几次,我翻阅了几张闪存卡,并尽力让它们保持新鲜。

您的工作量可能会有所不同,但是我发现这是保留我每天可能不使用的命令的一种好方法,因此在需要时可以快速调出它们(或者至少知道要阅读的手册页) 。

我也为其他事情这样做,例如Vim击键,Python API等。


2

进入Linux的一种好方法是基本上使用它。

Linux的功能在命令行中。当您大量使用Linux时,您可能很快就会进入命令行。在GUI中执行重复性任务会让您想知道是否有更好的方法来做事情。这样,您就可以使用命令行界面慢慢获得更多舒适体验。

在学校里教C的时候,我们用Emacs编写了程序,并在命令行上对其进行了编译。这使我在命令行上工作起来更加自在,并且随着我们的进步,我学到了新的技巧。另外,如果您学习C,您将可以深入了解Linux的构建方式以及它的工作方式,因为它主要是用C编写的。


1

一本好书是《 Unix编程的艺术》。Unix和Linux有着相同的理念,尽管它们略有不同。

除此之外,我建议您学习一个shell(如bash),并学习一种脚本语言,如Perl或Python。要学习shell,我将从手册页开始,也许还可以读一本书(O'Reilly的书很好)。



1

您问过如何有效地使用Linux作为程序员-在这种情况下,我本以为shell脚本是必不可少的(无论是知道如何传入或传出参数,还是避免编写代码来完成现有的已经可以完成的事情) commamnds)。尝试参考O'Reilly的“经典Shell脚本”。


1

Linux用户

程序员会发现许多Linux命令行工具很有用。其中一些是:

  • ls -lrt
  • 找到-时间太长,无法阅读全部内容。用作参考。
  • xargs
  • bash-时间太长,无法阅读所有内容。用作参考。
  • 厕所
  • crontab

有很多针对中级Linux用户的书籍,没有针对高级Linux用户的优质书籍。我使用以下做法进入Linux:

  • 首先,您要学习课程或为初学者阅读一本书。不应在过程中研究GUI。
  • 下一步需要实践。使用您的PC或服务器,并查看手册以获取执行日常任务所需的命令。如果您不知道需要哪个命令,请询问您能干的朋友或社区。
  • 第三是外壳脚本。它不仅为自动化日常任务提供了一个很好的机会,而且还提供了有效使用交互式Shell所需的经验。

Linux管理和配置以相同的方式完成,但往往会有更多的谷歌搜索。


1

我小时候从SuSE开始。后来对我来说也是Knoppix。然后是Ubuntu,目前我使用Ubuntu 9.04。

我从互联网和朋友那里学到了几乎所有有关linux的知识。

唯一帮助我更好地学习和理解linux的书是Andrew S. Tanenbaums Modern Operating Systems


1

了解Linux的一个好方法是使用Linux。您可以尝试在家里或虚拟机的Internet连接上设置Linux机器。

尝试设置一些服务器应用程序:

  • 网络服务器(例如apache)
  • 内容管理系统(例如drupal)
  • 数据库(例如mysql)
  • 带有垃圾邮件过滤器(例如spamassassin)的邮件服务器(例如快递)

这将帮助您熟悉常见的Linux工具和实践。


0

书本可以很好,但是请尝试找到自己的导师。当我还年轻的时候,我很幸运地让一个Unix系统管理员向我展示了绳索,在他们的指导下工作了两年之后,我什至超越了他们的知识。

Unix是一种奇怪的野兽,您可以要求10个Unix管理员执行操作,您可能会得到10个不同的答案。可能所有答案都不正确,这是因为该工具非常灵活,可以做多种事情。

绝对不是做事的“单一微软方式” :-)

如果您在阅读时受概念困扰,有时freenode irc频道会提供很大的帮助。检查他们,他们很友好,如果您很友好。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.