本文共2W+字,分别从Linux概述、磁盘、目录、文件、安全、语法级、实战、文件管理命令、文档编辑命令、磁盘管理命令、网络通讯命令、系统管理命令、备份压缩命令等方面拆解Linux常见面试问题。可以先收藏,慢慢读。
1
Linux概述
1.1
什么是LinuxLinux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
1.2
Unix和Linux有什么区别?Linux和Unix都是功能强大的操作系统,都是应用广泛的服务器操作系统,有很多相似之处,甚至有一部分人错误地认为Unix和Linux操作系统是一样的,然而,事实并非如此,以下是两者的区别。
开源性Linux是一款开源操作系统,不需要付费,即可使用;Unix是一款对源码实行知识产权保护的传统商业软件,使用需要付费授权使用。
跨平台性Linux操作系统具有良好的跨平台性能,可运行在多种硬件平台上;Unix操作系统跨平台性能较弱,大多需与硬件配套使用。
可视化界面Linux除了进行命令行操作,还有窗体管理系统;Unix只是命令行下的系统。
硬件环境Linux操作系统对硬件的要求较低,安装方法更易掌握;Unix对硬件要求比较苛刻,安装难度较大。
用户群体Linux的用户群体很广泛,个人和企业均可使用;Unix的用户群体比较窄,多是安全性要求高的大型企业使用,如银行、电信部门等,或者Unix硬件厂商使用,如Sun等。相比于Unix操作系统,Linux操作系统更受广大计算机爱好者的喜爱,主要原因是Linux操作系统具有Unix操作系统的全部功能,并且能够在普通PC计算机上实现全部的Unix特性,开源免费的特性,更容易普及使用!
1.3
什么是Linux内核?Linux系统的核心是内核。内核控制着计算机系统上的所有硬件和软件,在必要时分配硬件,并根据需要执行软件。
系统内存管理
应用程序管理
硬件设备管理
文件系统管理
1.4
Linux的基本组件是什么?就像任何其他典型的操作系统一样,Linux拥有所有这些组件:内核,shell和GUI,系统实用程序和应用程序。Linux比其他操作系统更具优势的是每个方面都附带其他功能,所有代码都可以免费下载。
1.5
Linux的体系结构从大的方面讲,Linux体系结构可以分为两块:
用户空间(UserSpace):用户空间又包括用户的应用程序(UserApplications)、C库(CLibrary)。
内核空间(KernelSpace):内核空间又包括系统调用接口(SystemCallInterface)、内核(Kernel)、平台架构相关的代码(Architecture-DependentKernelCode)。
为什么Linux体系结构要分为用户空间和内核空间的原因?
1.现代CPU实现了不同的工作模式,不同模式下CPU可以执行的指令和访问的寄存器不同。
2.Linux从CPU的角度出发,为了保护内核的安全,把系统分成了两部分。
用户空间和内核空间是程序执行的两种不同的状态,我们可以通过两种方式完成用户空间到内核空间的转移:
1)系统调用;
2)硬件中断。
1.6
BASH和DOS之间的基本区别是什么?BASH和DOS控制台之间的主要区别在于3个方面:
BASH命令区分大小写,而DOS命令则不区分;
在BASH下,/character是目录分隔符,\作为转义字符。在DOS下,/用作命令参数分隔符,\是目录分隔符
OS遵循命名文件中的约定,即8个字符的文件名后跟一个点,扩展名为3个字符。BASH没有遵循这样的惯例。
1.7
Linux开机启动过程?主机加电自检,加载BIOS硬件信息。
读取MBR的引导文件(GRUB、LILO)。
引导Linux内核。
运行第一个进程init(进程号永远为1)。
进入相应的运行级别。
运行终端,输入用户名和密码。
1.8
Linux系统缺省的运行级别?关机。
单机用户模式。
字符界面的多用户模式(不支持网络)。
字符界面的多用户模式。
未分配使用。
图形界面的多用户模式。
重启。
1.9
Linux使用的进程间通信方式?管道(pipe)、流管道(s_pipe)、有名管道(FIFO)
信号(signal)
消息队列
共享内存
信号量
套接字(socket)
1.10
Linux有哪些系统日志文件?比较重要的是/var/log/messages日志文件。
该日志文件是许多进程日志文件的汇总,从该文件可以看出任何入侵企图或成功的入侵。另外,如果胖友的系统里有ELK日志集中收集,它也会被收集进去。
1.11
Linux系统安装多个桌面环境有帮助吗?通常,一个桌面环境,如KDE或Gnome,足以在没有问题的情况下运行。尽管系统允许从一个环境切换到另一个环境,但这对用户来说都是优先考虑的问题。有些程序在一个环境中工作而在另一个环境中无法工作,因此它也可以被视为选择使用哪个环境的一个因素。
1.12
什么是交换空间?交换空间是Linux使用的一定空间,用于临时保存一些并发运行的程序。当RAM没有足够的内存来容纳正在执行的所有程序时,就会发生这种情况。
1.13
什么是root帐户root帐户就像一个系统管理员帐户,允许你完全控制系统。你可以在此处创建和维护用户帐户,为每个帐户分配不同的权限。每次安装Linux时都是默认帐户。
1.14
什么是LILO?LILO是Linux的引导加载程序。它主要用于将Linux操作系统加载到主内存中,以便它可以开始运行。
1.15
什么是BASH?BASH是BourneAgainSHell的缩写。它由SteveBourne编写,作为原始BourneShell(由/bin/sh表示)的替代品。它结合了原始版本的BourneShell的所有功能,以及其他功能,使其更容易使用。从那以后,它已被改编为运行Linux的大多数系统的默认shell。
1.16
什么是CLI?命令行界面(英语: