Linux小白入门--适合初学者


***【在线视频教程】***

好文章,来自【福优学苑@音视频+流媒体】

为啥我们要学习Linux

    技术的价值不在于这个技术有多么高超,而在于技术本身给我们带来什么价值,所以很多时候我们学习一个技术,不能盲目学,是为了使用这个技术,知道这个技术的使用场景,知道这个技术带来的便利性,我们才决定要深入学习。


那我们干嘛要学习Linux?Linux能给我们带来什么价值呢,这样我们的学习才不会麻木。


Linux给我的感觉就是稳定,免费,性能好。


    稳定,体现在哪里?我们使用PC机,安装的操作系统一般是windows xp,windows 7等,这些操作系统,如果你开一个星期,你的机器就要重启了,因为电脑会变的很慢,但是如果你用Linux,一般可以撑一个月不用重启,当前如果机器比较繁忙就例外了。这里我说的是个人PC,而很多互联网公司使用的是廉价的PC Server,目前价格是每台2-3W,PC Server和个人PC本质上没什么区别,一样的x86处理器架构,一样都是复杂指令集,只是PC Server的稳定性比个人PC高很多,性能和内存也比较高,但是代价就是开机比较久,一般要5分钟,声音也特别吵,家用买PC Server简直没法用。一般PC Server安装Linux可以维持一年不重启。


    免费,这个大家应该清楚,windows操作系统不是免费的,尤其是对企业来说,如果每台服务器都安装windows,那企业要交的操作系统的费用很可观,尤其对互联网公司来说,拥有众多的PC Server,分布全国各地,要交windows的保护费,简直是要命。而在中国,一般企业都是象征性买十几个license,交点保护费也过关了(windows有后门,不找家用电脑麻烦,企业会被找麻烦),但是如果企业比较大,效益好,机器多,十几个license也不够保护费,所以使用免费的Linux是不错的选择。


    性能上,Linux做了很多优化,例如Linux会把空闲的内存缓存文件目录,文件内容,能不用虚拟内存就不用,但是windows一定会用虚拟内存,即使内存足够。


    软件上,Linux有庞大的开源软件支持,web服务器,缓存服务器,数据库服务器,这些都是免费的选择,都是稳定成熟的产品。


    然而本人觉得Linux在服务器领域确实很强大,但是在个人电脑上,我始终觉得不好用,目前还是windows好用,即使是目前个人桌面做的最好的Linux,Ubuntu也不如windows,windows拥有良好的用户体验,操作便利,个人软件支持(例如网银)。


1.背景介绍


1). linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到 业界的认可,目前很多企业级的项目都会部署到Linux/unix系统上。


2.) 常见的操作系统(win7、IOS、Android、Mac)


image.png


2.linux的应用领域


    2.1  个人桌面领域的应用 此领域是传统linux应用最薄弱的环节,传统linux由于界面简单、操作复杂、应用软件少的缺 点,一直被windows所压制,但近些年来随着ubuntu、fedora [fɪˈdɔ:rə] 等优秀桌面环境的兴 起,同时各大硬件厂商对其支持的加大,linux在个人桌面领域的占有率在逐渐的提高。


    2.2  服务器领域 linux在服务器领域的应用是最强的。 linux免费、稳定、高效等特点在这里得到了很好的体现,近些年来linux服务器市场得到了飞 速的提升,尤其在一些高端领域尤为广泛。

    2.3   嵌入式领域

近些年来linux在嵌入式领域的应用得到了飞速的提高

linux运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小 可以达到几百KB等特点,使其近些年来在嵌入式领域的应用得到非常大的提高

主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、智能家居、智能硬件 等都是其应用领域。以后再物联网中应用会更加广泛。


3. linux的创始人


image.png


4.linux主要发行的版本


 .Linux主要的发行版: Ubuntu(乌班图)、RedHat(红帽)、CentOS、Debain[蝶变]、Fedora、SuSE、 OpenSUSE


5.Linux和Unix的关系-unix是怎么来的

 

