# 有心向 Linux 操作系统学习者学习

什么老是建议学习 linux 先舍弃 x window 呢?因为 x window 是一套软件而不是 linux 内核, x window 对于系统的管理上还是有部分无法做到的,比如,linux 本身识别不到网卡的时候, 请问如何以 x window 来识别这个硬件并驱动它呢?

还有,如果需要以源码的方式来安装软件并加以设置的时候,x window 能实现吗?这是可以的,只是软件开发商是否支持而已, 但是对于了解 linux 来说没有任何帮助,所以学习 linux ,命令行模式是不二的学习方式

以服务器或则嵌入式系统应用来说,x window 是非必备的软件,服务器是提供客户端来连接的, 而且 x window 会耗费更多的资源与内存。

# 从头学习 linux 基础

一些基础问题,如

  • 如何限制用户资源的权限?
  • 执行一个命令,提示找不到该命令

这些基础问题,其实就是 linux 的基础知识,只要掌握了,解决这些问题都很轻松了。

还有网络基础与安全也很重要,不然暴露在网络上的 linux 主机很容易就会被黑客入侵当做别人的跳板了

想要了解 linux ,这些基础知识是必备的,因此建议:

  • 计算机概论与硬件相关知识:听过有相关概念即可

  • 先从 linux 的安装与命令学起

  • linux 操作系统的基础技能

    这些包含了用户/用户组的概念、权限的观念、程序的定义等,尤其是权限的概念,不同的权限设置会妨碍你的用户便利性, 但是太过便利又会导致入侵的可能

  • 务必学会 vi 文本编辑器

    linux 的文本编辑器很多很多,vi 是强烈建议先学习的,这是因为 vi 会被很多软件所调用, 加上所有的 unix like 系统上都有 vi

  • Shell 与 Shell 脚本的学习

    上面谈到的命令行界面,其实就是一个名为 shell 的软件。但是 shell 上面的数据太多了,包括

    • 正则表达式
    • 管道命令
    • 数据流重定向

    等,真的需要了解,shell 脚本是为了更加方便的管理你的服务器,也很重要

  • 一定要会软件管理员

    因为玩 linux 经常会面临资金安装驱动程序或则是安全额外软件的时候,因此 Tarball、RPM、DPKG 等 软件管理员的安装方式对你来说就比较重要了

  • 网络基础的建立

    上面的都通过了的话,网络基础就是下一阶段要接触的,这部分包含了

    • ip 概念
    • 路由概念等

    如果连网络都通过了的话,那么网站的架设对你来说就很简单了。

# 发生问题怎么处理?

  1. 在自己的主机/网络数据库上查询 How-To 或 FAQ(帮助)

一般来说官方文档已经就给出了大部分知识和帮助了,下面列出一些有用的网站参考下:

  • Linux 自身的文件数据:/usr/share/doc
  • CLDP 中文文件计划:http://www.linux.org.cn/CLDP (笔者未打开)
  • 鸟哥网站:http://linux.vbird.org/Searching.php (有详细的教程文档)
  1. 注意信息输出,自行解决疑难杂症

有报错信息时,注意仔细阅读报错信息,网络服务的问题时,可以在 /var/log 这个目录下去查阅下 log file, 这样基本上就可以解决大部分的问题了 3. 网络上搜索与提问 4. Netman 兄弟给的建议

  • 程序有问题时,建议结束该程序,不要动不动就直接关机或重启
  • 有系统的设计文件目录:不要随便到处保存文件,后续有可能找不到或则忘记是做什么的
  • 养成一个做记录的习惯:尤其是发现问题的时候,把错误信息和引发状态以及解决方法都记录清楚
  • 学写脚本的确没有设置 server 那么好玩,关键是会偷,偷了会改,改了会变,变则通