zoukankan      html  css  js  c++  java
  • Linux入门第一天——基本概述与环境搭建

     一、Linux简介

       1.历史

      Linux内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

      Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。

      Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

      【更新】在线练习Linux命令https://bellard.org/jslinux/

      必不可少的鸟哥的私房菜http://linux.vbird.org/

    链接:http://pan.baidu.com/s/1nv65xgd 密码:bvw3

      2.版本

      Linux分为内核版本和发行版本:

        Linux内核是计算机操作系统的核心。所有内核版本均可在其官网找到:https://www.kernel.org/

            2.x之前的版本各内核版本号的意义(r.x.y:r大版本号;x次版本号,偶数稳定奇数开发版,y修订次数),3之后的版本已经舍弃此命名方式,改为主线版本和长期版本,具体请参见如下鸟哥私房菜的介绍:

    ●奇数、偶数版本分类
    
    
    在2.6.x版本以前,托瓦茨将核心的发展趋势分为两股,并根据这两股不同的发展分别给予不同的核心编号,那就是:
    
      ●主、次版本为奇数:发展中版本(development)
    
      如2.5.xx,这种核心版本主要用在测试与发展新功能,所以通常这种版本仅有核心工程开发师才会使用。如果有新增的核心程序代码,会加到这种版本当中。等到众多工程师测试没问题后,才加入下一版的稳定核心中。
    
      ● 主、次版本为偶数:稳定版本(stable)
    
      如2.6.xx,等到核心功能发展成熟后会加到这类的版本中,主要用在一般家用电脑以及企业版本中。 重点在于提供使用者一个相对稳定的Linux作业环境平台。
    
     
    
    至于释出版本则是在主、次版本架构不变的情况下,新增的功能累计到一定的程度后所新释出的核心版本。而由于Linux核心是使用GPL的授权,因此大家都能够进行核心程序代码的修改。因此,如果你有针对某个版本的核心修改过部分的程序代码,那么那个被修改过的新的核心版本就可以加上所谓的修改版本了。
    
     
    
    ● 主线版本、长期维护版本(longterm version)
    
      不过,这种奇数、偶数的编号格式在3.0推出之后就失效了。从3.0版开始,核心主要依据主线版本(MainLine)来开发,开发完毕后会往下一个主线版本进行。例如3.10就是在3.9的架构下继续开发出来的新的主线版本。通常新一版的主线版本大约在2~3个月会被提出喔!之所以会有新的主线版本,是因为有加入新功能之故。现在(2015/04)最新的主线版本已经来到4.0版了喔!好快!
    
      而旧的版本在新的主线版本出现之后,会有两种机制来处理,一种机制为结束开发(End of Live, EOL),亦即该程序代码已经结束,不会有继续维护的状态。另外一种机制为保持该版本的持续维护,亦即为长期维护版本(Longterm),这个版本的程序代码会被持续维护,若程序代码有Bug或其他问题,核心维护者会持续进行程序代码的更新维护喔!
    
      所以咯,如果你想要使用Linux核心来开发你的系统,那么当然要选择长期支援的版本才行!要判断你的Linux核心是否为长期支援的版本,可以使用[ uname -r]来查阅核心版本,然后对照下列链接来了解其对应值喔!
    View Code

        Linux发行版包括了内核与一些其他与文件相关的操作,用户管理系统,和软件包管理器等一系列软件。各发行版本可参见 https://linux.cn/share/distro/

       内核版本的CentOS(服务器领域Redhat是老大,CentOS功能与Redhat几乎一样且不收费)

       CentOS镜像下载地址:http://www.centoscn.com/CentosSoft/iso/

               

        3.开源软件简介

             

                 使用的自由          研究的自由          散布及改良的自由

        4.应用领域

      企业服务器    嵌入式应用

        5.学习方法

      技术提问的艺术请参见:http://bbs.csdn.net/topics/390623576

        6.与Windows的不同

      > Linux严格区分大小写

      > Linux所有内容以文件形式保存,包括硬件

      > 不靠拓展名区分文件类型(依靠权限),有一些约定俗成的类型:

      > windows的程序无法直接在Linux中直接运行(防病毒)

        7.字符界面的优势

      - 占用系统资源少

      - 减少出错和被攻击的可能性

    二、系统的安装

      1.虚拟机的安装

      VMware虚拟PC软件:https://www.vmware.com/cn.html

      (此处不选择在官网下,请自行寻找网盘等资源下载安装,此处安装12版本)

      开启虚拟化方法:开启虚拟化共功能方法:开机--》BIOS--》Configuration--》Intel Virtualization Technology --enable 回车

      若出现卸载不干净无法完全卸载的情况,请使用卸载工具:http://www.linuxidc.com/Linux/2012-11/73744.htm

      启动时请尽量通过右键使用管理员身份运行!

        2.虚拟机的使用

      >  新建虚拟机

      典型和高级相差也不大,作为入门,我们选择典型

      > 选择镜像

    //这里如果直接选择CentOS的镜像将会执行简易安装(过程全自动化),也就失去了学习的意义,

      并且也不符合学习的环境要求,这里暂且选择稍后安装操作系统,先安装一个空白的。

      > 选择安装系统类型

    //当然,这里是Linux了,版本选择CentOS

      > 自定义名称和位置

      > 分配空间

    //并不是分配多少个G就马上占用多少个G,而是实际使用多少再用多少

      > 查看虚拟机情况

      这样,虚拟机就新建完成了!

    //当然,这还只是一个空壳

      2.虚拟机的硬件配置

      > 双击上图设备中任意选项或工具栏点击虚拟机->设置打开设置页

      - 内存不能小于628M,这里就使用默认的1G

      - “处理器数量”表示虚拟机使用的CPU个数,一般是1个;

       “每个处理器的核心数量”表示虚拟机使用的CPU是几核的,总共就分配了1G,可以采用默认的一CPU一核

      虚拟化Intel将真实CPU映射到虚拟机处请谨慎选择,选择后将大幅占用系统资源,但虚拟机性能也大幅提升,适用于大量数据运算!

      

      //核心数可以通过属性,设备管理器查看到:(所以这里选择4核)——WIN+X打开设备管理器

         - 硬盘可以重新分配调整

        - CD/DVD这个已连接的勾请勾上,连接当然选择ISO的镜像,

        ISO阿里镜像下载地址https://mirrors.aliyun.com/

       镜像使用如下:

      网络的设置

    //  设置桥接时配置简单,但是会占用系统的IP,不光可以和真实机通信,还可以和其它网络通信,这里选择这张模式方便做实验(如果有时候发现桥接还是上不了网时,可以勾选下面的复制物理网络连接状态来copy网卡信息)

      选择NAT可以上网——比较稳定,便于配置静态IP

      选择 主机模式将不能上网      

      更多网络配置请参见 :https://www.cnblogs.com/ggjucheng/archive/2012/08/19/2646007.html

                :http://www.cnblogs.com/ct20150811/p/5143711.html

      其它配置暂时不进行设置

      开启的时候出现如下错误信息,参考http://www.jb51.net/article/97386.htm

      3.其它小技巧

      > 设置快照

        各版本大同小异,这里以12pro版本为例,打开虚拟机,快照,拍摄快照

        //这样,任何时候如果虚拟机崩溃了,可以转到此快照版本

      >  克隆

      打开虚拟机,管理,克隆。

      链接克隆(原始克隆不能删除)    完整克隆

      4.系统分区

      > 分区类型

      //逻辑分区只能从5开始

        > 格式化

        格式化的目的是写入文件系统

      写入文件系统把整个分区分成了等大小的数据块,在分区列表里建立文件信息表格(I node, 权限, 修改时间)。而写入文件系统前必须清除数据,以前认为格式化就是单纯的清空数据,现在知道清空只是格式化为达到写入文件系统必做的一件事。

         > 硬件设备文件名

          Linux中一切皆文件

      > 挂载(类似分区)

      分区请不要手动输入/boot、swap等,请下拉等通过选择下拉来选取!

    /, /boot, /home, swap四个分区

        目录称做挂载点

     

    Swap分区,即交换区,系统在物理内存不够时,与Swap进行交换。 
    其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。

    Swap分区参考阅读https://www.cnblogs.com/kerrycode/p/5246383.htm

    以上为早期机器的版本(swap应该用不到为最好!),真实的swap的使用与分区参见鸟哥私房菜(第四版)第7章介绍!

       5.Linux系统的安装

        实际安装时时一定要修改BIOS的启动顺序的,第二次再改回硬盘启动,虚拟机不需要是因为虚拟机是智能的,会智能判断与修改

        注意一定要鼠标点进去才能操作虚拟机(Ctrl+Alt调出鼠标)

      下拉选择——简体中文

      时区选择——亚洲上海

      手动分区(比如这里可以选择 /home)

      再给boot创建一个标准分区用于启动

      给出ubuntu安装的推荐分区:

      

      陆续添加分区后(文件系统选择xfs就没毛病的):

      点击软件包选择,来到安装选择界面

      网络和主机中可以直接开启和设置!!

      

       一般情况下是选择最小化安装(右边可以把开发工具进行勾选),但这里为了学习被迫选择基本服务器安装,这样基本的功能会带有

      最小安装注意需要自己安装一些东西,例如bash-completion——安装完成之后,注销终端,重新登录即可。

    yum install -y bash-completion

      例如vim

    yum install -y vim*

       其他最小化安装之后需要的一些操作,参考http://blog.csdn.net/f_srion/article/details/54910943

      这样安装后重启进行登陆,就来到了CentOS界面了!

      安装日志

      脚本之家的安装图文教程http://www.jb51.net/article/97386.htm

    三、xShell的安装使用与常见问题

      常见问题与xshell连接相关已,抽取为随笔,参见:http://www.cnblogs.com/jiangbei/p/8041713.html

    四、用户添加

      一般地,不要使用root来登录(除非一些特殊情况 ),就像老大一般是不所有事都亲力亲为的,一般的都交给小弟,特殊情况才需要老大出马。

      完整用户管理,参加用户管理相关随笔!

      所以我们有必要使用一般用户来使用

      

      授权:

        http://www.linuxidc.com/Linux/2016-11/137549.htm

      切换用户:

    使用su命令实现用户属性的转换
    普通用户切换到root用户:方法有多重   1)su->回车->输入root密码
                                           2)su -root->回车->输入root密码
    
    root用户切换到普通用户: su    "普通用户名"

      

    cc密码为:c20171124#
    #请不要使用过于简单的密码

    【更新】:Linux单用户模式修改root密码:http://www.runoob.com/linux/linux-forget-password.html

  • 相关阅读:
    python通过openpyxl操作excel
    python实现将字符串中以大写字母开头的单词前面添加“_”下划线
    python unittest setUp 和 setUpClass 区别
    python selenium 定制启动Chrome的选项注意事项(十九)
    Python 回调函数
    python 面试题
    python 常用的模块
    MySQL通过分组计算百分比
    mybatis 动态sql 的笔记 以及标签
    resultMap自定义映射---8.3.1. 解决列名(表中的字段名称)和实体类中的属性名不一致
  • 原文地址:https://www.cnblogs.com/jiangbei/p/7248054.html
Copyright © 2011-2022 走看看