本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

简介:在Linux系统中,使用特定命令来查看系统信息是关键技能。这些命令覆盖硬件状态、软件配置、运行状态及资源使用情况。本文列举了多个实用的系统信息查看命令,并简述了它们的用途。这些命令包括:获取内核信息、Linux发行版信息、系统内存和进程状态,以及网络连接和磁盘使用情况等。熟练掌握这些命令有助于深入理解和有效管理Linux系统。
Linux命令大全

1. Linux系统信息概述

在当今的IT领域中,Linux操作系统以其实用性、灵活性及开源性,成为了服务器、嵌入式系统和桌面应用中的宠儿。本章将简要介绍Linux系统的基本信息,帮助读者快速了解Linux系统的概况,为后续更深入的技术探讨打下坚实基础。

Linux系统基于UNIX操作系统的思想,采用了模块化、多用户、多任务的操作模式。其核心即Linux内核,负责管理系统资源,提供各种服务。Linux发行版(Distribution)则是指在Linux内核的基础上,搭配上应用程序和安装程序,形成的完整的操作系统。Linux发行版种类繁多,从专注于服务器的Red Hat Enterprise Linux到适合桌面用户的Ubuntu,再到专为嵌入式系统设计的OpenWrt,它们都为不同领域的用户提供了丰富的选择。

对于IT专业人员而言,了解Linux系统的相关信息对于日常的系统管理及故障排除至关重要。在本系列文章中,我们会由浅入深地探讨如何在Linux环境下获取系统信息、管理用户、监控资源、管理进程和日志等。希望通过我们的学习,你能更好地掌握Linux系统,提高工作效率。

为了给读者们一个全面而连贯的学习体验,我们将按照以下结构深入探讨每一个话题:

  • Linux内核与发行版信息查看 :了解如何查询Linux内核信息和发行版版本。
  • Linux主机与用户信息查询 :掌握主机名和用户名信息的查询方法。
  • Linux系统资源与状态监控 :系统监控命令的使用和解释,包括内存、CPU和磁盘使用情况。
  • Linux进程与系统日志管理 :学习如何管理进程,以及如何查看和维护系统日志。

本系列文章将结合理论与实践,帮助你达到精通Linux系统的水平。让我们开始吧!

2. Linux内核与发行版信息查看

2.1 Linux内核信息的获取

Linux内核是操作系统的心脏部分,负责管理CPU、内存、设备驱动程序以及文件系统等。了解当前系统的内核版本对于系统管理员来说是基础但至关重要的信息。以下是几种常用的获取Linux内核信息的方法。

2.1.1 使用uname命令

uname 是一个非常有用的命令,它可以显示当前系统的一些信息。通过不同的参数,我们可以获取内核相关的详细信息。常见的用法如下:

  • 获取内核名称:
    bash uname -s
    参数 -s 会显示内核的名称,通常是“Linux”。

  • 获取所有可用信息:
    bash uname -a
    参数 -a 用于显示所有系统信息,包括内核版本、主机名、硬件架构等。

  • 获取内核版本信息:
    bash uname -r
    参数 -r 用于显示当前运行的内核版本。

输出的例子会是类似这样的内容:

Linux hostname 4.15.0-101-generic #102-Ubuntu SMP Thu Nov 29 14:18:34 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

从上面的例子中,我们可以得到内核版本是 4.15.0-101-generic ,并且该系统是一个64位的操作系统。

2.2 Linux发行版详细信息的探查

Linux发行版是指基于Linux内核的一个完整操作系统。每种发行版都有其独特的特点和特性。了解发行版的详细信息有助于我们获取正确的帮助和支持,特别是当处理特定问题时。

2.2.1 利用lsb_release命令

