Java面试题·解释题·Linux

系列文章目录

Java面试题·解释题·JavaSE
Java面试题·解释题·MyBatis、Spring、SpringMVC、Boot框架
Java面试题·解释题·单例模式、工厂模式、代理模式
Java面试题·解释题·Vue框架
Java面试题·解释题·常见框架底层实现
Java面试题·解释题·Linux



前言

本文将介绍:
Linux
相关面试题。


一、Linux

1. 什么是Linux?

Linux是一套免费使用和自由传播的类似Unix操作系统,一般的WEB项目都是部署都是放在Linux操作系统上面。 Linux是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

2. Windows和Linux的区别?

Windows是微软开发的操作系统,民用操作系统,可用于娱乐、影音、上网。 Windows操作系统具有强大的日志记录系统和强大的桌面应用。好处是它可以帮我们实现非常多绚丽多彩的效果,可以非常方便去进行娱乐、影音、上网。
Linux的应用相对单纯很多,没有什么绚丽多彩的效果,因此Linux的性能是非常出色的,可以完全针对机器的配置有针对性的优化。
简单来说Windows适合普通用户进行娱乐办公使用,Linux适合软件开发部署。

3. Unix和Linux有什么区别?

Linux和Unix都是功能强大的操作系统,都是应用广泛的服务器操作系统,有很多相似之处,甚至有一部分人错误地认为Unix和Linux操作系统是一样的,然而,事实并非如此,以下是两者的区别。

  1. 开源性
    Linux是一款开源操作系统,不需要付费,即可使用;Unix是一款对源码实行知识产权保护的
    传统商业软件,使用需要付费授权使用。
  2. 跨平台性
    Linux操作系统具有良好的跨平台性能,可运行在多种硬件平台上;Unix操作系统跨平台性能较弱,大多需与硬件配套使用。
  3. 可视化界面
    Linux除了进行命令行操作,还有窗体管理系统;Unix只是命令行下的系统。
  4. 硬件环境
    Linux操作系统对硬件的要求较低,安装方法更易掌握;Unix对硬件要求比较苛刻,按照难度较大。
  5. 用户群体
    Linux的用户群体很广泛,个人和企业均可使用;Unix的用户群体比较窄,多是安全性要求高的大型企业使用,如银行、电信部门等,或者Unix硬件厂商使用,如Sun等。
    相比于Unix操作系统,Linux操作系统更受广大计算机爱好者的喜爱,主要原因是Linux操作系统具有Unix操作系统的全部功能,并且能够在普通PC计算机上实现全部的Unix特性,开源免费的特性,更容易普及使用!

4. 什么是 Linux 内核?

Linux 系统的核心是内核。内核控制着计算机系统上的所有硬件和软件,在必要时分配硬件,并根据需要执行软件。
1、系统内存管理
2、应用程序管理
3、硬件设备管理
4、文件系统管理

5. Linux的基本组件是什么?

就像任何其他典型的操作系统一样,Linux拥有所有这些组件:内核,shell和GUI,系统实用程序和应用程序。Linux比其他操作系统更具优势的是每个方面都附带其他功能,所有代码都可以免费下载。

6. Linux 的体系结构?

用户空间(User Space) :用户空间又包括用户的应用程序(User Applications)、C 库(C Library) 。
内核空间(Kernel Space) :内核空间又包括系统调用接口(System Call Interface)、内核(Kernel)、
平台架构相关的代码(Architecture-Dependent Kernel Code) 。

7. BASH和DOS之间的基本区别是什么?

BASH和DOS控制台之间的主要区别在于3个方面:
BASH命令区分大小写,而DOS命令则不区分;
在BASH下,/ character是目录分隔符,\作为转义字符。在DOS下,/用作命令参数分隔
符,\是目录分隔符
DOS遵循命名文件中的约定,即8个字符的文件名后跟一个点,扩展名为3个字符。BASH没
有遵循这样的惯例。

8. Linux 开机启动过程?

1、主机加电自检,加载 BIOS 硬件信息。
2、读取 MBR 的引导文件(GRUB、LILO)。
3、引导 Linux 内核。
4、运行第一个进程 init (进程号永远为 1 )。
5、进入相应的运行级别。
6、运行终端,输入用户名和密码。

9. Linux系统缺省的运行级别?

1、关机。
2、单机用户模式。
3、字符界面的多用户模式(不支持网络)。
4、字符界面的多用户模式。
5、未分配使用。
6、图形界面的多用户模式。
7、重启。

10. Linux 使用的进程间通信方式?

1、管道(pipe)、流管道(s_pipe)、有名管道(FIFO)。
2、信号(signal)。
3、消息队列。
4、共享内存。
5、信号量。
6、套接字(socket)。

11. 什么是交换空间?

交换空间是Linux使用的一定空间,用于临时保存一些并发运行的程序。当RAM没有足够的内存来容纳正在执行的所有程序时,就会发生这种情况。

12. 什么是root帐户

root帐户就像一个系统管理员帐户,允许你完全控制系统。你可以在此处创建和维护用户帐户,为每个帐户分配不同的权限。每次安装Linux时都是默认帐户。

13. 什么是LILO?

LILO是Linux的引导加载程序。它主要用于将Linux操作系统加载到主内存中,以便它可以开始运行。

14. 什么是BASH?

BASH是Bourne Again SHell的缩写。它由Steve Bourne编写,作为原始Bourne Shell(由/bin/sh表示)的替代品。它结合了原始版本的Bourne Shell的所有功能,以及其他功能,使其更容易使用。从那以后,它已被改编为运行Linux的大多数系统的默认shell。

15. 什么是CLI?

命令行界面(英语:command-line interface,缩写]:CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。也有人称之为字符用户界面(CUI)。
通常认为,命令行界面(CLI)没有图形用户界面(GUI)那么方便用户操作。因为,命令行界面的软件通常需要用户记忆操作的命令,但是,由于其本身的特点,命令行界面要较图形用户界面节约计算机系统的资源。在熟记命令的前提下,使用命令行界面往往要较使用图形用户界面的操作速度要快。所以,图形用户界面的操作系统中,都保留着可选的命令行界面。

16. 什么是GUI?

图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。

17. 开源的优势是什么?

开源允许你将软件(包括源代码)免费分发给任何感兴趣的人。然后,人们可以添加功能,甚至可以调试和更正源代码中的错误。它们甚至可以让它运行得更好,然后再次自由地重新分配这些增强的源代码。这最终使社区中的每个人受益。

18. GNU项目的重要性是什么?

这种所谓的自由软件运动具有多种优势,例如可以自由地运行程序以及根据你的需要自由学习和修改程序。它还允许你将软件副本重新分发给其他人,以及自由改进软件并将其发布给公众。

19. 简单 Linux 文件系统?

在 Linux 操作系统中,所有被操作系统管理的资源,例如网络接口卡、磁盘驱动器、打印机、输入输出设备、普通文件或是目录都被看作是一个文件。
也就是说在 Linux 系统中有一个重要的概念:一切都是文件。其实这是 Unix 哲学的一个体现,而Linux 是重写 Unix 而来,所以这个概念也就传承了下来。在 Unix 系统中,把一切资源都看作是文件,包括硬件设备。UNIX系统把每个硬件都看成是一个文件,通常称为设备文件,这样用户就可以用读写文件的方式实现对硬件的访问。
Linux 支持 5 种文件类型,如下图所示:
在这里插入图片描述

20. 什么是inode?

理解inode,要从文件储存说起。
文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。
操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。“块"的大小,最常见的是4KB,即连续八个sector组成一个 block。
文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点”。
每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。

21. 什么是硬链接和软链接?

硬链接:由于Linux下的文件是通过索引节点(inode)来识别文件,硬链接可以认为是一个指针,指向文件索引节点的指针,系统并不为它重新分配inode。每添加一个一个硬链接,文件的链接数就加1。

