对Linux有一些了解的,都应该知道在Linux中所有的内容都是文件,包括硬盘等各种硬件在Linux中也都是按照文件来继续处理的,所以对Linux文件的了解将是非常重要的。

目录

0x01 Linux重要目录结构

0x02 Linux启动流程

0x01 Linux重要目录结构

/bin

用户的命令都在这里

使用which 命令 可以查看命令的所在路径

/boot

Linux内核及系统引导程序的所在目录

/dev

设备文件的目录,硬盘、声卡等等都在这里

/etc

软件的配置文件的目录和软件启动程序的目录

/home

普通用户的家目录

/root

root用户的家目录

/lib

启动系统和运行命令所需要的共享文件库文件和内核模块存放的目录

/lost+found

系统崩溃时,一些文件会存放在这里,可以通过一些命令来进行恢复操作

/mnt

临时的挂载点,用于临时挂载存储设备的,要想使用所插入的设备,必须先将设备进行挂载才能进行访问

mount /dev/cdrom /mnt

将dev中的设备挂载到mnt目录下,然后才可以进行访问,就好比当你把储存设备插入之后,它就相当于是一个监狱,没有门是无法进入的,只有你把它挂载到mnt目录下之后,相当于开了一个门,才能进入这个储存设备中,使用下列可以取消挂载点,相当于再把门去掉

umount /mnt

/opt

可选择的目录,有些软件也是会被安装到这里的,我们自己编译的软件包,也可以放在这个目录中去

/sbin

系统管理员相关的命令,/bin下是普通用户的命令

/tmp

临时文件目录,权限比较特殊,相当于是Windows的回收站,之前有朋友就把程序安装到了这个目录下,还好奇为啥重启之后就没有了。

/usr

存放程序的目录

/usr/local:默认软件安装目录
/usr/src:程序源代码目录

/var

一个变化的目录,其中的内容是经常变动的

/var/log:系统日志的存放目录
/var/log/messages:系统日志路径
/var/lib:库文件存放路径

/proc

系统运行时,进程信息及内核信息都存放在这里,比如cpu、硬盘、内存等等的信息

/proc/loadavg:系统负载
/proc/meminfo:系统内存信息
/proc/cpuinfo:系统cpu信息
/proc/mounts:系统挂载信息

接下来要说Linux的启动流程,还有两个文件需要明确一下

一、

/etc/fstab

配置开机设备自动挂载的文件

前面说/mnt目录的时候也说过了,只有把硬盘挂载到挂载点后,才能进行访问的,但是Linux启动我们也没有手动来做过挂载呀,没有挂载就不能访问,那系统是怎样启动起来呢?

就是由于这个文件实现了开机设备自动挂载,我们可以通过更改这个文件来实现文件的自动挂载,一定要注意不要写错其中的内容,如果写错的话将可能会导致Linux系统无法启动,因为在挂载中遇到错误后,是不会再继续往下执行的,为了避免这样的情况,在最后一个数值设定的时候一定要设置为0,不进行磁盘检查,如果设置为1或者2的话,将可能会导致设备无法启动。

一共有六列内容,从左到右依次是:

要挂载的设备、挂载点、挂载时候的文件系统格式、挂载时的参数、是否备份、是否做磁盘检查

二、

Linux运行级别

Linux有7个运行级别,分别是

0:关机
1:单用户模式
2:没有NFS(网络文件系统)的多用户模式
3:完整的多用户模式(常用)
4:未使用,保留
5:图形化模式
6:重启

一般默认是选用3模式

使用init可以切换当前的运行级别

使用runlevel可以查看当前运行级别

第一个是上次运行级别,第二个就是当前运行级别

运行级别所对应的文件目录是下面这些目录

当你选择2级别执行的时候,就会将/etc/rc2.d下的文件全部都执行一遍

当然如果想在切换到某一个级别的时候运行某些指定程序,我们就可以在对应的目录下放入所需要执行的程序

0x02 Linux启动流程

当了解了这两个内容之后,再说Linux启动流程就比较清楚了

在网上给出的简单图解大致是这样的

首先在开机的时候,会加载主板上的BIOS,然后会启动硬件自检,如果发现有问题的话,就不继续启动了。

然后会把启动程序交给硬盘,也就是图中的MBR引导,此时会加载硬盘中的一部分存储空间的内容,这部分内容就是主引导程序。

然后就加载Linux的GRUB菜单

接下来就会去加载GRUB所对应程序的内核

等待内核加载完毕以后,会运行Linux的第一个进程——INIT进程,此时会读取/etc/inittab文件,这个文件中设定了Linux以哪个级别进行启动,设定完以后将会加载对应级别以下的所有程序,也就是咱们上面所说的运行级别的文件夹下的所有文件;

同时还会加载Linux的基础配置程序/etc/rc.d/rc.sysinit,里面包含了主机名、设备、网卡等等必须的东西

