• Linux基础命令详解(二)


     

    简介

    Linux 操作系统 #GNU/Linux

    #GUN是开源组织

    #Linux通常是指Linux内核

     

    内核 :

    #系统核心程序

    #负责系统程序和硬件分配及调度

    在Linux系统中,命令严格区分大小写。

    在命令行中,可以使用“Tab”键来自 动补齐命令。

    利用向上或向下的光标键,可以翻查曾经执行过的历史命令,回车可以再次执行。

    在一个命令行上输入和执行多条命令,可以使用分号来分隔命令

    cd / ; ls  #切换到/根目录并且执行ls命令

     

    Linux系统启动

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

    内核引导

    运行开机后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动;操作系统接管硬件以后,读入 /boot 目录下的内核文件。

    运行init

    init 进程是系统所有进程的起点,没有这个进程,系统中任何进程都不会启动。

    init 程序首先是需要读取配置文件:

    /etc/inittab

    运行级别

    许多程序需要开机启动。在Linux中叫做 "守护进程"(daemon)

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

    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执行完毕后返回init;这时基本系统环境已经设置好,各种守护进程也已启动

    init会打开6个终端,以便用户登录系统。在/etc/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程序来验证用户的身份。

    用户登录系统

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

    • 命令行登录
    • ssh登录
    • 图形界面登录

    默认登录的就是第一个窗口 'tty1',可以按下Ctrl + Alt + F1 ~ F6 来切换

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

     

    登陆成功后启动shell,并开始读取shell启动文件

    /etc/profile 

    ~/profile 

    /etc/bashrc 

    ~/.bashrc

    可以修改这些启动文件,添加自己的环境变量和修改PATH

     

    运行流程图

    f851ed9c850c4ac78002b4b5ad3c941e.png

     

     

    Linux 关机

    正确的关机流程:

    sync > shutdown > reboot > halt

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

    sync                               #将数据由内存同步到硬盘中。

    shutdown                       #关机指令

    shutdown –h 10 ‘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                       #关闭系统

    init 0                             #关机

    reboot init 6                  #重启

    需要注意的是不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中。

    sync

    sync命令用于强制被改变的内容立刻写入磁盘,更新信息速度非常快。

    sync命令用来强制将内存缓冲区中的数据立即写入磁盘中。

    通常不需执行sync命令,系统会自动执行update或bdflush操作,将缓冲区的数据写 入磁盘。

    只有在update或bdflush无法执行或需要非正常关机时,才需手动执行sync命令。

     

     


    结语

    尽最大的努力做最坏的打算,没有人规定,一朵花,一定要长成向日葵或者玫瑰。

     

     

     

  • 相关阅读:
    B. Remove Prefix
    springboot基础(32):整合Mongodb
    Python:自动化处理PDF文档集合,提取文献标题、合并文献PDF并生成目录和页码
    [java刷算法]牛客—剑指offer树的子结构,对称树,树的镜像
    WordPress 媒体库文件夹管理插件 FileBird v5.5.4和谐版下载
    在windows 10 里安装并设置了gvim 9.0
    相同执行计划,为何有执行快慢的差别
    排序算法-交换排序详解
    [源码解析] NVIDIA HugeCTR,GPU 版本参数服务器 --(9)--- Local hash表
    Vue笔记十一:Vuex基础应用
  • 原文地址:https://blog.csdn.net/l1593572468/article/details/127567011