不足:
1、不可以在不同文件系统的文件间建立链接;
2、只有超级用户才可以为目录创建硬链接。

软链接:软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件进行链接。

不足:因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下移到其他目录中,再访问链接文件,系统就找不到了,而硬链接就没有这个缺陷,你想怎么移就怎么移;需要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。

实际场景下,基本是使用软链接。总结区别如下:
1、硬链接不可以跨分区,软件链可以跨分区。
2、硬链接指向一个 inode 节点,而软链接则是创建一个新的 inode 节点。
3、删除硬链接文件,不会删除原文件,删除软链接文件,会把原文件删除。

22. RAID 是什么?

RAID 全称为独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。RAID 通常被用在服务器电脑上,使用完全相同的硬盘组成一个逻辑扇区,因此操作系统只会把它当做一个硬盘。
RAID 分为不同的等级,各个不同的等级均在数据可靠性及读写性能上做了不同的权衡。在实际应用中,可以依据自己的实际需求选择不同的 RAID 方案。

23. 什么叫 CC 攻击?什么叫 DDOS 攻击?

攻击,即是通过大量合法的请求占用大量网络资源,以达到瘫痪网络的目的。

CC攻击:主要是用来攻击页面的,模拟多个用户不停的对你的页面进行访问,从而使你的系统资源消耗殆尽。

DDOS攻击:中文名叫分布式拒绝服务攻击,指借助服务器技术将多个计算机联合起来作为攻击平台,来对一个或多个目标发动DDOS攻击。

要预防CC、DDOS攻击,这些只能是用硬件防火墙做流量清洗,将攻击流量引入黑洞。

24. Shell 脚本是什么?

一个 Shell 脚本是一个文本文件,包含一个或多个命令。作为系统管理员,我们经常需要使用多个
命令来完成一项任务,我们可以添加这些所有命令在一个文本文件(Shell 脚本)来完成这些日常工
作任务。

25. 常用命令

cd (change directory:英文释义是改变目录)切换目录

pwd (print working directory:显示当前工作目录的绝对路径)

ls (ls:list的缩写,查看列表)查看当前目录下的所有文件夹(ls 只列出文件名或目录名)

ll (ll:list的缩写,查看列表详情)查看当前目录下的所有详细信息和文件夹(ll 结果是详细,有时间,是否可读写等信息)

touch (touch:创建文件)创建文件

mkdir (mkdir:创建目录) 创建目录

cat (concatenate:显示或把多个文本文件连接起来)查看文件命令(可以快捷查看当前文件的内容)(不能快速定位到最后一页)

more (more:更多的意思)分页查看文件命令(不能快速定位到最后一页)

less (lese:较少的意思)分页查看文件命令(可以快速定位到最后一页)

tail(尾巴) 查看文件命令(看最后多少行)

cp(copy单词缩写,复制功能)

mv(move单词缩写,移动功能,该文件名称功能)

rm(remove:移除的意思)删除文件,或文件夹

find (find:找到的意思)查找指定文件或目录

vi (VIsual:视觉)文本编辑器 类似win的记事本 (操作类似于地下的vim命令,看底下vim 的操
作)
vim (VI IMproved:改进版视觉)改进版文本编辑器(不管是文件查看还是文件编辑按 Shift + 上或者下可以上下移动查看视角)

|  管道命令(把多个命令组合起来使用)

grep (grep :正则表达式)正则表达式,用于字符串的搜索工作(模糊查询)

yum install -y lrzsz 命令(实现win到Linux文件互相简单上传文件)

tar (解压、压缩、命令)

ps (process status:进程状态,类似于windows的任务管理器)

clear 清屏命令

ifconfig命令

ping (用于检测与目标的连通性)语法:ping ip地址

free 命令(显示系统内存)

top 命令

netstat 命令

file (可查看文件类型)

reboot  重启Linux

halt  关机Linux

date  查看时间命令

总结

以上是Linux的面试题,感谢各位客官收看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值