面试题:Linux 系统基础提问 (一)

linux · 浏览次数 : 0

小编点评

Linux系统中用户和组的管理 ================== Linux系统中的用户和组管理主要包括创建用户和组、修改用户和组信息、删除用户和组以及管理密码等方面。使用useradd和groupadd命令创建新用户和新组,使用usermod和groupmod命令来修改用户和组的信息,使用userdel和groupdel命令来删除用户和组。使用passwd命令来管理用户密码。 文件权限管理 ------------- Linux系统中的文件权限主要包括读(r)、写(w)和执行(x)权限。权限可以针对文件的所有者、所属组以及其他用户设置。修改文件权限的常用命令是chmod。例如,chmod u+x filename命令将给文件所有者增加执行权限。 进程管理 -------- Linux系统中的进程管理主要包括查看进程、控制进程、后台和前台控制以及调整优先级等方面。使用ps和top命令查看当前系统中的进程。使用kill、pkill和killall命令来终止进程。使用bg将进程移到后台,使用fg将进程带回前台。使用nice和renice命令调整进程的优先级。 网络配置 ---------- Linux系统中的网络配置主要涉及查看和配置网络接口、管理路由表、配置DNS以及测试网络连接等方面。使用ifconfig或ip命令查看和配置网络接口。使用route或ip route命令查看和修改路由表。编辑/etc/resolv.conf文件来配置DNS服务器。使用ping和traceroute命令测试网络连通性。 日志管理 -------- Linux系统中的日志管理主要包括日志文件存储、日志级别、查看日志、日志轮换以及系统日志服务等方面。系统和应用日志通常存储在/var/log目录。日志有不同的级别,如INFO、ERROR、DEBUG等。使用cat、less、grep等命令查看日志文件。使用logrotate等工具进行日志文件的轮换和管理。系统日志服务如syslogd或rsyslog负责日志的收集和处理。 inode与Swap空间 --------------- 在Linux系统中,inode(索引节点)是文件系统的一个重要概念。每个文件或目录都有一个与之对应的inode,它包含了关于文件的元数据,但不包含文件名或文件数据。inode的作用包括存储属性、链接信息以及管理硬链接。Swap空间是Linux系统中的一种虚拟内存管理机制。当物理内存不足时,系统可以将内存中不常用的数据页交换到Swap空间,从而为需要更多内存的进程释放空间。 cron与crontab ------------- 在Linux中,cron是一个基于时间的任务调度器,用于定期执行任务。使用crontab命令用来创建、修改、删除或列出cron作业。编辑crontab文件时,需要指定执行时间和相应的命令。格式通常为“分钟 小时 日期 月份 星期 命令”。 权限控制列表(ACL) --------------------- Linux中的权限控制列表(ACL)提供了比传统权限设置更详细的权限控制。使用ACL可以对单个用户或组设置特定的权限。基本的ACL操作包括使用getfacl命令查看文件或目录的ACL,以及使用setfacl命令设置或修改文件或目录的ACL。 僵尸进程与I/O调度器 ---------------------- 在Linux系统中,僵尸进程(Zombie Process)是指已经完成执行但其父进程尚未读取其退出状态的进程。它们的特点和处理方法包括:特点为已经释放了大部分资源,但在进程表中保留一个条目,包含退出码等信息。处理方法通常是父进程调用wait()或waitpid()函数来读取子进程的退出状态。Linux中的I/O调度器负责管理对磁盘的读写请求,主要有四种类型:CFQ、Deadline、NOOP和Anticipatory,它们各自有不同的特点和适用场景。 RAID与NFS ----------- RAID(冗余磁盘阵列的独立磁盘)是一种存储技术,它将多个磁盘组合成一个单一的逻辑单元,以提高性能和/或数据冗余。常见的RAID类型包括RAID 0(条带化)、RAID 1(镜像)、RAID 5(带奇偶校验的条带化)和RAID 10(镜像和条带化的组合)。NFS(Network File System)是一种分布式文件系统协议,允许一个系统上的用户访问另一个系统上的文件,就像访问本地文件一样。其主要用途包括共享存储、简化数据管理和提高可用性和灵活性。 SSH与安全访问 -------------- SSH(Secure Shell)是一种网络协议,用于安全地访问远程计算机。安全使用SSH的方法包括使用密钥认证代替密码认证、禁用根登录、更改默认端口、使用防火墙限制访问以及使用 Fail2ban 自动阻止频繁尝试登录失败的 IP 地址。遵循这些最佳实践可以显著提高通过 SSH 访问系统的安全性。

