Linux入门

转载 2015年11月18日 17:30:00

If you can't explain it simply, you don't understand it well enough

问题1: Winows有注册表,为什么Linux没有注册表

注册表是Windows核心组件,对整个系统进行配置。Linux是以整个文件系统作为"注册表“,Windows注册表的树形结构,可以粗略的对应Linux文件系统的树形结构。

Linux的配置文件就相当于注册表的键,或者说Linux采用是的分布式的注册表。

那么Linux为什么要这样设计呢?因为Linux是所谓的网络操作系统,所以单台电脑不是Linux的界限,如果是多台电脑组成的系统,那么分布式的管理就有着巨大的优势。

例如:一个包含配置文件的磁盘的损害不会让整个系统瘫痪,而可能只是让部分功能失效。

问题2:Windows有完善的图形界面,而Linux为什么要学命令行。

首先,命令行绝对要比图形界面先进的多。命令行是程序员的第一界面,而图形界面是普通用户的第一界面。

也许很多人会有不同意见,其实我们再向前想一步,就很清楚了。

命令行的下一步演化是什么? 很简单就是语音控制,就是把人类自然语言转化为命令

图形界面的的下一步演化是什么? 是姿势控制。从目前的Windows系统来说一共只有3种姿势, 单击,双击,拖放。而更先进的IPad有拨动,画圈等。

姿势控制很简单,便于用户上手,语音控制很复杂,但是控制精度很高。

作为程序员我们要求电脑完成的工作要比普通用户复杂的多,所以使用命令行会非常高效。

退一步讲,图形界面本质也是命令行,只不过将姿势翻译成命令执行而已。

程序员编程的代码也都是“命令行”,一条一条的指令而已。

总之,只要能打破对Linux命令行的恐惧感,接下来的事就会非常容易了。这个命令行绝对不是你简单想像中的命令行,它是非常智能化的。

问题3:Linux有那么多目录,那么多命令,怎么记得住呢?

首先,Linux目录是Linux系统最灵魂的东西,所有的硬件都可以被抽象为文件,从而实现网络化。(Internet只不过是Unix/Linux的进一步的演化而已)

所以只要掌握了Linux目录的规律,在理解的基础上记忆就可以容易的多。另外Linux的命令行有智能化功能,可以让你少打95%以上的字符来完成命令。

绝非你所想象的傻乎乎的敲一大堆命令,那些用Linux大牛都是绝顶聪明的人,怎么可能让自己辛苦呢?

问题4:Linux的文件夹结构看上去很复杂,怎么理解呢?

我们这里假设,我们就是设计者,如果我们设计一个文件系统,我们会如何去做呢?

我们需要一个起点, 这个起点就叫根目录,用“/”来表示,然后我们需要启动Linux,那么我们就会把所有核心的启动文件(包括Linux核心本身)都放到一个“/boot"目录下。

当系统启动后,我们需要执行一些基本命令在操作系统,这些命令都会放到“/bin"目录下。然后这些命令可能会用到一些库,这些库就被放到“/lib"下面,而这些库可能会会用到一些设备驱动文件,

那么这些驱动文件就会放到“/dev"目录下。

/:根目录

/boot:系统启动和内核

/bin :系统基本命令 (bin是binary的缩写)

/lib : 系统库(不能直接运行的代码)(lib是libary的缩写)

/dev : 设备驱动 (dev是device的缩写)

到目前为止只用5个目录,很简单吧。

问题5: 什么是"/usr" ,"/etc"和“/var“

当用户启动系统以后,要做一些更加复杂的工作,这时候就会涉及到一个叫“/usr",这个情况稍微有些复杂,是一个难点。不过也很容易解释清楚。

早期的unix系统都有很多块硬盘,当时硬盘的容量都很小, 所以往往一个硬盘只放一个目录,比如“/boot"可以放在一个单独的"boot"盘上,上面提到的5个目录,是系统运行必不可少的。

而当系统启动以后,我们需要其他一些用于具体工作的程序时,我们就会加载一个“/usr"目录,上面放重要的运行程序。

容易引起疑惑的是"usr"这个名字, 在历史上,原来这个确实是user的缩写,不过现在和user没有任何关系了, 你可以把它看成是"universal software resource"的缩写。

这个“/usr"有点类似Windows里面的Program Files。

因此 /bin 和 /usr/bin的区别,就是 /bin里面的程序更加核心

这时候,很多人会有疑问, 我们记住哪些命令在/bin 还是在/usr/bin呢?

放心,由于所有的bin目录都会登记到系统变量PATH里面, 因此无论你在任何当前目录中,只要输入命令文件的名称,系统都会帮你找到这个命令并运行。

要点:

1,/usr上面一般都是只读文件,数据文件和配置文件不放在上面(放到哪里,后面会讲)

