Linux面试题(2020)

Unix 和 Linux 有什么区别? Linux 和 Unix 都是功能强大的操作系统,都是应用广泛的服务器操作系统,有很多相似之 处,甚至有一部分人错误地认为 Unix 和 Linux 操作系统是一样的,然而,事实并非如此, 以下是两者的区别。 开源性 Linux 是一款开源操作系统,不需要付费,即可使用;Unix 是一款对源码实行知识产权保 护的传统商业软件,使用需要付费授权使用。 跨平台性 Linux 操作系统具有良好的跨平台性能,可运行在多种硬件平台上;Unix 操作系统跨平台 性能较弱,大多需与硬件配套使用。 可视化界面 Linux 除了进行命令行操作,还有窗体管理系统;Unix 只是命令行下的系统。 硬件环境 Linux 操作系统对硬件的要求较低,安装方法更易掌握;Unix 对硬件要求比较苛刻,按照 难度较大。 用户群体 Linux 的用户群体很广泛,个人和企业均可使用;Unix 的用户群体比较窄,多是安全性要
求高的大型企业使用,如银行、电信部门等,或者 Unix 硬件厂商使用,如 Sun 等。 相比于 Unix 操作系统,Linux 操作系统更受广大计算机爱好者的喜爱,主要原因是 Linux 操作系统具有 Unix 操作系统的全部功能,并且能够在普通 PC 计算机上实现全部的 Unix 特性,开源免费的特性,更容易普及使用! 什么是 Linux 内核? Linux 系统的核心是内核。内核控制着计算机系统上的所有硬件和软件,在必要时分配硬件, 并根据需要执行软件。 系统内存管理 应用程序管理 硬件设备管理 文件系统管理 Linux 的基本组件是什么? 就像任何其他典型的操作系统一样,Linux 拥有所有这些组件:内核,shell 和 GUI,系统 实用程序和应用程序。Linux 比其他操作系统更具优势的是每个方面都附带其他功能,所有 代码都可以免费下载。 Linux 的体系结构 从大的方面讲,Linux 体系结构可以分为两块:
用户空间(User Space) :用户空间又包括用户的应用程序(User Applications)、C 库(C Library) 。 内核空间(Kernel Space) :内核空间又包括系统调用接口(System Call Interface)、内核 (Kernel)、平台架构相关的代码(Architecture-Dependent Kernel Code) 。 为什么 Linux 体系结构要分为用户空间和内核空间的原因? 1、现代 CPU 实现了不同的工作模式,不同模式下 CPU 可以执行的指令和访问的寄存器 不同。 2、Linux 从 CPU 的角度出发,为了保护内核的安全,把系统分成了两部分。 用户空间和内核空间是程序执行的两种不同的状态,我们可以通过两种方式完成用户空间到 内核空间的转移:1)系统调用;2)硬件中断。 BASH 和 DOS 之间的基本区别是什么? BASH 和 DOS 控制台之间的主要区别在于 3 个方面: BASH 命令区分大小写,而 DOS 命令则不区分; 在 BASH 下,/ character 是目录分隔符,\作为转义字符。在 DOS 下,/用作命令参数分 隔符,\是目录分隔符 DOS 遵循命名文件中的约定,即 8 个字符的文件名后跟一个点,扩展名为 3 个字符。BASH 没有遵循这样的惯例。 Linux 开机启动过程?
了解即可。 1、主机加电自检,加载 BIOS 硬件信息。 2、读取 MBR 的引导文件(GRUB、LILO)。 3、引导 Linux 内核。 4、运行第一个进程 init (进程号永远为 1 )。 5、进入相应的运行级别。 6、运行终端,输入用户名和密码。 Linux 系统缺省的运行级别? 关机。 单机用户模式。 字符界面的多用户模式(不支持网络)。 字符界面的多用户模式。 未分配使用。 图形界面的多用户模式。 重启。
Linux 使用的进程间通信方式? 了解即可,不需要太深入。 1、管道(pipe)、流管道(s_pipe)、有名管道(FIFO)。 2、信号(signal) 。 3、消息队列。 4、共享内存。 5、信号量。 6、套接字(socket) 。 Linux 有哪些系统日志文件? 比较重要的是 /var/log/messages 日志文件。 该日志文件是许多进程日志文件的汇总,从该文件可以看出任何入侵企图或成功的入侵。 另外,如果胖友的系统里有 ELK 日志集中收集,它也会被收集进去。 Linux 系统安装多个桌面环境有帮助吗? 通常,一个桌面环境,如 KDE 或 Gnome,足以在没有问题的情况下运行。尽管系统允许 从一个环境切换到另一个环境,但这对用户来说都是优先考虑的问题。有些程序在一个环境 中工作而在另一个环境中无法工作,因此它也可以被视为选择使用哪个环境的一个因素。 什么是交换空间?
交换空间是 Linux 使用的一定空间,用于临时保存一些并发运行的程序。当 RAM 没有足够 的内存来容纳正在执行的所有程序时,就会发生这种情况。 什么是 root 帐户 root 帐户就像一个系统管理员帐户,允许你完全控制系统。你可以在此处创建和维护用户 帐户,为每个帐户分配不同的权限。每次安装 Linux 时都是默认帐户。 什么是 LILO? LILO 是 Linux 的引导加载程序。它主要用于将 Linux 操作系统加载到主内存中,以便它可 以开始运行。 什么是 BASH? BASH 是 Bourne Again SHell 的缩写。它由 Steve Bourne 编写,作为原始 Bourne Shell (由/ bin / sh 表示)的替代品。它结合了原始版本的 Bourne Shell 的所有功能,以及其 他功能,使其更容易使用。从那以后,它已被改编为运行 Linux 的大多数系统的默认 shell。 什么是 CLI? 命令行界面(英语**:command-line interface**,缩写]:CLI)是在图形用户界面得到 普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接 收到指令后,予以执行。也有人称之为字符用户界面(CUI)。 通常认为,命令行界面(CLI)没有图形用户界面(GUI)那么方便用户操作。因为,命令
行界面的软件通常需要用户记忆操作的命令,但是,由于其本身的特点,命令行界面要较图 形用户界面节约计算机系统的资源。在熟记命令的前提下,使用命令行界面往往要较使用图 形用户界面的操作速度要快。所以,图形用户界面的操作系统中,都保留着可选的命令行界 面。什么是 GUI? 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形 方式显示的计算机操作用户界面。 图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏 幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。与通 过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。 开源的优势是什么? 开源允许你将软件(包括源代码)免费分发给任何感兴趣的人。然后,人们可以添加功能, 甚至可以调试和更正源代码中的错误。它们甚至可以让它运行得更好,然后再次自由地重新 分配这些增强的源代码。这最终使社区中的每个人受益。 GNU 项目的重要性是什么? 这种所谓的自由软件运动具有多种优势,例如可以自由地运行程序以及根据你的需要自由学 习和修改程序。它还允许你将软件副本重新分发给其他人,以及自由改进软件并将其发布给 公众。
磁盘、目录、文件 简单 Linux 文件系统? 在 Linux 操作系统中,所有被操作系统管理的资源,例如网络接口卡、磁盘驱动器、打印 机、输入输出设备、普通文件或是目录都被看作是一个文件。 也就是说在 Linux 系统中有一个重要的概念**:一切都是文件**。其实这是 Unix 哲学的 一个体现,而 Linux 是重写 Unix 而来,所以这个概念也就传承了下来。在 Unix 系统中, 把一切资源都看作是文件,包括硬件设备。UNIX 系统把每个硬件都看成是一个文件,通常 称为设备文件,这样用户就可以用读写文件的方式实现对硬件的访问。 Linux 支持 5 种文件类型,如下图所示: Linux 的目录结构是怎样的? 这个问题,一般不会问。更多是实际使用时,需要知道。 Linux 文件系统的结构层次鲜明,就像一棵倒立的树,最顶层是其根目录: 常见目录说明: /bin: 存放二进制可执行文件(ls,cat,mkdir 等),常用命令一般都在这里;
/etc: 存放系统管理和配置文件; /home: 存放所有用户文件的根目录,是用户主目录的基点,比如用户 user 的主目录就 是/home/user,可以用~user 表示; **/usr **: 用于存放系统应用程序; /opt: 额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把 tomcat 等都 安装到这里; /proc: 虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息; /root: 超级用户(系统管理员)的主目录(特权阶级 o); /sbin: 存放二进制可执行文件,只有 root 才能访问。这里存放的是系统管理员使用的系统 级别的管理命令和程序。如 ifconfig 等; /dev: 用于存放设备文件; /mnt: 系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他 的文件系统; /boot: 存放用于系统引导时使用的各种文件; **/lib *: 存放着和系统运行相关的库文件 ; /tmp: 用于存放各种临时文件,是公用的临时文件存储点; /var: 用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务 的日志文件(系统启动日志等。)等; /lost+found: 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件 (windows 下叫什么.chk)就在这里。 什么是 inode ? 一般来说,面试不会问 inode 。但是 inode 是一个重要概念,是理解 Unix/Linux 文件
系统和硬盘储存的基础。 理解 inode,要从文件储存说起。 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存 512 字节(相 当于 0.5KB)。 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多 个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小 单位。“块"的大小,最常见的是 4KB,即连续八个 sector 组成一个 block。 文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如 文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做 inode, 中文译名为"索引节点”。 每一个文件都有对应的 inode,里面包含了与该文件有关的一些信息。 简述 Linux 文件系统通过 i 节点把文件的逻辑结构和物理结构转换的工作过程? 如果看的一脸懵逼,也没关系。一般来说,面试官不太会问这个题目。 Linux 通过 inode 节点表将文件的逻辑结构和物理结构进行转换。
inode 节点是一个 64 字节长的表,表中包含了文件的相关信息,其中有文件的大小、文 件所有者、文件的存取许可方式以及文件的类型等重要信息。在 inode 节点表中最重要的 内容是磁盘地址表。在磁盘地址表中有 13 个块号,文件将以块号在磁盘地址表中出现的 顺序依次读取相应的块。 Linux 文件系统通过把 inode 节点和文件名进行连接,当需要读取该文件时,文件系统在 当前目录表中查找该文件名对应的项,由此得到该文件相对应的 inode 节点号,通过该 inode 节点的磁盘地址表把分散存放的文件物理块连接成文件的逻辑结构。 什么是硬链接和软链接? 1)硬链接 由于 Linux 下的文件是通过索引节点(inode)来识别文件,硬链接可以认为是一个指针,指 向文件索引节点的指针,系统并不为它重新分配 inode 。每添加一个一个硬链接,文件的 链接数就加 1 。 不足:1)不可以在不同文件系统的文件间建立链接;2)只有超级用户才可以为目录创建 硬链接。 2)软链接 软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号 链接。因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对 文件进行链接。
不足:因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下移到其他目录中, 再访问链接文件,系统就找不到了,而硬链接就没有这个缺陷,你想怎么移就怎么移;还有 它要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。 实际场景下,基本是使用软链接。总结区别如下: 硬链接不可以跨分区,软件链可以跨分区。 硬链接指向一个 inode 节点,而软链接则是创建一个新的 inode 节点。 删除硬链接文件,不会删除原文件,删除软链接文件,会把原文件删除。 RAID 是什么? RAID 全称为独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想就 是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂 贵、 容量巨大的硬盘。RAID 通常被用在服务器电脑上,使用完全相同的硬盘组成一个逻 辑扇区,因此操作系统只会把它当做一个硬盘。 RAID 分为不同的等级,各个不同的等级均在数据可靠性及读写性能上做了不同的权衡。在 实际应用中,可以依据自己的实际需求选择不同的 RAID 方案。 当然,因为很多公司都使用云服务,大家很难接触到 RAID 这个概念,更多的可能是普通 云盘、SSD 云盘酱紫的概念。 安全
一台 Linux 系统初始化环境后需要做一些什么安全工作? 1、添加普通用户登陆,禁止 root 用户登陆,更改 SSH 端口号。 修改 SSH 端口不一定绝对哈。当然,如果要暴露在外网,建议改下。l 2、服务器使用密钥登陆,禁止密码登陆。 3、开启防火墙,关闭 SElinux ,根据业务需求设置相应的防火墙规则。 4、装 fail2ban 这种防止 SSH 暴力破击的软件。 5、设置只允许公司办公网出口 IP 能登陆服务器(看公司实际需要) 也可以安装 VPN 等软件,只允许连接 VPN 到服务器上。 6、修改历史命令记录的条数为 10 条。 7、只允许有需要的服务器可以访问外网,其它全部禁止。 8、做好软件层面的防护。 8.1 设置 nginx_waf 模块防止 SQL 注入。
8.2 把 Web 服务使用 www 用户启动,更改网站目录的所有者和所属组为 www 。 什么叫 CC 攻击?什么叫 DDOS 攻击? CC 攻击,主要是用来攻击页面的,模拟多个用户不停的对你的页面进行访问,从而使你的 系统资源消耗殆尽。 DDOS 攻击,中文名叫分布式拒绝服务攻击,指借助服务器技术将多个计算机联合起来作 为攻击平台,来对一个或多个目标发动 DDOS 攻击。 攻击,即是通过大量合法的请求占用大量网络资源,以达到瘫痪网络的目的。 怎么预防 CC 攻击和 DDOS 攻击? 防 CC、DDOS 攻击,这些只能是用硬件防火墙做流量清洗,将攻击流量引入黑洞。 流量清洗这一块,主要是买 ISP 服务商的防攻击的服务就可以,机房一般有空余流

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux面试题2020答案如下: 1. Linux和Windows的区别是什么? Linux和Windows是两种不同的操作系统。主要区别在于: - Linux是开源操作系统,而Windows是闭源操作系统。这意味着用户可以对Linux进行自由的修改、复制和分发,而Windows则需要购买授权。 - Linux是多用户、多任务的系统,可以同时运行多个程序、用户,而Windows则较为单一。 - Linux拥有更高的稳定性和可靠性,能够长时间运行而不需要重启,而Windows则较容易崩溃。 - Linux更适合用于服务器、网络设备等领域,而Windows更适合于桌面应用。 - 在使用方面,Linux需要一定的技术基础和命令行的应用,而Windows则相对较为友好和直观。 2. 如何在Linux系统上查看文件的权限和属性? 在Linux系统上,可以使用ls命令来查看文件的权限和属性。具体命令如下: ``` ls -l 文件名/目录名 ``` 文件权限和属性一般会以-rwxrwxrwx的形式表示,分别代表所有者、所属组和其他用户的权限。 3. 如何在Linux系统上查看当前系统的IP地址? 在Linux系统上,可以使用ifconfig命令来查看当前系统的IP地址。具体命令如下: ``` ifconfig ``` ifconfig会显示出当前系统的网络接口信息,包括IP地址、子网掩码等。 4. 如何在Linux系统上安装软件包? 在Linux系统上,可以使用包管理工具来安装软件包。常见的包管理工具有apt、yum、dnf等,具体使用方法如下: ``` apt install 软件包名(适用于Debian系) yum install 软件包名(适用于Red Hat系) dnf install 软件包名(适用于新版Fedora和CentOS) ``` 使用上述命令会自动从软件源下载并安装指定的软件包。 以上是对部分Linux面试题的回答,希望能对您有帮助。如有不足之处,望多多指正。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值