2020最新版Linux面试题(一)

2020最新版Linux面试题(一)

大家好,又见面了,我是全栈君。

Linux 概述

什么是Linux

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

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特性,开源免费的特性,更容易普及使用!

什么是 Linux 内核?

Linux 系统的核心是内核。内核控制着计算机系统上的所有硬件和软件,在必要时分配硬件,并根据需要执行软件。

  1. 系统内存管理

  2. 应用程序管理

  3. 硬件设备管理

  4. 文件系统管理

Linux的基本组件是什么?

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

Linux 的体系结构

从大的方面讲,Linux 体系结构可以分为两块:

2020最新版Linux面试题(一)

  1. 用户空间(User Space) :用户空间又包括用户的应用程序(User Applications)、C 库(C Library) 。

  2. 内核空间(Kernel Space) :内核空间又包括系统调用接口(System Call Interface)、内核(Kernel)、平台架构相关的代码(Architecture-Dependent Kernel Code) 。

为什么 Linux 体系结构要分为用户空间和内核空间的原因?

1、现代 CPU 实现了不同的工作模式,不同模式下 CPU 可以执行的指令和访问的寄存器不同。

2、Linux 从 CPU 的角度出发,为了保护内核的安全,把系统分成了两部分。

用户空间和内核空间是程序执行的两种不同的状态,我们可以通过两种方式完成用户空间到内核空间的转移:1)系统调用;2)硬件中断。

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

BASH和DOS控制台之间的主要区别在于3个方面:

  1. BASH命令区分大小写,而DOS命令则不区分;

  2. 在BASH下,/ character是目录分隔符,\作为转义字符。在DOS下,/用作命令参数分隔符,\是目录分隔符

  3. 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 种文件类型,如下图所示:

2020最新版Linux面试题(一)

Linux 的目录结构是怎样的?

这个问题,一般不会问。更多是实际使用时,需要知道。

Linux 文件系统的结构层次鲜明,就像一棵倒立的树,最顶层是其根目录:

2020最新版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)就在这里。

2020最新版Linux面试题(一)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/111792.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • redhat8本地yum源配置_redhat7网络yum源配置

    redhat8本地yum源配置_redhat7网络yum源配置redhat8—配置yum源1、挂载系统光盘mkdir-pmount/dev/sr0/mnt/cdrom2、配置yum源将这段内容粘贴进去[BaseOS]name=BaseOSbaseurl=file:///mnt/cdrom/BaseOSenabled=1gpgcheck=0[AppStream]name=AppStreambaseurl=file:///mnt/cdrom/AppStreamenabled=1gpgcheck=0:wq!保存退出3、测试yu

  • ArrayList遍历的三种方式[通俗易懂]

    ArrayList遍历的三种方式[通俗易懂]1publicclassArrayListTraversal{2publicvoidarrayListTraversal(List<Integer>lists){3/

  • 5次shift后门怎么清除_电脑按五次shift啥意思

    5次shift后门怎么清除_电脑按五次shift啥意思一、如何制作shift后门方法1在cmd窗口,敲打命令如下:copyc:\windows\explorer.exec:\windows\system32\sethc.execopyc:\windows\system32\sethc.exec:\windows\system32\dllcache\sethc.exeattribc:\windows\system32\sethc.exe+hattribc:\windows\system32\dllcache\sethc.ex

  • monkeybuddy插件_v8引擎是什么意思

    monkeybuddy插件_v8引擎是什么意思介绍   SpiderMonkey是Firefox使用的脚本引擎,V8是GoogleChrome使用的脚本引擎。这篇文章介绍了怎样在自己的C++程序中嵌入这两种脚本引擎,以及简单做了一些横向的对比。 编译SpiderMonkey

    2022年10月16日
  • python猪脸识别_一种猪脸的识别方法与流程

    python猪脸识别_一种猪脸的识别方法与流程本发明涉及人工智能技术领域,特别涉及到一种用于猪脸的自动识别方法。背景技术:当前养猪场进行批量养猪的过程中,养殖者需要掌握每头猪只的饮食情况、健康状态、生长状况以及情绪等信息,因此识别每头猪只的身份信息为养殖者掌握养殖场基本状况提供便利,目前大型养猪场对于猪只的身份管理没有一个准确有效的识别方法,使得在管理猪只的过程中出现混乱和错误的情况,因此,猪脸识别技术的缺乏不利于规模化的精准养猪的推广。技术…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号