正文

Linux系统中如何管理用户和组?

Linux系统中用户和组的管理通常包括以下几个方面:

1、创建用户和组: 使用useraddgroupadd命令创建新用户和新组。

2、修改用户和组信息: 使用usermodgroupmod命令来修改用户和组的信息。

3、删除用户和组: 使用userdelgroupdel命令来删除用户和组。

4、管理密码: 使用passwd命令来管理用户密码。

这些基本命令和操作使得Linux系统管理员能够有效地管理系统的用户和权限。


Linux系统中常见的文件权限有哪些?如何修改它们?

1、Linux系统中的文件权限主要包括读(r)、写(w)和执行(x)权限。权限可以针对文件的所有者、所属组以及其他用户设置。

2、修改文件权限的常用命令是chmod。例如,chmod u+x filename命令将给文件所有者增加执行权限。

3、另外,chownchgrp命令可用于更改文件的所有者和所属组。


Linux系统中的进程管理包括哪些基本操作?

Linux系统中的进程管理主要包括以下操作:

1、查看进程: 使用pstop命令查看当前系统中的进程。

2、控制进程: 使用killpkill、和killall命令来终止进程。

3、后台和前台控制: 使用bg将进程移到后台,使用fg将进程带回前台。

4、调整优先级: 使用nicerenice命令调整进程的优先级。


Linux系统中的网络配置包括哪些基本操作?

Linux系统中的网络配置主要涉及以下操作:

1、查看和配置网络接口: 使用ifconfigip命令查看和配置网络接口。

2、管理路由表: 使用routeip route命令查看和修改路由表。

3、配置DNS: 编辑/etc/resolv.conf文件来配置DNS服务器。

4、测试网络连接: 使用pingtraceroute命令测试网络连通性。


Linux中如何使用cron和crontab进行任务调度?

在Linux中,cron是一个基于时间的任务调度器,用于定期执行任务。

1、crontab命令用来创建、修改、删除或列出cron作业。

2、编辑crontab文件时,需要指定执行时间和相应的命令。

3、格式通常为“分钟 小时 日期 月份 星期 命令”


Linux系统中的日志管理主要涉及哪些方面?

Linux系统的日志管理主要包括以下几个方面:

1、日志文件存储: 系统和应用日志通常存储在/var/log目录。

2、日志级别: 日志有不同的级别,如INFOERRORDEBUG等。

3、查看日志: 使用如catlessgrep等命令查看日志文件。

4、日志轮换: 使用logrotate等工具进行日志文件的轮换和管理。

5、系统日志服务: 如syslogdrsyslog服务,负责日志的收集和处理。


Linux系统中的inode是什么,它有什么作用?

在Linux系统中,inode(索引节点)是文件系统的一个重要概念。每个文件或目录都有一个与之对应的inode,它包含了关于文件的元数据,但不包含文件名或文件数据。inode的作用包括:

1、存储属性inode存储了文件的属性,如大小、权限、所有者、创建时间、最后访问和修改时间等。

2、链接信息inode存储了文件数据块的位置信息,这是文件系统查找文件内容的关键。

3、管理硬链接: 通过inode,多个文件名(硬链接)可以指向同一个文件。

inode是文件系统中非常关键的部分,对于文件的管理和访问至关重要。


Linux中的Swap空间是什么,它是如何工作的?

1、Swap空间是Linux系统中的一种虚拟内存管理机制。它的主要作用是:
2、当物理内存不足时,系统可以将内存中不常用的数据页交换到Swap空间,从而为需要更多内存的进程释放空间。
3、Swap空间可以是一个专用的分区(Swap分区)或一个文件(Swap文件)。
4、Swap的工作原理是基于页面置换算法,当系统物理内存紧张时,它会将内存中的数据页移动到Swap空间,从而为新的数据页腾出空间。


Linux系统中如何查看和监控系统性能?

在Linux系统中,查看和监控系统性能的常用方法包括:

