Skip to content
Menu
(◍ ´꒳` ◍)

  • Blog
  • Front Page
(◍ ´꒳` ◍)

liunx面试题-简单

By erhu on 2023年3月8日2023年4月17日

什么是Shell,有哪些常见的Shell?

Shell是一种计算机程序,也是操作系统的命令解释器,可以让用户通过命令行界面来操作计算机。

常见的Shell有Bash、Csh、Ksh、Tcsh、Zsh等。其中,Bash是Linux和Mac OS X中默认的Shell,也是最常用的Shell之一。Csh和Tcsh是FreeBSD和其他BSD系统中默认的Shell,它们的语法与Bash不同。Ksh是Unix中的一种Shell,功能比Bash更强大。Zsh是一种功能非常强大的Shell,它可以自动完成命令、参数、文件名等等。

如何查看一个进程的资源占用情况?如何结束一个进程?

要查看一个进程的资源占用情况,可以使用 top 命令,它会实时显示系统中的进程、资源占用情况和负载等信息。也可以使用 ps 命令,使用 ps aux 可以列出当前系统中所有进程的详细信息,包括 CPU 占用、内存占用等信息。

结束一个进程可以使用 kill 命令。首先需要查找该进程的 PID(进程 ID),可以使用 ps 命令查看,然后使用 kill 命令杀死该进程。例如,要结束进程号为 1234 的进程,可以使用命令 kill 1234。如果进程无法正常结束,可以使用 kill -9 1234 命令强制结束。

如何添加用户?如何删除用户?

要添加用户,可以使用adduser命令或者useradd命令。例如:

sudo adduser username

或者

sudo useradd username

要删除用户,可以使用userdel命令。例如:

sudo userdel username

注意,在删除用户之前,应该先把该用户的文件和目录备份或者转移至其他地方,以防止数据丢失。

什么是RAID,有哪些常见的RAID级别?

RAID(Redundant Array of Independent Disks)是一种用于数据存储的技术,它将多个独立的硬盘组合在一起,形成一个逻辑驱动器,提供更高的数据可靠性和性能。

常见的RAID级别包括:

RAID 0:数据被划分成条带并跨多个物理驱动器写入,提供更快的读写速度,但没有冗余备份。

RAID 1:数据被完全复制到两个或多个驱动器上,提供数据冗余备份,但相对读写速度较慢。

RAID 5:数据被分成条带并跨多个物理驱动器写入,同时还将校验信息分布在多个驱动器上,提供更好的性能和数据冗余备份。

RAID 6:类似于RAID 5,但提供了更高级别的数据冗余备份,允许两个驱动器故障而不会导致数据丢失。

RAID 10:将RAID 1和RAID 0结合起来,提供数据冗余备份和更快的读写速度。

如何查看系统负载,如何优化系统负载?

在 Linux 操作系统中,可以使用以下命令来查看系统负载:

  1. uptime命令:该命令将显示系统当前的负载平均值。它还将显示系统已经运行了多长时间、有多少个用户登录以及系统的平均负载。
  2. top命令:该命令将显示当前正在运行的进程以及它们所消耗的 CPU 时间、内存和其他系统资源。它还将显示系统的负载平均值以及其他重要的系统指标。
  3. vmstat命令:该命令将显示系统的虚拟内存使用情况、磁盘活动情况以及 CPU 使用情况等。它还可以用于监视系统的 I/O 性能和内存使用情况。

要优化系统负载,可以采取以下措施:

  1. 升级硬件:增加内存、更换 CPU 或升级磁盘可以提高系统的性能和响应速度。
  2. 优化应用程序:调整应用程序的配置和参数,减少其对系统资源的消耗。
  3. 减少进程数:停止不必要的进程、限制每个用户的进程数或者使用守护进程来替代多个单独的进程。
  4. 分散负载:将负载分散到多台服务器上,可以降低单台服务器的负载并提高系统的可扩展性。
  5. 缓存和调整 I/O 操作:使用缓存和调整 I/O 操作可以减少磁盘和网络的负载,并提高系统的响应速度。

如何查看磁盘空间,如何清理磁盘空间?

在 Linux 操作系统中,可以使用 chmod 命令来设置和更改文件权限。该命令将修改文件的访问权限,其中包括三种权限:读取(r)、写入(w)和执行(x)。这些权限可以应用于三个用户组:文件所有者(owner)、文件所在组(group)和其他用户(others)。

