Linux新版面试题

文章目录
Linux 概述
什么是Linux
Unix和Linux有什么区别?
什么是 Linux 内核?
Linux的基本组件是什么?
Linux 的体系结构
BASH和DOS之间的基本区别是什么?
Linux 开机启动过程?
Linux系统缺省的运行级别?
Linux 使用的进程间通信方式?
Linux 有哪些系统日志文件?
Linux系统安装多个桌面环境有帮助吗?
什么是交换空间?
什么是root帐户
什么是LILO?
什么是BASH?
什么是CLI?
什么是GUI?
开源的优势是什么?
GNU项目的重要性是什么?
磁盘、目录、文件
简单 Linux 文件系统?
Linux 的目录结构是怎样的?
什么是 inode ?
什么是硬链接和软链接?
RAID 是什么?
安全
一台 Linux 系统初始化环境后需要做一些什么安全工作?
什么叫 CC 攻击?什么叫 DDOS 攻击?
什么是网站数据库注入?
Shell
Shell 脚本是什么?
语法级
可以在 Shell 脚本中使用哪些类型的变量?
Shell 脚本中 if 语法如何嵌套?
Shell 脚本中 case 语句的语法?
Shell 脚本中 for 循环语法?
Shell 脚本中 while 循环语法?
如何使脚本可执行?
在 Shell 脚本如何定义函数呢?
编程题
判断一文件是不是字符设备文件,如果是将其拷贝到 /dev 目录下?
添加一个新组为 class1 ,然后添加属于这个组的 30 个用户,用户名的形式为 stdxx ,其中 xx 从 01 到 30 ?
写一个 sed 命令,修改 /tmp/input.txt 文件的内容?
实战
如何选择 Linux 操作系统版本?
如何规划一台 Linux 主机,步骤是怎样?
请问当用户反馈网站访问慢,你会如何处理?
Linux 性能调优都有哪几种方法?
文件管理命令
cat 命令
chmod 命令
chown 命令
cp 命令
find 命令
head 命令
less 命令
ln 命令
locate 命令
more 命令
mv 命令
rm 命令
tail 命令
touch 命令
vim 命令
whereis 命令
which 命令
文档编辑命令
grep 命令
wc 命令
磁盘管理命令
cd 命令
df 命令
du 命令
ls命令
mkdir 命令
pwd 命令
rmdir 命令
网络通讯命令
ifconfig 命令
iptables 命令
netstat 命令
ping 命令
telnet 命令
系统管理命令
date 命令
free 命令
kill 命令
ps 命令
rpm 命令
top 命令
yum 命令
备份压缩命令
bzip2 命令
gzip 命令
tar 命令
unzip 命令
Java面试总结汇总,整理了包括Java基础知识,集合容器,并发编程,JVM,常用开源框架Spring,MyBatis,数据库,中间件等,包含了作为一个Java工程师在面试中需要用到或者可能用到的绝大部分知识。欢迎大家阅读,本人见识有限,写的博客难免有错误或者疏忽的地方,还望各位大佬指点,在此表示感激不尽。文章持续更新中…

序号 内容 链接地址
1 Java基础知识面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/104390612
2 Java集合容器面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/104588551
3 Java异常面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/104390689
4 并发编程面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/104863992
5 JVM面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/104390752
6 Spring面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/104397516
7 Spring MVC面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/104397427
8 Spring Boot面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/104397299
9 Spring Cloud面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/104397367
10 MyBatis面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/101292950
11 Redis面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/103522351
12 MySQL数据库面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/104778621
13 消息中间件MQ与RabbitMQ面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/104588612
14 Dubbo面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/104390006
15 Linux面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/104588679
16 Tomcat面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/104397665
17 ZooKeeper面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/104397719
18 Netty面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/104391081
Linux 概述
什么是Linux
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

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系统把每个硬件都看成是一个文件,通常称为设备文件,这样用户就可以用读写文件的方式实现对硬件的访问
————————————————
版权声明:本文为CSDN博主「ThinkWon」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ThinkWon/article/details/104588679

你可能感兴趣的:(Linux新版面试题)