lsb_release 是一个用于展示Linux Standard Base (LSB)相关信息的命令。它可以用来获取有关Linux发行版的详细信息。这个命令通常在所有的标准Linux发行版中都可用。以下是一些常用的选项:

  • 显示发行版信息:
    bash lsb_release -d
    参数 -d 会显示发行版的描述信息。

  • 显示发行版代号(Codename):
    bash lsb_release -c
    参数 -c 用于显示发行版的代号(Codename)。

  • 显示发行版版本号:
    bash lsb_release -r
    参数 -r 用于显示发行版的版本号。

  • 显示发行版的发布信息:
    bash lsb_release -i -s
    参数 -i 用于显示发行版的发行者信息, -s 则会给出简短的结果。

2.2.2 查阅/etc/*release文件

除了 lsb_release 命令外,我们还可以通过查看 /etc/*release 文件来获取Linux发行版的详细信息。这些文件包含了关于操作系统版本和其他重要信息的详细描述。

  • 查看 /etc/os-release 文件:
    bash cat /etc/os-release
    /etc/os-release 文件包含了许多关于系统信息的键值对。

  • 查看 /etc/lsb-release 文件:
    bash cat /etc/lsb-release
    /etc/lsb-release 文件通常也包含了类似的信息。

  • 查看 /etc/issue 文件:
    bash cat /etc/issue
    /etc/issue 文件包含了一个关于系统的描述,例如发行版名称和版本。

以上这些方法都是获取Linux系统信息的有效手段。了解如何使用这些命令,可以帮助系统管理员和用户快速定位问题和理解他们的系统。在下一章节中,我们将继续探讨如何查看主机名与用户名信息。

3. Linux主机与用户信息查询

3.1 主机名与用户名信息的检索

3.1.1 通过hostname命令获取主机名

在Linux系统中, hostname 命令是用于设置或显示系统的主机名称。它对于网络通讯和主机名解析非常重要。要获取当前系统的主机名,只需在终端中执行以下命令:

hostname

执行该命令后,将输出当前系统的主机名。如果需要更改主机名,可以使用带有参数的 hostname 命令,但该操作通常需要管理员权限:

sudo hostname NEW_HOSTNAME

请将 NEW_HOSTNAME 替换为你希望设置的新主机名。需要注意的是,这种更改仅对当前会话或重启之前有效。若要永久更改主机名,则需要编辑 /etc/hostname 文件或 /etc/sysconfig/network (在某些Linux发行版中)。

3.1.2 利用whoami命令确认当前用户名

whoami 命令是一个简单的实用程序,用于打印当前有效的用户身份。这个命令通常用于需要确认当前用户身份的脚本中。执行 whoami 命令后,它会返回执行用户的用户名。

whoami

这个命令在没有参数的情况下运行,其功能等同于执行 id -un 命令。如果系统配置了多个用户身份,且有执行特定身份的需求,可以通过 sudo 命令切换到另一个用户,然后再次运行 whoami 来确认身份切换是否成功:

sudo su - OTHER_USER
whoami

这里 OTHER_USER 是你想要切换到的用户名。

3.2 用户身份与组信息的查看

3.2.1 使用id命令展示用户详细身份信息

id 命令能够显示当前用户或指定用户的用户ID、组ID等信息。在了解当前用户的详细信息时,无需任何参数直接运行 id 命令:

id

它会输出当前用户的身份信息,包括用户ID(UID)、用户名称(username)、用户所属的主组ID(GID)、用户所属的辅助组ID(GIDs)等。

如果你想查看其他用户的信息,可以在命令后添加用户名作为参数:

id OTHER_USER

上述命令会显示 OTHER_USER 的详细身份信息。

为了展示系统的用户和组信息, id 命令非常实用。系统管理员在诊断权限问题或进行用户配置时常常会使用到它。该命令不但可以查看个人用户信息,还能通过选项参数来获取更全面的系统用户组信息,例如:

id -G

-G 选项会列出指定用户所属的所有组,而 -n 选项可以和 -G 一起使用,使得输出更加友好:

id -Gn

这会将组名而非组ID列出来,提供了一个更容易理解的输出结果。

此命令在故障排查时尤其有用,可以快速确认文件或进程的用户组权限,帮助管理员定位权限配置问题。此外,在脚本中使用 id 命令能够自动化检查系统身份信息,提高运维工作的效率。

# 用于展示当前用户信息的脚本示例
#!/bin/bash
echo "Current user ID: $(id -u)"
echo "Current group ID: $(id -g)"
echo "User groups: $(id -Gn)"

以上脚本会打印出当前用户的ID、主要组ID和附加组列表。在Linux系统管理中,了解和使用 id 命令是一项基本技能,它帮助管理员和普通用户有效地处理与身份相关的任务。

4. Linux系统资源与状态监控

4.1 系统内存与资源的实时监控

4.1.1 使用free命令查看内存使用情况

Linux系统中,内存资源的监控是非常重要的。 free 命令能够提供当前系统内存的使用情况,包括物理内存(RAM)、交换空间(swap)以及其他内核使用的缓存和缓冲区。

执行 free 命令的基本语法是:

free [选项]

无选项时,默认以千字节为单位显示内存使用情况。

查看内存的详细信息,可以使用 -m 参数,这样可以以MB为单位展示内存状态:

free -m

输出结果会包括:

  • total :总可用内存大小。
  • used :已经使用的内存大小。
  • free :空闲的内存大小。
  • shared :多个进程共享的内存。
  • buff/cache :被内核缓存和缓冲区使用的内存大小。
  • available :可大致估算出应用程序可用的内存大小。

执行 free 命令后,我们可以得到输出如下:

              total        used        free      shared  buff/cache   available
Mem:           7978        1613        4152         119        2212        6070
Swap:          2047         118        1929

上面的输出告诉我们,系统总共有7978 MB的物理内存,其中1613 MB被使用,4152 MB空闲, buff/cache 显示的2212 MB是被内核用作缓存的内存。 available 列显示,虽然被使用的内存有1613 MB,但系统依然有大约6070 MB的可用内存,这是因为Linux内核会根据内存使用情况智能地管理内存的使用。

4.1.2 应用top、htop命令进行资源监控

top htop 是两个非常强大的系统资源监控工具,它们以实时更新的方式展示系统资源的使用情况。

  • top 是一个动态的实时监控工具,提供了进程优先级、内存使用率、CPU使用率等信息。默认情况下, top 会每隔3秒更新一次。

启动 top 的命令是:

top
  • htop top 的增强版本,提供一个交互式的界面,用户可以在这里对进程进行管理,如杀死进程、改变优先级等,并且 htop 提供了彩色的输出,更加直观易懂。

安装 htop 的命令是:

sudo apt-get install htop    # Debian/Ubuntu 系统
sudo yum install htop        # CentOS/RHEL 系统

启动 htop 的命令是:

htop

htop 通常包含以下几种主要信息:

  • 进程列表,显示进程状态、CPU和内存使用等。
  • 系统资源的摘要,如CPU使用率、内存使用情况、负载平均值等。
  • 用户菜单,提供各种系统命令的快捷方式。
  • 颜色编码,方便区分进程状态和资源类型。

4.1.3 利用vmstat、iostat命令分析系统性能

vmstat iostat 是用来收集和报告系统统计信息的命令行工具,它们提供对系统性能的深入了解,尤其是在涉及内存、进程、CPU和I/O性能方面。

  • vmstat 能够展示关于内核线程、内存、磁盘、系统进程、I/O块设备和CPU活动的统计信息。

运行 vmstat 命令的基本格式是:

vmstat [刷新次数] [刷新间隔]

例如,查看每秒刷新一次,一共刷新五次的系统状态:

vmstat 1 5

输出结果会包括以下几个部分:

  • Procs :进程信息,包括运行和阻塞的进程数。
  • Memory :内存信息,包括物理内存的使用情况。
  • Swap :交换分区的使用情况。
  • IO :输入/输出统计。
  • System :中断和上下文切换的次数。
  • CPU :CPU使用情况,包括用户态、系统态和空闲态的CPU时间百分比。

  • iostat 提供了关于CPU、设备和分区I/O的统计信息。

使用 iostat 的基本命令格式如下:

iostat [选项] [设备名] [刷新次数]

例如,查看以 1 秒为间隔刷新三次的设备I/O使用情况:

iostat -x 1 3

iostat 输出的数据块可以分为以下几个部分:

  • avg-cpu :CPU使用统计信息,包括用户态、系统态、I/O等待和其他在CPU上的时间百分比。
  • Device :提供设备利用率、每秒读写次数、每秒字节数等信息。
  • Disk :各个磁盘分区的读写统计信息。

以上命令的输出结果能帮助系统管理员理解当前系统的性能状况,并识别潜在的瓶颈。

5. Linux进程与系统日志管理

5.1 进程状态与信息的详细查看

在Linux系统中,进程管理是日常维护的重要部分,它可以帮助我们监控系统性能,分析问题所在,以及管理正在运行的服务。

5.1.1 利用ps命令列出进程信息

ps 命令是查看当前系统中进程状态的常用工具。通过该命令,我们可以快速获取系统中运行的进程信息,包括进程ID、运行状态、占用的CPU和内存资源等。

ps aux

以上命令会列出所有进程的详细信息。参数 a 表示列出所有进程, u 表示以用户为主的格式来显示进程信息, x 表示显示没有控制终端的进程。

5.1.2 通过lsof命令获取进程文件使用情况

当需要了解进程对文件系统的使用情况时, lsof 命令是不可或缺的。它可以列出当前所有打开的文件信息,以及使用这些文件的进程。

lsof -p <PID>

替换 <PID> 为你想要查看的特定进程ID。该命令会展示出哪些文件或目录被该进程打开或锁定。

5.2 系统登录与时间管理

系统登录信息记录了谁在何时登录了系统,这对于安全审计和监控是非常重要的。时间管理则是系统运行的基础,确保系统时间准确对于日志的正确解析至关重要。

5.2.1 使用last、w命令查看登录记录

last w 命令可以用来查看系统的登录记录。 last 命令会显示系统上一次启动以来的所有用户登录和注销信息。

last

w 命令则展示当前已登录用户的详细信息,包括他们运行的命令和占用的资源。

w

5.2.2 利用date命令管理系统时间

date 命令用于查看和设置系统时间。可以显示当前的日期和时间,也可以用来修改它。

date

显示当前系统时间。若要设置系统时间,可以使用以下命令:

sudo date -s "2023-03-24 12:34:56"

这将会把系统时间设置为2023年3月24日12时34分56秒。

5.3 交换分区的管理与监控

交换空间(swap)是Linux系统中用于虚拟内存管理的一个区域,它在物理内存使用完毕后被使用。

5.3.1 使用swapon、free -m命令管理交换空间

swapon 命令用于启用交换空间,而 free 命令用于查看内存和交换空间的使用情况。

启用一个交换文件:

sudo swapon /path/to/swapfile

要查看内存和交换空间的使用情况,可以使用:

free -m

-m 参数表示以MB为单位显示信息。输出结果中, Swap 列显示了交换空间的使用情况。

通过以上各命令和方法,我们可以有效地管理和监控Linux系统中的进程、登录活动和时间设置,以及交换分区的使用情况。这些信息对于系统管理员来说至关重要,有助于系统维护和性能调优。

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

简介:在Linux系统中,使用特定命令来查看系统信息是关键技能。这些命令覆盖硬件状态、软件配置、运行状态及资源使用情况。本文列举了多个实用的系统信息查看命令,并简述了它们的用途。这些命令包括:获取内核信息、Linux发行版信息、系统内存和进程状态,以及网络连接和磁盘使用情况等。熟练掌握这些命令有助于深入理解和有效管理Linux系统。


本文还有配套的精品资源,点击获取
menu-r.4af5f7ec.gif

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