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身份运行程序或服务,那么这些程序或服务在遇到漏洞时可能会被利用,从而给攻击者提供完全的系统访问权限。

相关推荐
pk_xz12345623 分钟前
Shell 脚本中变量和字符串的入门介绍
linux·运维·服务器
小珑也要变强26 分钟前
Linux之sed命令详解
linux·运维·服务器
海绵波波10732 分钟前
Webserver(4.3)TCP通信实现
服务器·网络·tcp/ip
九河云2 小时前
AWS账号注册费用详解:新用户是否需要付费?
服务器·云计算·aws
Lary_Rock2 小时前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
幺零九零零3 小时前
【计算机网络】TCP协议面试常考(一)
服务器·tcp/ip·计算机网络
云飞云共享云桌面4 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
Peter_chq5 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
一坨阿亮6 小时前
Linux 使用中的问题
linux·运维
dsywws7 小时前
Linux学习笔记之vim入门
linux·笔记·学习