linux高频面试题目

01 如何使用单个命令行查看当前目录下的所有文件和子目录?

sh 复制代码
ls -a

ls -la 详细信息

02 描述Linux中的文件权限系统。drwxr-xr--这种表示方式意味着什么?

inux中的文件权限系统基于三种主要的实体:所有者(owner)、组(group)和其他用户(others)。每种实体都有三种基本的权限:读(read)、写(write)和执行(execute)。

权限表示法drwxr-xr--可以分解为以下部分:

第一个字符:文件类型

d: 表示这是一个目录。

-: 表示这是一个普通文件。

l: 表示这是一个符号链接。

其他字符也可能出现,但这些是最常见的。

接下来的三个字符:所有者的权限

rwx: 表示所有者有读、写和执行的权限。

接下来的三个字符:组的权限

r-x: 表示组有读和执行的权限,但没有写权限。

最后三个字符:其他用户的权限

r--: 表示其他用户只有读的权限,没有写和执行的权限。

所以,drwxr-xr--表示:

这是一个目录。

所有者可以读、写和进入该目录。

组成员可以读和进入该目录,但不能写。

其他用户只能读该目录,不能写或进入。

在数字表示法中,这些权限可以表示为:

r: 4

w: 2

x: 1

因此,drwxr-xr--可以表示为755。

03 如果一个程序在后台运行并且输出大量的日志到屏幕,如何将其重定向到一个文件并使程序在后台静默运行?

如果你有一个程序,比如叫做my_program,并且你想让它在后台运行,同时将其输出重定向到一个文件(例如output.log),

可以使用以下命令:

sh 复制代码
my_program > output.log 2>&1 &

>: 是重定向标准输出的符号。

&: 将使my_program在后台运行。

04 在Debian和Red Hat系列的Linux发行版中,分别使用哪些命令来安装软件包?

Debian系列 (如Debian, Ubuntu, Linux Mint等):

使用apt或apt-get工具。

sudo apt update # 更新软件包列表

sudo apt install # 安装软件包

或使用apt-get:

sudo apt-get update

sudo apt-get install

ed Hat系列 (如Red Hat Enterprise Linux, CentOS, Fedora等):

在旧版本中,使用yum工具。

在新版本中(特别是CentOS/RHEL 8及更高版本),使用dnf工具。

使用yum安装软件包的命令为:

sudo yum install

使用dnf安装软件包的命令为:

sudo dnf install

05 如何查看当前系统的磁盘使用情况,并找出使用最多磁盘空间的五个文件或目录?

查看当前系统的磁盘使用情况: 使用df命令,它会显示每个挂载点的磁盘使用情况:

复制代码
df -h

-h选项会使输出更易读,将大小显示为"人类可读"的格式,如GB、MB等。

找出使用最多磁盘空间的五个文件或目录: 从当前目录开始,使用du命令:

du -hs * | sort -rh | head -n 5

du -hs *: 显示当前目录下每个文件和目录的大小。-h使输出更易读,-s提供每个文件和目录的总计。

sort -rh: 对输出进行排序。-r表示逆序(从大到小),-h表示按"人类可读"的大小排序。

head -n 5: 只显示前五个结果。

06 如何查看当前系统的网络接口配置,并如何临时更改IP地址?

在Linux系统中,你可以使用多种方法来查看和更改网络接口的配置。以下是使用ip和ifconfig命令的方法:

ip addr show

ifconfig

临时更改IP地址:

ip addr add 192.168.1.100/24 dev eth0

ip link set eth0 up

07 描述top命令的功能。如何使用它来查找CPU使用率最高的五个进程?

top命令在Linux和Unix-like系统中是一个非常有用的实时系统监视工具。它提供了一个动态的实时视图,展示了系统中的进程和其关于CPU、内存等资源的使用情况。

top命令的主要功能:

显示系统摘要信息,如系统运行时间、在线用户数、系统负载、活跃进程数等。

显示CPU的使用情况,包括用户空间、系统空间和空闲时间。