1、top命令: 实时显示系统中各个进程的资源占用情况。

2、vmstat命令: 报告虚拟内存统计信息。

3、iostat命令: 监控系统输入输出设备和CPU使用情况。

4、netstat命令: 显示网络连接、路由表、接口统计等网络信息。

5、free命令: 显示系统内存使用情况。
这些工具和命令能帮助系统管理员有效监控和诊断系统性能问题。


Linux中的权限控制列表(ACL)是什么,如何使用它们?

Linux中的权限控制列表(ACL)提供了比传统权限设置更详细的权限控制。使用ACL可以对单个用户或组设置特定的权限。基本的ACL操作包括:

1、使用getfacl命令查看文件或目录的ACL。

2、使用setfacl命令设置或修改文件或目录的ACL。

例如,setfacl -m u:username:rw file命令会给特定用户对文件的读写权限。ACL是高级文件权限设置的有效工具。


Linux系统中的“僵尸进程”是什么,如何处理它们?

在Linux系统中,僵尸进程(Zombie Process)是指已经完成执行但其父进程尚未读取其退出状态的进程。它们的特点和处理方法如下:

1、特点: 僵尸进程已经释放了大部分资源,但在进程表中保留一个条目,包含退出码等信息。

2、处理: 通常,父进程会通过调用wait()waitpid()函数来读取子进程的退出状态,从而移除僵尸进程。如果父进程未正确处理,僵尸进程将保持在系统中。

3、解决方法: 可以尝试手动终止父进程,这通常会导致它的所有子进程被init进程接管并清理。如果不想终止父进程,可能需要修改并重启有问题的应用以防止产生更多僵尸进程。

僵尸进程通常不会导致严重问题,但如果数量过多,可能会消耗系统资源。


Linux中的I/O调度器有哪些类型,它们各自的特点是什么?

Linux中的I/O调度器负责管理对磁盘的读写请求。主要类型及其特点包括:

1、CFQ(完全公平队列)调度器: 为每个进程提供公平的磁盘时间。适用于多任务和通用系统。

2、Deadline调度器: 确保请求在一定时间内完成,优先处理即将到期的请求。适用于需要快速响应的系统。

3、NOOP(无操作)调度器: 是一个简单的FIFO队列,适用于高级存储系统(如SSD)。

4、Anticipatory调度器: 基于启发式方法,预测下一个即将到来的I/O请求,减少磁盘寻道时间。

根据系统的具体需求和硬件配置,选择合适的I/O调度器可以显著提高系统性能。


Linux系统中的RAID是什么,它有哪些常见类型?

RAID(冗余磁盘阵列的独立磁盘)是一种存储技术,它将多个磁盘组合成一个单一的逻辑单元,以提高性能和/或数据冗余。常见的RAID类型包括:

1、RAID 0(条带化): 将数据分散存储在两个或更多的硬盘上,提高读写速度,但不提供冗余。

2、RAID 1(镜像): 数据完全复制到两个或更多硬盘上,提供冗余,但容量只有单个硬盘的大小。

3、RAID 5(带奇偶校验的条带化): 分布式奇偶校验,提供数据冗余和改善性能。

4、RAID 10(镜像和条带化的组合): 结合了RAID 0和RAID 1的特点,提供冗余和性能的平衡。

选择合适的RAID级别取决于具体的性能和数据冗余需求。


Linux系统中的NFS是什么,它的主要用途是什么?

NFS(Network File System)是一种分布式文件系统协议,允许一个系统上的用户访问另一个系统上的文件,就像访问本地文件一样。其主要用途包括:
1、共享存储: 在网络中的多个机器间共享文件和目录。

2、简化数据管理: 中央管理数据,而非在每个客户端单独存储。

3、提高可用性和灵活性: 数据可以从网络的任何地方访问。

NFS广泛应用于企业和学术环境,提供了简单而有效的跨平台文件共享解决方案。


Linux中的SSH是什么,如何安全地使用SSH?

SSH(Secure Shell)是一种网络协议,用于安全地访问远程计算机。安全使用SSH的方法包括:

1、使用密钥认证: 相对于密码认证,使用SSH密钥对提供更高的安全性。

2、禁用根登录: 修改SSH配置,禁止远程根用户登录。