image.png



 


linux和window比较

image.png



 


6.环境准备


6.1.可以直接使用云服务器(阿里云,腾讯云,AWS云等),省去各种麻烦步骤


6.2.可以直接使用装virtual machine,

image.png


    CentOS下载地址:http://mirrors.163.com/centos/7/isos/ 


   6.2.1) 创建虚拟机

   6.2.2) 开始安装系统(CentOS7.3)


 


7.linux的目录介绍


    linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此 目录下再创建其他的目录。 深刻理解linux树状文件目录是非常重要的,这里我给大家说明一下


  1):/bin   [***]   (/usr/bin 、 /usr/local/bin) • 是Binary的缩写, 这个目录存放着最经常使用的命令


  2): /sbin (/usr/sbin 、 /usr/local/sbin) • s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序

  3):/home [***] • 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般 该目录名是以用户的账号命名的。

  4):/root [***] • 该目录为系统管理员,也称作超级权限者的用户主目录。


  5): /lib • 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几 乎所有的应用程序都需要用到这些共享库。

  6):/lost+found • 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  7):/etc [***] • 所有的系统管理所需要的配置文件和子目录 my.conf 

  8):/usr  [***] • 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与 windows下的program files目录


  9):/boot [***] • 存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件

10):/srv • service缩写,该目录存放一些服务启动之后需要提取的数据。


11):/sys • 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs

 12):tmp • 这个目录是用来存放一些临时文件的


 13):/dev • 类似于windows的设备管理器,把所有的硬件用文件的形式存储。

14):/media [***] • linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux 会把识别的设备挂载到这个目录下。

15):/mnt [***] • 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂 载在/mnt/上,然后进入该目录就可以查看里的内容了。

16):/opt     • 这是给主机额外安装软件所摆放的目录。如安装ORACLE数据库就可放到该目录下。 默认为空。


 17):/usr/local [***] • 这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序


18):/var [***] • 这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。 包括各种日志文件


 


8远程登录


 为什么需要远程登录Linux

1) linux服务器是开发小组共享的.


2) 正式上线的项目是运行在公网的.


3) 因此程序员需要远程登录到centos进行项目管理或者开发.


4) 画出简单的网络拓扑示意图(帮助理解)

5) 远程登录客户端有 Xshell5, Xftp5 , 我们学习使用 Xshell5 和 Xftp , 其它的 远程工具大同小异.


远程登录Linux-Xshell5

介绍:

说明: Xshell 是目前最好的远程登录到Linux操作的软件,流畅的速度并且完 美解决了中文乱码的问题, 是目前程序员首选的软件。

Xshell [1] 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。

Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好 的达到远程控制终端的目的

 


选择一个Linux的发行版本

    学习Linux的第一件事情,就是要选择一个Linux的发行版本,在虚拟机或者物理机安装都可以了,初学者最好用虚拟机。初学Linux的第一件事情,就是看到众多的Linux分支而头晕,这到底有什么区别呢,为啥Linux不是只有一个版本,而是有很多个版本呢?其实是这样的,Linux其实是一个操作系统内核,但是一个操作系统除了内核,还有用户操作界面,应用软件,例如我们使用的windows,也有windows内核,出了windows内核,还有windows的图形界面,windows的office等应用软件。而Linux是一个免费开源的内核,每个厂家都可以去Linux内核官网http://www.kernel.org/下载内核,然后去订制自己的图形界面和应用软件,所以会出现很多Linux分支,但是内核都是一样的。


    目前Linux只要有几个分支:redhat,ubuntu,debian,suse。很多其他linux发行版本是这几个分支的衍生版本,例如国内的红旗,centos都是redhat的衍生版本。


    在服务器领域,个人觉得redhat现在做的最好,桌面领域是ubuntu最好,而我们学习Linux的最大目的是学习Linux的服务器领域,所以我推荐redhat版本。


    学校里的linux课本都比较陈旧,大部分是Redhat Linux 9的教程,但是Redhat Linux 9由于硬盘驱动关系,是无法在现在的物理机上安装的,包括本人,也受过大学课本的误导(坑爹的教科书)。


    Redhat Linux 9之后,redhat公司不在维护Redhat的开源版本,于是直接发行他的商业版本Redhat Enterprise Linux 2,目前已经有Redhat Enterprise Linux 6,但是6的稳定性还不清楚,个人推荐使用Redhat Enterprise Linux 5,请自行去网上下载Redhat Enterprise Linux 5。


    Redhat Enterprise Linux虽然说是商业版本,但是只要你安装的时候,确定你不输入序列号,你还是可以正常使用,只是不能在redhat官网更新软件而已,然后,这里就要提下CentOS了,由于Redhat Enterprise Linux是商业版本,于是CentOS这个组织就和redhat公司买了源代码,并重新编译,免费开放出来,免费让用户可以在centos官网更新软件,包括使用Redhat Enterprise Linux的系统也可以在centos的官网更新软件。大家也可能有疑问,既然centos和redhat都是一模一样,除了名字不一样,为啥不选择centos。其实没任何区别,Centos 5.5就和Redhat Enterprise Linux 5.5是一模一样的,你可以选择centos去安装,去拿redhat的教程学习。


