一、Linux启动过程
Linux系统的启动过程可以分为如下三个阶段。
1.1 内核的引导
首先是BIOS(Basic Input/Output System)开机自检,按照BIOS中设置的启动设备,通常是硬盘MBR(Master Boot Record)来启动。
GRUB(Grand Unified Bootloader)查找并加载Kernel,操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。
1.2 运行 init,系统初始化
init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。init 程序首先是需要读取配置文件 /etc/inittab。
在init的配置文件中有这么一行:
si::sysinit:/etc/rc.d/rc.sysinit 它调用执行了/etc/rc.d/rc.sysinit,完成一些系统初始化的工作(激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务等),rc.sysinit是每一个运行级别都要首先运行的重要脚本。
系统的启动的时候,会根据设置的默认运行级别,来启动该运行级别下需要系统的程序,不同的运行级别,会对应不同的程序清单,init 进程会将程序按照顺序启动起来。
我们在虚拟机中运行起来的ubunut现在的运行级别是5,可以使用runlevel命令查看,运行级别5是提供了一个GUI图形模式的,所以才会有我们看到的系统操作桌面。
Linux预置七种运行级别介绍如下(0-6):
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
1.3 建立终端,用户登录系统
用户的登录系统的方式有三种:
命令行登录:init进程调用getty程序,让用户输入用户名和密码。核对密码后,从文件 /etc/passwd 读取该用户指定的shell并启动。
SSH登录:系统调用sshd程序,取代getty和login,并启动shell。
图形界面登录:init进程调用显示管理器,Gnome图形界面对应的显示管理器为GDM(GNOME Display Manager), 校验用户名密码后,读取/etc/gdm3/Xsession,启动用户的会话。
二、Linux系统目录详解
2.1 目录总览
Linux根目录是“/”如下:
蓝色:表示目录
青色:表示链接
黑色:表示文件
也可以图形化界面查看:
2.2 系统目录功能介绍
/bin:bin是Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
/boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev:dev是Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
/etc:etc是Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。
/lib:lib是Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/上,然后进入该目录就可以查看光驱里的内容了。
/opt:opt是optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc:proc是Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里。
/sbin:s就是Super User的意思,是Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
/srv:该目录存放一些服务启动之后需要提取的数据。
/sys:一个文件系统 sysfs,sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统,该文件系统是内核设备树的一个直观反映。
/tmp:tmp是temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
/usr: usr是unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
/usr/bin:系统用户使用的应用程序。
/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:内核源代码默认的放置目录。
/var:var是variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
三、Linux系统远程登录
Linux 一般作为服务器使用,而服务器一般放在机房,这时我们就需要远程登录到Linux服务器来管理维护系统。
Linux 系统中是通过 ssh 服务实现的远程登录功能,默认 ssh 服务端口号为 22。
Window 系统上 Linux 远程登录客户端有Xshell,Putty等。
##山狗学会 License Start##
转载请注明出处,"今日头条"创作者"山狗学会“ ,注明出处即授权,未注明出处罚款100万元
主页链接:山狗学会主页
##山狗学会 License End##