以下是一些示例 chmod 命令的使用方法:

  1. 设置文件所有者可读写: chmod u+rw filename
  2. 设置文件所在组可读写: chmod g+rw filename
  3. 设置其他用户只可读: chmod o+r filename
  4. 设置文件所有者可执行: chmod u+x filename
  5. 设置文件所有者可读可写可执行,文件所在组和其他用户只可读: chmod 744 filename

上述示例中,数字 7 表示文件所有者的权限为读、写和执行(4+2+1),数字 4 表示文件所在组和其他用户的权限为只读(4)。

另外,可以使用 chown 命令来更改文件的所有者和 chgrp 命令来更改文件所在组。

例如:

  1. 更改文件所有者: chown new_owner filename
  2. 更改文件所在组: chgrp new_group filename

注意,在修改文件权限时要谨慎操作,确保文件的安全性和完整性。

请解释一下Linux的文件系统层次结构,并说明每个目录的用途。

Linux 文件系统层次结构是一个树状结构,主要由以下目录组成:

  1. /:根目录,包含所有其他目录和文件。
  2. /bin:包含常用的二进制文件,如 ls、cp 和 rm 等。通常被所有用户使用。
  3. /sbin:包含系统二进制文件,如 fdisk、ifconfig 和 iptables 等。通常只能被系统管理员访问。
  4. /usr:包含大部分用户和系统安装的应用程序和文件。这个目录下有很多子目录,包括:
    • /usr/bin:包含用户安装的二进制文件。
    • /usr/sbin:包含系统管理员使用的二进制文件。
    • /usr/lib:包含库文件。
    • /usr/local:包含用户自己安装的软件。通常与操作系统自带的软件分离。
  5. /etc:包含系统配置文件,如 passwd、fstab 和 hosts 等。
  6. /home:包含用户主目录,通常用于存储用户数据。
  7. /var:包含可变文件,如日志文件、数据库文件和缓存文件等。
  8. /proc:包含内存中的进程和系统信息。在这个目录下的文件不是真实存在的,而是内核提供的一种虚拟文件系统。
  9. /dev:包含设备文件,如硬盘、键盘和鼠标等。在 Linux 中,所有设备都被视为文件。
  10. /tmp:包含临时文件,通常用于存储程序和系统运行时产生的临时文件。

总的来说,Linux 文件系统层次结构按照用途进行划分和组织,可以使用户和系统管理员更方便地管理文件和目录,提高了系统的可维护性和可扩展性。

请解释一下Linux的进程管理机制,包括进程的状态以及如何管理进程。

Linux 是一种多任务操作系统,可以同时运行多个程序。每个程序在运行时都会被操作系统视为一个进程,并分配一个唯一的进程 ID(PID)。Linux 内核会通过进程管理机制来管理这些进程,包括进程状态的管理、进程调度和进程通信等。

Linux 进程有以下几种状态:

  1. 运行(Running):进程正在运行或准备运行。
  2. 中断(Interruptible):进程正在等待某个条件满足,如等待 I/O 操作完成或接收信号等。此状态也称为可中断的睡眠状态。
  3. 不中断(Uninterruptible):进程正在等待某个条件满足,但是该条件不能被中断。此状态也称为不可中断的睡眠状态。
  4. 停止(Stopped):进程被暂停或停止,例如被用户发送了 SIGSTOP 或 SIGTSTP 信号。
  5. 僵尸(Zombie):进程已经完成运行,但是父进程还没有接收到该进程的退出信号。这种状态下的进程称为僵尸进程,会占用系统资源,需要及时清理。

管理进程的主要工具是进程管理命令,其中包括:

  1. ps:查看系统中正在运行的进程列表和详细信息。
  2. top:实时监控进程状态,包括 CPU 和内存的使用情况。
  3. kill:向指定的进程发送信号,可以终止或控制进程的行为。
  4. nice:调整进程的优先级,可以使进程更高效地利用系统资源。
  5. renice:修改已经在运行的进程的优先级。
  6. systemctl:用于管理和控制系统服务和进程,例如启动、停止和重启服务等。

除此之外,Linux 还支持进程间通信(IPC)机制,例如管道、共享内存和消息队列等,可以让进程之间进行数据传递和交互。

请描述一下Linux中的内存管理机制,包括虚拟内存和内存映射的概念。

Linux 的内存管理机制包括虚拟内存和内存映射,可以让进程访问比物理内存更大的地址空间,并且允许多个进程同时共享同一个物理内存页。

