Linux基础
简述Linux主流的发行版

Redhat、CentOS、Fedora、SuSE、Debian、Ubuntu、FreeBSD等。

简述Linux启动过程?
• ⑴开机BIOS自检,加载硬盘。
• ⑵读取MBR,MBR引导。
• ⑶grub引导菜单(Boot Loader)。
• ⑷加载内核kernel。
• ⑸启动init进程,依据inittab文件设定运行级别。
• ⑹init进程,执行rc.sysinit文件。
• ⑺启动内核模块,执行不同级别的脚本程序。
• ⑻执行/etc/rc.d/rc.local。
• ⑼启动tty,进入系统登陆界面。

简述Linux删除文件的原理?
Linux系统是通过link的数量来控制文件删除的,只有当一个文件不存在任何link的时候,这个文件才会被删除。一般来说每个文件两个link计数器来控制:i_count和i_nlink。当一个文件被一个程序占用的时候i_count就加1。当文件的硬链接多一个的时候i_nlink也加1。删除一个文件,就是让这个文件,没有进程占用,同时i_link数量为0。

简述Linux运行级别?
• 0:关机模式
• 1:单用户模式<==破解root密码
• 2:无网络支持的多用户模式
• 3:有网络支持的多用户模式(文本模式,工作中最常用的模式)
• 4:保留,未使用
• 5:有网络支持的X-windows支持多用户模式(桌面)
• 6:重新引导系统,即重启

简述Linux常见目录及其作用?
• /(根目录):Linux文件系统的起点;
• boot:存放Linux系统启动做必须的文件;
• var:存放经常变换的文件;
• home:普通用户的家目录
• root:Linux系统的root用户家目录;
• bin:存放系统基本的用户命令;
• sbin:存放系统基本的管理命令;
• use:存放Linux应用程序;
• etc:存放Linux系统和各种程序的配置文件。

简述Linux操作系统常见的文件系统有?
• EXT3
• EXT4
• XFS

简述Linux系统中的buffer和cache区别?
buffer和cache都是内存中的一块区域,当CPU需要写数据到磁盘时,由于磁盘速度比较慢,所以CPU先把数据存进buffer,然后CPU去执行其他任务,buffer中的数据会定期写入磁盘;当CPU需要从磁盘读入数据时,由于磁盘速度比较慢,可以把即将用到的数据提前存入cache,CPU直接从Cache中读取数据。

简述Linux中inode和block?
inode节点是一个64字节长的表,表中包含了文件的相关信息,如:字节数、属主UserID、属组GroupID、读写执行权限、时间戳等。在inode节点表中最重要的内容是:磁盘地址表。
文件名存放在目录当中,但Linux系统内部不使用文件名,而是使用inode号码识别文件。对于系统来说文件名只是inode号码便于识别的别称。即Linux文件系统通过把inode和文件名进行关联来查找文件。当需要读取该文件时,文件系统在当前目录表中查找该文件名对应的项,由此得到该文件相对应的inode节点号,通过该inode节点的磁盘地址表把分散存放的文件物理块连接成文件的逻辑结构。
文件是存储在硬盘上的,硬盘的最小存储单位叫做扇区sector,每个扇区存储512字节。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个块block。这种由多个扇区组成的块,是文件存取的最小单位。块的大小,最常见的是4KB,即连续八个sector组成一个block。
即512字节组成一个扇区(sector),多个扇区组成一个块(block),常见的块单位位4KB,即连续八个扇区组成一个block。
一个文件必须占用一个inode,但至少占用一个block。

简述Linux文件系统修复fsck过程?
成功修复文件系统的前提是要有两个以上的主文件系统(即两个系统),并保证在修复之前卸载将被修复的文件系统,然后使用命令fsck对受到破坏的文件系统进行修复。
fsck检查文件系统分为5步,每一步检查系统不同部分的连接特性并对上一步进行验证和修改。
检查从超级块开始、然后是分配的磁盘块、路径名、目录的连接性、链接数目以及空闲块链表、inode。

简述Linux中软链接和硬链接的区别?
• 软链接
软链接类似于Windows的快捷方式功能的文件,可以快速连接到目标文件或目录。即再创建一个独立的文件,而这个文件会让数据的读取指向它连接的那个文件的文件名。例如,文件A和文件B的inode号码虽然不一样,但是文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。这时,文件A就称为文件B的软链接。
因此,文件A依赖于文件B而存在,如果删除了文件B,打开文件A就会报错。
• 硬链接
通过文件系统的inode链接来产生的新的文件名,而不是产生新的文件,称为硬链接。
一般情况下,每个inode号码对应一个文件名,但是Linux允许多个文件名指向同一个inode号码。意味着可以使用不同的文件名访问相同的内容。
创建硬链接,源文件与目标文件的inode号码相同,都指向同一个inode。inode信息中的链接数这时就会增加1。
• 当一个文件拥有多个硬链接时,对文件内容修改,会影响到所有其他文件的内容;
• 删除一个文件名,不影响另一个文件名的访问,删除一个文件名,只会使得inode中的链接数减1。
• 区别
软链接与硬链接最大的区别:软链接是文件A指向文件B的文件名,而不是文件B的inode号码,文件B的inode链接数不会因此发生变化。
不能对目录做硬链接,但是通过mkdir命令创建一个新目录,通常其硬链接数应该有2个,因为常见的目录本身为1个硬链接,而目录下面的隐藏目录.(点号)是该目录的又一个硬链接,也算是1个连接数。