無論是系統管理員、開發人員還是運維工程師,掌握Linux環境信息的查看技巧,都是確保系統穩定運行、高效排查問題、優化系統性能的重要基礎
本文將詳細介紹如何在Linux環境中獲取關鍵系統信息,幫助您更好地管理和維護您的系統
一、系統基本信息概覽 1. uname命令 `uname`(Unix Name)命令是獲取系統內核名稱、版本等基本信息的利器
通過`uname -a`,可以一次性查看所有關鍵信息,包括內核名稱、主機名、內核版本、處理器架構等
這對于快速了解系統底層架構非常有幫助
示例: uname -a 輸出示例: Linux hostname 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux 2. lsb_release命令 對于基于Debian的系統(如Ubuntu),`lsb_release`命令能提供更詳細的發行版信息,包括描述名稱、版本號、代號等
示例: lsb_release -a 輸出示例: No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.1 LTS Release: 20.04 Codename: focal 3. hostnamectl命令 `hostnamectl`不僅用于設置和查詢系統主機名,還能顯示系統的靜態主機名、動態主機名、圖標名稱、系統架構等信息,是系統信息查看的新寵
示例: hostnamectl 輸出示例: Static hostname: hostname Icon name: computer-vm Chassis: vm Machine ID: xxxxxxxxxxxxxxxxxxxxxxx Boot ID: xxxxxxxxxxxxxxxxxxxxx Virtualization: oracle Operating System: Ubuntu 20.04.1 LTS Kernel: Linux 5.4.0-42-generic Architecture: x86-64 二、硬件資源監控 1. lscpu命令 `lscpu`命令用于顯示有關CPU架構的信息,包括CPU型號、核心數、線程數、緩存大小等,是了解CPU性能的重要工具
示例: lscpu 輸出示例: Architecture: x86_64 CPU op-mode(s):32-bit, 64-bit Byte Order: Little Endian CPU(s): 8 On-line CPU list list: 0-7 Thread(s) per core: 2 Core(s) per socket: 4 Socket(s): 1 ... 2. lsblk命令 `lsblk`命令以樹狀結構顯示所有塊設備的信息,包括硬盤、分區、掛載點等,是磁盤管理的好幫手
示例: lsblk 輸出示例: NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931.5G 0 disk ├─sda1 8:1 0 512M 0 part /boot/efi ├─sda2 8:2 0 100G 0 part / └─sda3 8:3 0 830.9G 0 part /home 3. free命令 `free`命令用于顯示系統的內存使用情況,包括物理內存、交換空間的總量、已用量、空閑量等
通過`free -h`可以以人類可讀的格式(如GB、MB)展示
示例: free -h 輸出示例: total used free shared buff/cache available Mem: 15G 7G 2.5G 500M 5.5G 7G Swap: 2.0G 1G 1G 三、軟件與包管理 1. dpkg(適用于Debian系) `dpkg`是Debian及其衍生版(如Ubuntu)的包管理工具,用于安裝、刪除、查詢軟件包
通過`dpkg -l`可以列出所有已安裝的軟件包
示例:
dpkg -l | grep 通過`rpm -qa`可以列出所有已安裝的軟件包
示例:
rpm -qa | grep 通過`yum list installed | grep
示例:
dnf list installed | grep nginx
輸出示例:
nginx.x86_64 1:1.18.0-1.el8.ngx @nginx-stable
四、網絡與服務狀態
1. ifconfig/ip命令
`ifconfig`和`ip`命令用于查看和配置網絡接口 雖然`ifconfig`在某些現代發行版中已被`ip`命令取代,但兩者都能提供網絡接口的詳細信息,如IP地址、子網掩碼、廣播地址等
示例:
ip addr show
輸出示例:
1: lo: 通過`systemctl status
示例:
systemctl status nginx
輸出示例:
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded(/lib/systemd/system/nginx.service; enabled; vendor preset:enabled)
Active: active(running) since ...
...
五、日志查看與分析
1. journalctl命令
`journalctl`是systemd的日志管理工具,可以訪問由systemd管理的服務的日志 通過`journalctl`命令,可以查看系統日志、特定服務的日志,甚至按時間范圍篩選日志
示例:
journalctl -u nginx
輸出示例:
-- Logs begin at ...
...
Jul 15 10:00:01 hostnamesystemd【1】: Starting A high performance web server and a reverse proxy server...
Jul 15 10:00:01 hostnamenginx【1234】: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Jul 15 10:00:01 hostnamenginx【1234】: nginx: configuration file /etc/nginx/nginx.conf test is successful
Jul 15 10:00:01 hostnamesystemd【1】: Started A high performance web server and a reverse proxy server.
2. tail/less/grep命令
對于傳統的日