虚拟内存是一种机制,可以将进程使用的虚拟内存地址映射到物理内存地址上。每个进程都有自己的虚拟地址空间,包括代码、数据和堆栈等区域。虚拟内存地址空间的大小不受物理内存的限制,因此可以支持更大的进程和更多的进程同时运行。

内存映射是一种机制,可以将文件或设备映射到进程的虚拟地址空间中。通过内存映射,可以让进程访问文件或设备的内容,就像访问内存一样方便和快速。内存映射还支持多进程共享同一个映射区域,这样可以减少进程之间的数据复制,提高系统的性能。

Linux 内核使用页式存储管理机制来实现虚拟内存和内存映射。页式存储将虚拟内存空间分成大小相等的页,每个页映射到物理内存中的一个页帧上。当进程访问一个虚拟内存地址时,Linux 内核会将该地址映射到对应的页帧上,并将页帧加载到物理内存中。如果物理内存不足,则会使用交换分区(swap partition)来交换页帧和硬盘上的数据。

Linux 还支持多种内存管理命令和工具,包括 free、top、vmstat 等,可以查看系统的内存使用情况和性能瓶颈,帮助管理员进行优化和调整。

请简述一下Linux的文件权限管理机制,包括权限的种类和如何更改权限。

在Linux中,每个文件和目录都有一个所有者和一个权限集。这个权限集控制了文件和目录的读、写和执行等操作,以及其他用户和组对这些文件和目录的访问权限。Linux的文件权限管理机制通过使用三种权限来控制这些操作:

1.读权限:允许用户读取文件或目录的内容 2.写权限:允许用户修改或删除文件或目录 3.执行权限:允许用户执行文件或访问目录中的文件列表

每个文件或目录都有一个权限位表示所有者、所属组和其他用户的权限。每种权限可以表示为一个数字,0表示没有权限,1表示执行权限,2表示写权限,4表示读权限。使用这些数字,可以将所有者、所属组和其他用户的权限表示为三个数字(例如,rwxr-xr-x 表示所有者具有读、写和执行权限,所属组和其他用户具有读和执行权限)。

在Linux中,可以使用 chmod 命令来更改文件和目录的权限。chmod命令通过数字或符号来表示权限的更改方式。数字表示每个权限的值(例如,755表示所有者具有读、写和执行权限,所属组和其他用户具有读和执行权限)。符号表示更改方式,包括:

  • 添加权限
  • 删除权限 = 设置权限

例如,使用 chmod +x filename 可以为文件 filename 添加执行权限。

总之,Linux的文件权限管理机制非常灵活,可以精细地控制用户对文件和目录的访问权限。管理员可以使用 chmod 命令来更改文件和目录的权限,从而确保文件和目录的安全性和机密性。

请解释一下Linux的网络配置机制,包括网络接口的配置和路由表的设置。

Linux的网络配置机制包括网络接口的配置和路由表的设置,可以让管理员轻松地配置网络连接并管理数据包的路由。

网络接口是计算机连接到网络的接口,可以是物理接口(例如以太网卡)或虚拟接口(例如回环接口)。在Linux中,可以使用 ifconfig 命令来配置网络接口,包括设置IP地址、子网掩码、广播地址和MAC地址等参数。ifconfig 命令还可以启用或禁用网络接口,以及配置网络接口的工作模式和速度等。

路由表是一个记录数据包发送路径的表格。在Linux中,可以使用 route 命令来设置路由表。route 命令可以添加、删除、显示和修改路由表的条目,包括设置默认路由、添加静态路由和配置网络接口的多个IP地址等。管理员还可以使用 ip 命令来配置网络接口和路由表,ip 命令提供了更多的功能和选项,例如网络命名空间、VLAN和桥接等。

Linux还支持各种网络协议和服务,例如TCP/IP、DNS、DHCP和NTP等。管理员可以使用配置文件和命令行工具来配置这些协议和服务,以确保网络连接的可靠性和安全性。

总之,Linux的网络配置机制提供了灵活的方法来配置网络接口和路由表,可以满足不同场景的需求。管理员可以根据需要使用ifconfig、route、ip和其他网络命令来管理Linux系统的网络连接和数据包路由。

如何查找正在占用端口的进程,同时如何强制结束该进程?

要查找正在占用端口的进程并强制结束该进程,可以按照以下步骤进行操作:

1.使用 lsof 命令来查找正在占用端口的进程:

codelsof -i :端口号

其中,端口号是需要查找的端口号。

例如,要查找占用端口号为80的进程,可以使用以下命令:

codelsof -i :80

