zoukankan      html  css  js  c++  java
  • CentOS基本操作

    Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
    严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。

    Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。

    Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。

    目前,个人电脑安装的操作系统大多是Windows系统,因此,在学习Linux系统时,可以考虑在电脑上安装一款虚拟机,然后在虚拟机上搭建Linux系统。

    在这里,我们以VMware虚拟机为例,在VMware虚拟机上安装CentOS系统。

    一、VMware安装

    VMware本身是一家诞生于美国的公司的名称,VMware(威睿) 是全球桌面到数据中心虚拟化解决方案的领导厂商。VMware公司成立于1998,总部在美国加州帕洛阿尔托(Palo Alto)。

    在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比,VMWare采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。

    VMWare是真正“同时”运行,多个操作系统在主系统的平台上,就象标准Windows应用程序那样切换。而且每个操作系统你都可以进行虚拟的分区、配置而不影响真实硬盘的数据,通过网卡将几台虚拟机用网卡连接为一个局域网,极其方便。安装在VMware上的操作系统在性能上比直接安装在硬盘上的系统低不少,因此,比较适合学习和测试。

    二、CentOS安装

    CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。

    CentOS 是RHEL(Red Hat Enterprise Linux)源代码再编译的产物,而且在RHEL的基础上修正了不少已知的 Bug ,相对于其他 Linux 发行版,其稳定性值得信赖。

    CentOS在2014初,宣布加入Red Hat。
    CentOS 加入红帽后不变的是:
    1. CentOS 继续不收费
    2. 保持赞助内容驱动的网络中心不变
    3. Bug、Issue 和紧急事件处理策略不变
    4. Red Hat Enterprise Linux 和 CentOS 防火墙也依然存在
    变化的是:
    1. 我们是为红帽工作,不是为 RHEL
    2. 红帽提供构建系统和初始内容分发资源的赞助
    3. 一些开发的资源包括源码的获取将更加容易
    4. 避免了原来和红帽上一些法律的问题

    CentOS,也叫做社区企业操作系统,是企业Linux发行版领头羊Red Hat Enterprise Linux(以下称之为RHEL)的再编译版本。RHEL是很多企业采用的Linux发行版本,但是如果想得到RedHat的服务与技术支持,用户必须向Red Hat付费才可以。CentOS的开发者们使用Red Hat Linux的源代码创造了一个和RHEL近乎相同的Linux。但是一切和RedHat有关的商标都被去除了,因为RedHat不允许他们这样做。CentOS是免费的,你可以使用它像使用RHEL一样去构筑企业级的Linux系统环境,但不需要向RedHat付任何的费用。CentOS的技术支持主要通过社区的官方邮件列表、论坛和聊天室。

    在VMware上安装CentOS7,安装过程中,可以为root用户设置密码,还可以添加自定义的用户。

    安装好CentOS后,可以在VMware上启动CentOS,选择一个用户登录(如root或自定义用户)。

    总的来说,Linux系统的启动过程大致可以分为5个阶段:

    • 内核的引导。
    • 运行 init。
    • 系统初始化。
    • 建立终端 。
    • 用户登录系统。

    我们分析下上面的启动过程。

    内核引导

    当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。

    操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。

    运行init

    init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。

    init 程序首先是需要读取配置文件 /etc/inittab。

    运行级别

    许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。

    init进程的一大任务,就是去运行这些开机启动的程序。

    但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。

    Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。也就是说,启动时根据"运行级别",确定要运行哪些程序。

    Linux系统有7个运行级别(runlevel):

    • 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
    • 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
    • 运行级别2:多用户状态(没有NFS)
    • 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
    • 运行级别4:系统未使用,保留
    • 运行级别5:X11控制台,登陆后进入图形GUI模式
    • 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

    系统初始化

    在init的配置文件中有这么一行: si::sysinit:/etc/rc.d/rc.sysinit 它调用执行了/etc/rc.d/rc.sysinit,而rc.sysinit是一个bash shell的脚本,它主要是完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本。

    它主要完成的工作有:激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务。

    真正的rc启动脚本实际上都是放在/etc/rc.d/init.d/目录下。

    建立终端

    rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。

    init接下来会打开6个终端,以便用户登录系统。

    在inittab中的以下6行就是定义了6个终端:

    1:2345:respawn:/sbin/mingetty tty1
    2:2345:respawn:/sbin/mingetty tty2
    3:2345:respawn:/sbin/mingetty tty3
    4:2345:respawn:/sbin/mingetty tty4
    5:2345:respawn:/sbin/mingetty tty5
    6:2345:respawn:/sbin/mingetty tty6

    从上面可以看出在2、3、4、5的运行级别中都将以respawn方式运行mingetty程序,mingetty程序能打开终端、设置模式。

    同时它会显示一个文本登录界面,这个界面就是我们经常看到的登录界面,在这个登录界面中会提示用户输入用户名,而用户输入的用户将作为参数传给login程序来验证用户的身份。

    用户登录系统

    一般来说,用户的登录方式有三种:

    • (1)命令行登录
    • (2)ssh登录
    • (3)图形界面登录

    对于运行级别为5的图形方式用户来说,他们的登录是通过一个图形化的登录界面。登录成功后可以直接进入 KDE、Gnome 等窗口管理器。

    而本文主要讲的还是文本方式登录的情况:当我们看到mingetty的登录界面时,我们就可以输入用户名和密码来登录系统了。

    Linux 的账号验证程序是 login,login 会接收 mingetty 传来的用户名作为用户名参数。

    然后 login 会对用户名进行分析:如果用户名不是 root,且存在 /etc/nologin 文件,login 将输出 nologin 文件的内容,然后退出。

    这通常用来系统维护时防止非root用户登录。只有/etc/securetty中登记了的终端才允许 root 用户登录,如果不存在这个文件,则 root 用户可以在任何终端上登录。

    /etc/usertty文件用于对用户作出附加访问限制,如果不存在这个文件,则没有其他限制。

    图形模式与文字模式的切换方式

    Linux预设提供了六个命令窗口终端机让我们来登录。

    默认我们登录的就是第一个窗口,也就是tty1,这个六个窗口分别为tty1,tty2 … tty6,你可以按下Ctrl + Alt + F1 ~ F6 来切换它们。

    如果你安装了图形界面,默认情况下是进入图形界面的,此时你就可以按Ctrl + Alt + F1 ~ F6来进入其中一个命令窗口界面。

    当你进入命令窗口界面后再返回图形界面只要按下Ctrl + Alt + F7 就回来了。

    如果你用的vmware 虚拟机,命令窗口切换的快捷键为 Alt + Space + F1~F6. 如果你在图形界面下请按Alt + Shift + Ctrl + F1~F6 切换至命令窗口。

    登录系统后,可以打开命令行终端窗口,在里面输入命令“ cat /etc/os-release”,这时,终端窗口会显示CentOS系统的版本信息:

    接下来可以对CentOS进行操作了。

    三、CentOS7基本操作

     Linux一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的Linux服务器。

    这时我们就需要远程登录到Linux服务器来管理维护系统。

    Linux系统中是通过ssh服务实现的远程登录功能,默认ssh服务端口号为 22。

    Window系统上 Linux 远程登录客户端有SecureCRT, Putty, SSH Secure Shell等。由于Putty比较小巧简易,我们这里以Putty为例。

    在CentOS的操作里,我们分为这样几个方面来介绍:

    1.Linux 文件基本属性

    Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组。

    [root@localhost ~]# ls -l
    总用量 8
    -rw-------. 1 root root 1802 9月  22 18:47 anaconda-ks.cfg
    -rw-r--r--. 1 root root 1818 9月  22 10:50 initial-setup-ks.cfg
    drwxr-xr-x. 2 root root    6 9月  22 10:51 公共
    

     bin文件的第一个属性用"d"表示。"d"在Linux中代表该文件是一个目录文件。

    在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。

    • 当为[ d ]则是目录
    • 当为[ - ]则是文件;
    • 若是[ l ]则表示为链接文档(link file);
    • 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
    • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

    接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
    每个文件的属性由左边第一部分的10个字符来确定(如下图):

    从左至右用0-9这些数字来表示。

    第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。

    第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。

    其中,第1、4、7位表示读权限,如果用"r"字符表示,则有读权限,如果用"-"字符表示,则没有读权限;

    第2、5、8位表示写权限,如果用"w"字符表示,则有写权限,如果用"-"字符表示没有写权限;第3、6、9位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用"-"字符表示,则没有执行权限。

    Linux文件属主和属组

    对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。

    同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。

    文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。

    因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。

    对于 root 用户来说,一般情况下,文件的权限对其不起作用。

    Linux文件属性有两种设置方法,一种是数字,一种是符号。

    Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。

    [root@localhost test4]# touch test1
    [root@localhost test4]# ls -al test1
    -rw-r--r--. 1 root root 0 10月 12 15:46 test1
    [root@localhost test4]# chmod u=rwx,g=rx,o=r test1
    [root@localhost test4]# ls -al test1
    -rwxr-xr--. 1 root root 0 10月 12 15:46 test1
    [root@localhost test4]# chmod a-x test1
    [root@localhost test4]# ls -al test1
    -rw-r--r--. 1 root root 0 10月 12 15:46 test1 

    2.Linux 文件与目录管理

    Linux的目录结构为树状结构,最顶级的目录为根目录 /。

    其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。

    在开始本教程前我们需要先知道什么是绝对路径与相对路径。

      • 绝对路径:
        路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。
      • 相对路径:
        路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd ../man 这就是相对路径的写法了。

    处理目录的常用命令

    接下来我们就来看几个常见的处理目录的命令吧:

    • ls: 列出目录
    • cd:切换目录
    • pwd:显示目前的目录
    • mkdir:创建一个新的目录
    • rmdir:删除一个空的目录
    • cp: 复制文件或目录
    • rm: 移除文件或目录

    Linux 文件内容查看

    Linux系统中使用以下命令来查看文件的内容:

    • cat  由第一行开始显示文件内容
    • tac  从最后一行开始显示,可以看出 tac 是 cat 的倒著写!
    • nl   显示的时候,顺道输出行号!
    • more 一页一页的显示文件内容
    • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
    • head 只看头几行
    • tail 只看尾巴几行

    3.Linux 用户和用户组管理

    Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

    用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。

    每个用户账号都拥有一个惟一的用户名和各自的口令。

    用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

    实现用户账号的管理,要完成的工作主要有如下几个方面:

    • 用户账号的添加、删除与修改。
    • 用户口令的管理。
    • 用户组的管理。

    用户账号的管理工作主要涉及到用户账号的添加、修改和删除。

    添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的账号是被锁定的,无法使用。

    每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。

    用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

    完成用户管理的工作有许多种方法,但是每一种方法实际上都是对有关的系统文件进行修改。

    与用户和用户组相关的信息都存放在一些系统文件中,这些文件包括/etc/passwd, /etc/shadow, /etc/group等。

    Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行,它记录了这个用户的一些基本属性。

    这个文件对所有用户都是可读的。

    将用户分组是Linux 系统中对用户进行管理及控制访问权限的一种手段。

    每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。

    当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。

    用户要访问属于附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组中的成员。

    添加和删除用户对每位Linux系统管理员都是轻而易举的事,比较棘手的是如果要添加几十个、上百个甚至上千个用户时,我们不太可能还使用useradd一个一个地添加,必然要找一种简便的创建大量用户的方法。Linux系统提供了创建大量用户的工具,可以让您立即创建大量用户。

    4.Linux磁盘管理好坏直接关系到整个系统的性能问题。

    Linux磁盘管理常用三个命令为df、du和fdisk。

    • df:列出文件系统的整体磁盘使用量
    • du:检查磁盘空间使用量
    • fdisk:用于磁盘分区

    四、vim操作

    所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。

    但是目前我们使用比较多的是 vim 编辑器。

    vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

    简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

    基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)

    五、linux yum 命令

    yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。

    yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

    六、补充

    如何对Linux进行关机呢?

    在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。

    正确的关机流程为:sync > shutdown > reboot > halt

    关机指令为:shutdown ,你可以man shutdown 来看一下帮助文档。

    例如你可以运行如下命令关机:

    sync 将数据由内存同步到硬盘中。
    
    shutdown 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:
    
    shutdown –h 10 ‘This server will shutdown after 10 mins’ 这个命令告诉大家,计算机将在10分钟后关机,并且会显示在登陆用户的当前屏幕中。
    
    Shutdown –h now 立马关机
    
    Shutdown –h 20:25 系统会在今天20:25关机
    
    Shutdown –h +10 十分钟后关机
    
    Shutdown –r now 系统立马重启
    
    Shutdown –r +10 系统十分钟后重启
    
    reboot 就是重启,等同于 shutdown –r now
    
    halt 关闭系统,等同于shutdown –h now 和 poweroff
    

     最后总结一下,不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中。

    关机的命令有 shutdown –h now halt poweroff init 0 , 重启系统的命令有 shutdown –r now reboot init 6

  • 相关阅读:
    【笔记】信息熵以及模拟使用信息熵来进行划分
    【笔记】决策树的基本思想及简单操作
    【笔记】SVM思想解决回归问题
    【笔记】核函数
    【笔记】sklearn中的SVM以及使用多项式特征以及核函数
    【笔记】浅谈支持向量机(SVM)
    灵雀云:etcd 集群运维实践
    灵雀云Kube-OVN进入CNCF沙箱,成为CNCF首个容器网络项目
    几张图解释明白 Kubernetes Ingress
    重大升级!灵雀云发布全栈云原生开放平台ACP 3.0
  • 原文地址:https://www.cnblogs.com/lizhangyong/p/9777336.html
Copyright © 2011-2022 走看看