2,没有“/usr",linux系统也能正常运行

2,/usr可以被多台电脑共享(这里体现Linux系统的网络性)

由于/usr只放只读文件,那么配置文件和数据文件放哪里呢?这里就出现了2个新的目录“/etc"和“/var"

这里容易初学者迷惑的就是这个2个目录的名字。

在历史上 "etc“是 “etcetera”,中文意为“其他”, 现在这个和“其他”没有任何关系, 就是专门存放配置文件的地方,可以理解为“editable text configuration"的缩写

比如 /etc/mysql就是放mysql的配置文件 /ect/apache2/就是apache2的配置文件

在历史上“var" 是 “variable",中文意为“变动”,现在主要用来存放log,lock等文件。

例如 /var/mysql就是用来存放mysql的log

问题6:用户自己产生的数据放到哪里?

当我们运行程序后,会产生很多自己的成果,这些成果放哪里呢? 这里就出现了一个“/home"目录,不过你不能直接放到“/home"目录下, 因为Linux是个多用户操作系统, 所以系统会有一个以用户的名字命名的目录。

例如:用户是jack ,那么目录就是/home/jack ,这个目录也可以用“~“来表示。

至此,已经基本了解了Linux的组成。


Linux入门基础---提供看懂linux书籍的能力,实习自学

很多人想学linux,可是买了书却会有些难入手,题主最近也在学习linux,写下了这篇文章,希望能对想学linux的你有所帮助。 很讨厌看文章还要做选择,作为一篇面向初学者的文章,本篇文章尽量做到不让...
  • sjj_1999
  • sjj_1999
  • 2017年02月15日 22:02
  • 1011

Linux入门-选择自己的发行版

选择自己的发行版是Linux入门遇到的第一个纠结,很多人都会问用什么发型版本最好?这个问题,这一直都是个问题: 1。如果是初次接触Linux的建议就选择ubuntu的就OK了,因为使用ubunt...
  • bestboyxie
  • bestboyxie
  • 2016年09月24日 10:47
  • 378

Linux基础入门

1 linux 概述 1.1 linux 结构 1.1.1 linux的四部分     可以把Linux系统看作由四部分构成:内核、用户界面、文件结构和实用工具   ...
  • PZH_element
  • PZH_element
  • 2017年03月15日 20:13
  • 1180

《linux从入门到精通》刘忆智 (我再次说, 这类书,入门是可以的, 精通则完全是忽悠骗人的)

在学校的时候, 几乎没怎么跟linux打过交道, 这不, 工作了, 谁都要摸摸linux啊。            有时候, 买一些书, 可以节省自己很多时间, 我也知道像《linux从入门到精通》这...
  • stpeace
  • stpeace
  • 2015年05月13日 23:17
  • 5338

linux驱动编程入门---hello,kernel

学习linux内核模块编程,第一个小程序当然是hello,kernel!了,这应当算是一个惯例了。以前大三的时候在实验课上做过模块编程,记得当时还是许师兄带我们的实验,不过现在又忘了。晚上试了试,很快...
  • shanzhizi
  • shanzhizi
  • 2013年02月28日 16:30
  • 2701

[笔记]我的Linux入门之路 - 01.Ubuntu安装

最近学机器学习,感觉matlab/octave用的人不多,想改用python。于是开始学python,辛辛苦苦学会了自己装环境和装第三方库,结果发现scipy库竟然没有win版本!于是想着那我得装个l...
  • XieNaoban
  • XieNaoban
  • 2017年01月25日 23:27
  • 638

Linux入门——适合初学者

原文出处:http://www.cnblogs.com/ggjucheng/archive/2011/12/16/2290158.html 学习Linux也有一阵子了,这过程中磕磕撞撞的,遇...
  • lipslive
  • lipslive
  • 2015年03月26日 21:20
  • 3982

《linux从入门到精通》读书笔记——1

第一章  linux基础
  • u011779269
  • u011779269
  • 2014年10月21日 20:15
  • 653

Linux基础知识学习

一、Linux的磁盘分区及目录     Linux的配置是通过修改配置文件来完成。       1.1、Linux磁盘分区             Linux可以将磁盘分为多个分区,每个分区可以被当做...
  • ye_wei_yang
  • ye_wei_yang
  • 2016年10月10日 21:22
  • 3947

linux从入门到高手的学习书籍整理

1、初级篇: 熟练使用命令、熟悉Shell编程、能配置简单的服务,清楚各类服务相关的配置文件的位置,  能看懂并可修改系统提供的配置脚本(/etc/*.*) 《鸟哥的私房菜基础篇、高级篇》  ...
  • CareChere
  • CareChere
  • 2016年07月24日 17:02
  • 5093
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux入门
举报原因:
原因补充:

(最多只允许输入30个字)