显示物理和交换内存的使用情况。

列出系统中正在运行的进程,并显示其关于CPU、内存等资源的使用情况。

允许用户交互地发送信号到进程,例如停止或终止进程。

如何使用top来查找CPU使用率最高的五个进程:

默认情况下,top会按照CPU使用率对进程进行排序,其中CPU使用率最高的进程位于列表的顶部。

top

08 在Linux中,系统日志通常保存在哪个目录?如何实时查看新添加的日志条目?

在Linux中,系统日志通常保存在/var/log/目录。这个目录下有多个日志文件和子目录,其中包括系统、应用和服务的日志。

常见的日志文件包括:

/var/log/syslog 或 /var/log/messages: 包含全局系统消息的日志。

/var/log/auth.log: 包含系统授权信息,如用户登录和身份验证。

/var/log/kern.log: 包含内核消息。

/var/log/boot.log: 包含系统启动时的日志信息。

/var/log/dmesg: 包含内核启动和运行时的消息。

/var/log/faillog: 包含用户登录失败的日志。

/var/log/apache2/ 或 /var/log/httpd/: 如果你运行了Apache web服务器,这里会有相关的日志。

要实时查看新添加的日志条目,你可以使用tail命令的-f选项。例如,要实时查看系统消息,你可以运行:

tail -f /var/log/syslog

或者,如果你的系统使用/var/log/messages:

tail -f /var/log/messages

09 什么是sudo命令?

sudo 是一个Unix和Linux系统中的命令行程序,允许已经被授权的用户以其他用户的身份(通常为root用户)执行命令。sudo 的名称来源于 "superuser do" 或 "switch user do"。

功能和用途:

sudo 允许系统管理员为特定用户或用户组分配特定的命令权限,而不是给予他们完全的root权限。

使用 sudo 执行的命令通常会被记录,这有助于审计和系统管理。

sudo 通常要求用户输入他们自己的密码,而不是root密码,以验证他们的身份。

10 为什么直接使用root用户登录可能是一个不好的做法:

安全风险: 作为root用户,你有无限的权限。一个小小的错误,例如误删除关键系统文件,可能会导致整个系统崩溃或数据丢失。

审计问题: 如果多个管理员都使用root账户,很难追踪谁做了什么。使用个人账户和sudo可以确保所有命令都被适当地记录。

外部威胁: 如果攻击者能够破解或以某种方式获得root权限,他们将能够对系统做任何事情。限制直接root访问并使用sudo可以增加额外的安全层。

不必要的权限: 在大多数情况下,日常任务不需要root权限。只有在需要时才提升权限,可以减少意外对系统造成损害的风险。

程序和服务的风险: 如果你以root身份运行程序或服务,那么这些程序或服务在遇到漏洞时可能会被利用,从而给攻击者提供完全的系统访问权限。

相关推荐
天狼122213 分钟前
第5章-1 优化服务器设置
运维·服务器·adb
傻啦嘿哟1 小时前
Python正则表达式:用“模式密码“解锁复杂字符串
linux·数据库·mysql
浪裡遊3 小时前
Linux常用指令
linux·运维·服务器·chrome·功能测试
SugarPPig3 小时前
PowerShell 查询及刷新环境变量
服务器
段ヤシ.4 小时前
银河麒麟(内核CentOS8)安装rbenv、ruby2.6.5和rails5.2.6
linux·centos·银河麒麟·rbenv·ruby2.6.5·rails 5.2.6
深夜情感老师5 小时前
centos离线安装ssh
linux·centos·ssh
我的作业错错错6 小时前
搭建私人网站
服务器·阿里云·私人网站
王景程6 小时前
如何测试短信接口
java·服务器·前端
微网兔子7 小时前
伺服器用什么语言开发呢?做什么用什么?
服务器·c++·后端·游戏
夸克App7 小时前
实现营销投放全流程自动化 超级汇川推出信息流智能投放产品“AI智投“
运维·人工智能·自动化