2.查找到占用端口的进程后,可以查看进程的 PID (进程ID),然后使用 kill 命令结束进程:

codekill 进程PID

其中,进程PID是要结束的进程的PID。

例如,要结束PID为12345的进程,可以使用以下命令:

codekill 12345

3.如果需要强制结束进程,可以使用 kill -9 命令:

codekill -9 进程PID

其中,进程PID是要结束的进程的PID。

例如,要强制结束PID为12345的进程,可以使用以下命令:

codekill -9 12345

注意:强制结束进程可能会导致进程数据的丢失或损坏,因此应该仅在必要时使用该命令。

什么是SELinux?它的主要作用是什么?如何禁用SELinux?

SELinux(Security-Enhanced Linux)是一种强制访问控制(MAC)安全机制,它可以为Linux系统提供额外的安全层次,用于保护系统免受恶意软件、攻击和其他安全威胁。

SELinux的主要作用是控制进程和用户对系统资源(例如文件、网络端口和设备)的访问。它实现了强制访问控制,该机制可以强制执行系统策略,而不是仅仅依赖于用户和进程标识符(UID和GID)和文件权限。这种策略在系统上运行的每个进程和用户级别上实现,确保每个进程都只能访问它所需的最小资源集,并且无法超越其权限范围。

虽然SELinux可以提供额外的安全保护,但是它也可能会导致应用程序的不兼容性和配置问题。在某些情况下,可能需要禁用SELinux。

要禁用SELinux,可以按照以下步骤进行操作:

1.编辑/etc/selinux/config文件:

bash
sudo vi /etc/selinux/config

2.将SELINUX设置为disabled:

makefile
SELINUX=disabled

3.保存文件并退出编辑器。

4.重启系统以使更改生效。

在执行上述步骤后,SELinux将被禁用,但是请注意,禁用SELinux可能会导致安全风险,并且只应在必要时执行。如果您需要禁用SELinux,请确保您已经实施了其他安全保护措施来保护系统免受安全威胁。

如何查看系统内存使用情况,包括进程占用和空闲内存?如何释放缓存内存?

要查看Linux系统内存使用情况,可以使用以下命令:

1.查看系统整体内存使用情况:

c
free -h

该命令将显示系统的内存总量、已使用量、可用量以及缓存和交换区的使用情况。

2.查看进程占用的内存情况:

bash
aux --sort=-%mem | head

该命令将按照内存使用率(从高到低)排序并显示系统中最常用的进程。

要释放缓存内存,可以使用以下命令:

bash
sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches

该命令将清除缓存中的所有内容,并释放内存。请注意,释放缓存内存可能会影响系统性能,因此仅应在必要时执行。

如何查看系统的磁盘使用情况,包括已用和可用磁盘空间?如何扩展文件系统?

要查看Linux系统内存使用情况,可以使用以下命令:

1.查看系统整体内存使用情况:

cCopy codefree -h

该命令将显示系统的内存总量、已使用量、可用量以及缓存和交换区的使用情况。

2.查看进程占用的内存情况:

bashCopy codeps aux --sort=-%mem | head

该命令将按照内存使用率(从高到低)排序并显示系统中最常用的进程。

要释放缓存内存,可以使用以下命令:

bashCopy codesudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches

该命令将清除缓存中的所有内容,并释放内存。请注意,释放缓存内存可能会影响系统性能,因此仅应在必要时执行。

Category: liunx

文章导航

liunx面试题
liunx面试02

Related Posts

liunx面试题

3月 7, 2023
Read More

liunx面试02

3月 8, 2023
Read More

发表回复 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

近期文章

  • 实施002
  • 实施SQL001
  • 泛微oa001-字段
  • 硬件前端-海康威视摄像头
  • 使用Docker搭建Weblogic服务001

近期评论

    归档

    • 2023年10月
    • 2023年9月
    • 2023年8月
    • 2023年5月
    • 2023年4月
    • 2023年3月
    • 2021年11月
    • 2021年10月
    • 2021年9月
    • 2021年8月
    • 2021年5月

    分类

    • C
    • docker
    • iptable
    • ISIS
    • java
    • k8s
    • liunx
    • OpenCV py
    • ospf
    • solr
    • zabbix
    • 劳动法
    • 周杰伦
    • 格林法则
    • 等保
    • 鸿蒙

    其他操作

    • 登录
    • 条目feed
    • 评论feed
    • WordPress.org
    ©2025 (◍ ´꒳` ◍) | WordPress Theme by Superb WordPress Themes