3、更改默认端口: 将SSH从默认的端口22更改为其他端口,减少自动化攻击的可能性。

4、使用防火墙限制访问: 仅允许可信的IP地址访问SSH端口。

5、使用Fail2ban: 自动阻止频繁尝试登录失败的IP地址。

遵循这些最佳实践可以显著提高通过SSH访问系统的安全性。

与面试题:Linux 系统基础提问 (一)相似的内容:

面试题:Linux 系统基础提问 (一)

Linux系统中如何管理用户和组? Linux系统中用户和组的管理通常包括以下几个方面: 1、创建用户和组: 使用useradd和groupadd命令创建新用户和新组。 2、修改用户和组信息: 使用usermod和groupmod命令来修改用户和组的信息。 3、删除用户和组: 使用userdel和g

[转帖]Shell三剑客之awk

目录 awk简述awk的工作过程awk的工作原理awk的基本格式及其内置变量getline文本内容匹配过滤打印对字段进行处理打印条件判断打印awk的三元表达式与精准筛选用法awk的精准筛选:awk的分隔符用法指定输出的分隔符awk结合数组运用面试题 awk简述 在 Linux/UNIX 系统中,aw

mini-centos7 环境安装部署,各种踩坑。。。

最小Linux系统,安装Java环境 想想就生气,去面试个运维,面试官让我上机装个centos7,还是个最小安装包连界面都没有,只有命令行模式,我都哭了,然后让把一些环境装一下,然后再部署个springboot项目,我他妈都多久没用没有界面的东西了,最后卡在安装MySQL上,真想扇自己个

[转帖]Linux:页表中PGD、PUD、PMD、TLB等概念介绍

1、PGD: Page Global Directory Linux系统中每个进程对应用户空间的pgd是不一样的,但是linux内核 的pgd是一样的。当创建一个新的进程时,都要为新进程创建一个新的页面目录PGD,并从内核的页面目录swapper_pg_dir中复制内核区间页面目录项至新建进程页面目

《对线面试官》| 高频 Python 面试题 pt.1

**1.聊聊 python 中的值传递和引用传递吧** - 值传递: 值传递意味着在函数调用时,将实际参数的值复制一份传递给函数的形式参数 在函数内部,形式参数将作为局部变量使用,对形式参数的修改不会影响原始变量的值 - 引用传递 引用传递意味着在函数调用时,将实际参数的引用(内存地址)传递给函数的

[转帖]Linux Shell 脚本的 10 个有用的“面试问题和解答”

http://blog.itpub.net/31545813/viewspace-2926667/ Linux 的浩瀚无垠,使人总能每次都提交与众不同的内容。这些内容不仅对他们的职业生涯很有用,同时也让他们增长知识。在此,我们就尝试这么去做,至于能取得多大的成功,就由我们的读者朋友们来判断吧。 在此

socket 到底是个啥

哈喽大家好,我是咸鱼 我相信大家在面试过程中或多或少都会被问到这样一个问题:你能解释一下什么是 socket 吗 我记得我当初的回答很是浅显:socket 也叫套接字,用来负责不同主机程序之间的网络通信连接,socket 的表现方式由四元组(ip地址:端口)组成 那么今天,咸鱼将跟大家打开 sock

[转帖]使用Linux命令快速查看某一行

原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介# 当年,我还是Linux菜鸟的时候,就在简历上写着精通Linux命令了,而当面试官问我“如何快速查看某个文件的第200行,仅这一行”时,我的心里是懵逼的。 当时面试官心里估计在窃喜,从我敷衍的回答中,他应该已经完全

9k+ Star 简洁好用的开源 Linux 运维管理面板

运维管理面板通过可视化界面和直观的键鼠操作取代了繁琐的命令行操作,让服务器运维管理步骤更简单,并且降低了操作的门槛,是一款实用的软件工具。

FFmpeg开发笔记(二十)Linux环境给FFmpeg集成AVS3解码器

​AVS3是中国AVS工作组制定的第三代音视频编解码技术标准,也是全球首个已推出的面向8K及5G产业应用的视频编码标准。AVS工作组于2019年3月9日完成第三代AVS视频标准(AVS3)基准档次的制订工作,参考软件的测试表明,AVS3基准档次的性能比上一代标准AVS2和HEVC提升了约30%。 l