学习Linux的前言

选择了Linux发行版本,你就会想如何开始学习Linux了。


1.当然是安装Linux了,请上网自行google或者百度,下载redhat linux 5的安装光盘,然后再安装vmware,自行安装


2.多动手,多敲命令。只看书,不实践,一切都是浮云。默认安装redhat 5,启动redhat 5是带有图形界面的,但是图形界面最好少用,对学习Linux不利,一定要尽量用字符界面,慢慢习惯。而工作中,使用Linux,使用图形界面的概率几乎是0。所以你去学习图形界面的技术价值,几乎为0,性价比不高。


如何学习Linux

1.学习Linux的第一件事情是学习Linux基础,这方面我推荐鸟哥的私房菜的Linux 基础文件,里面讲解了Linux的文件,磁盘,网络,进程等,看懂了这本书,并且一个个命令去实践,你就开始入门Linux了。


2.学习Linux的第二事情就是用Linux。前面说过,Linux的最大用处是服务器领域,所以你要学的第二步是学会架设服务器,这方面我推荐鸟哥的私房菜Linux 架站文件,这本书介绍了很多服务器的假设,没有必要把全部服务器的架设步骤都看完。个人觉得可以先看完架设服务器的基础,然后再看看如何搭建web服务器,ftp服务器,telnet服务器,ssh服务器。学会这几个服务器的搭建,管理,再根据个人兴趣和需要选择其他服务器的搭建。


3.进阶——编程。到了这里,你只是会用Linux而已,或许学会少许shell编程,能够学会简单的shell,编写脚本。但是你要进一步熟悉Linux,就要学会Linux编程。例如,Linux的管道是怎么做,Linux的deamon进程是如何实现的,为什么nohub可以让一个进程可以以daemon形式运行,即使关闭了shell也不会让这个进程也被关闭。这些,你学会了Linux环境编程,你就豁然开朗了。这里我推荐 《UNIX环境高级编程》,此书是Linux/Unix编程的圣经,堪称惊世之作。


4.到了这里,你就可以对Linux/Unix有所了解,已经有一定的基础了,接下来你就要根据你的兴趣去选择你感兴趣的方向去学习,或许要根据你的工作方向去学习(很多时候工作不是自己的兴趣),师父领进门,修行在个人,以上的学习步骤是我能想到的最简化的步骤,学习的东西越多,只会让初学者更迷茫。


 


    备注:万事开头难,尤其是刚接触Linux的人,会感觉难以入手,如果大家需要的话,我后续会写文章,从Linux安装到简单使用,以step by step的形式贴出来,让大家少走弯路,增加学习Linux的信心,以后大家开始学习鸟哥的私房菜——基础文件篇,就事半功倍了。


好文章,来自【福优学苑@音视频+流媒体】
***【在线视频教程】***