PS:部分系统没有rc.d的目录,此时执行的是rcS.d目录下的全部文件。

等所有的内容都加载完毕之后就进入了用户登陆界面

到这里,Linux就已经启动完成了

文章首发公众号:无心的梦呓(wuxinmengyi)

这是一个记录红队学习、信安笔记,个人成长的公众号

扫码关注即可

linux临时挂载别的文件目录_Linux目录结构及开机流程详解相关推荐

  1. linux减小根目录空间_Linux目录结构及文件基本操作详解

    Linux 目录结构及文件 在 windows 平台下,打开"计算机",我们看到的是一个个的盘符: 在 Linux 下,我们是看不到这些盘符,我们看到的是文件夹(目录): 在早期的 ...

  2. linux临时挂载别的文件目录_linux基础05:linux系统目录有哪些?命令行界面如何切换目录?...

    我们安装好linux系统后,linux系统也会像windows系统一样,自动生成很多的文件和目录,这些目录都包含了不同的含义.下面,我们就来介绍一下这些目录都代表着什么?以及,在命令行界面,我们如何在 ...

  3. 【正点原子Linux连载】第三十二章 U-Boot启动流程详解 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  4. Linux 目录结构及特殊文件详解

    一.linux目录详解 1./(根)目录 每一个文件和目录从根开始,/下的目录有: 2./bin目录 看到"bin"大家应该能想到 bin 文件, bin 文件就是可执行文件.所以 ...

  5. linux java打包工具有哪些_Linux打包和压缩工具的使用详解

    压缩工具:gzip,bzip2 压缩能力逐渐增强 打包或压缩工具:tar 打包并压缩工具:zip 压缩能力比gzip和bzip2都强 gzip和bzip2这两种压缩工具的区别: gzip和bzip2只 ...

  6. 飞狐交易师目录结构、文件信息详解

    系统重装-只要将user.data.fmldll.stkblock.memo五个文件夹.regcode.bin注册文件备份 foxtrader/ 安装目录 foxtrader.exe飞狐可执行文件 f ...

  7. kernel 中标准的 ir 模块的 时间的定义_Linux开机流程详解:BIOSgt;MBRgt;GRUBgt;Kernel...

    Linux是一种自由和开放源代码的类UNIX操作系统.该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布.在加上用户空间的应用程序之后,成为Linux操作系统.Linux是自由软件和开放源 ...

  8. linux alsa 录音程序,转 alsa录音放音执行流程详解

    前言: linux中,无论是oss还是alsa体系,录音和放音的数据流必须分析清楚.先分析alsa驱动层,然后关联到alsa库层和应用层. 链接分析: core/pcm_native.c文件中.mma ...

  9. linux 串口 dma,STM32 USART串口DMA 接收和发送流程详解

    1.dma发送流程 1.配置DMA发送中断 - NVIC_Init 2.配置串口中断 - NVIC_Init 3.GPIO配置 - GPIO_Init 4.DMA发送配置 -DMA_Init  DMA ...

最新文章

  1. 调优之系统篇--cpu,内存
  2. 当对象与原型有相同的属性,调用时的上下文指向问题
  3. 文巾解题 197. 上升的温度
  4. WebService入门讲解
  5. php 文字代码,PHP 彩色文字实现代码
  6. 算法一之简单选择排序
  7. 对一个可进行带括号 加减乘除运算类的分析
  8. 卸载干净ssr之后出现无法上网
  9. libusb libusbk
  10. bzoj4552[HEOI2016/TJOI2016]排序(二分+线段树)
  11. activity 工作流_智能风控决策引擎系统可落地实现方案(二)决策流实现
  12. (机器人学导论--运动学)(三)DH表达法顺向运动学
  13. 开源超级终端工具——WindTerm
  14. 苹果手机怎么识别文字
  15. SVN的介绍、搭建和使用
  16. 【易康eCognition】面向对象的图像分类学习
  17. 据说,2021年Apple将推出1416英寸MacBook Pro
  18. 天画项目-低代码平台-总体设计与实现
  19. Retrofit 2.0 超能实践(一),okHttp完美支持Https传输
  20. QT编译:error LNK2019: 无法解析的外部符号 __imp_xxx,函数 “public: static void __cdecl Control::KeySet(class QSt

热门文章

  1. 由汉诺塔引起的对递归的思考
  2. 广义线性模型——逻辑回归(logistic regression)
  3. 软件工程-团队作业1
  4. 词频统计的java实现方法——第一次改进
  5. U-LINK2 升级后低版本不识别问题
  6. (转)Android中JNI编程的那些事儿
  7. 分享ArcGis For Flex API 1.3 Diagram
  8. Flutter InteractiveViewer 支持平移和缩放子Widget
  9. Flutter Duration详细概述
  10. Springboot04整合Druid