linux命令01-查看信息

1. 查看 Linux 系统信息

操作系统发行版与内核信息 (系统 “ 身份 “)

  • cat /etc/os-release
    • 推荐指数: ⭐⭐⭐⭐⭐
    • 作用: 这是目前最通用的查看发行版名称和版本号的方法(例如是 Ubuntu 20.04 还是 CentOS 7)。
  • uname -a
    • 作用: 查看内核版本、系统架构(x86_64 等)和主机名。
  • hostnamectl
    • 作用: 如果你的系统是基于 Systemd 的(现在绝大多数都是),这个命令能显示非常汇总的信息(包括虚拟化类型、内核、架构等)。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.6 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.6 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial


#uname -a
Linux 4.15.0-1060-gcp x86_64

#cat /proc/version
Linux version 4.15.0-1060-gcp (buildd@lcy01-amd64-028) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12)) #64-Ubuntu SMP Thu Mar 26 03:21:15 UTC 2020

#cat /etc/issue
Ubuntu 16.04.6 LTS \n \l


#lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial

CPU 信息

  • lscpu
    • 推荐指数: ⭐⭐⭐⭐⭐
    • 作用: 格式化地显示 CPU 架构、核心数、线程数、型号频率等,非常清晰。
  • cat /proc/cpuinfo
    • 作用: 显示每个 CPU 核心的详细原始数据(内容较多,lscpu 其实就是整理了这个文件的内容)。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2

# cat /proc/cpuinfo 查看 CPU 信息
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU @ 2.30GHz
stepping : 0
microcode : 0x1
cpu MHz : 2300.000
cache size : 46080 KB

# cat /proc/cpuinfo| grep "processor"| wc -l 查看 CPU 个数
2

内存信息

  • free -h
    • 推荐指数: ⭐⭐⭐⭐⭐
    • 作用: 显示内存总量、已用、空闲和 Swap 信息。-h 参数表示以 “ 人类可读 “ 格式显示(GB, MB)。
  • cat /proc/meminfo
    • 作用: 查看极其详细的内存使用报告。
1
2
3
4
5
# 查看内存
free -h
total used free shared buff/cache available
Mem: 1.9G 769M 211M 21M 1.0G 1.0G
Swap: 0B 0B 0B

硬盘与分区 (Storage) 信息

  • df -h
    • 作用: 查看文件系统的磁盘空间使用情况(挂载点、剩余空间)。
  • lsblk
    • 推荐指数: ⭐⭐⭐⭐⭐
    • 作用: 以树状图显示块设备(硬盘、分区、挂载关系),非常直观。
  • fdisk -l (通常需要 sudo 权限)
    • 作用: 查看物理磁盘的详细分区表信息。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# df -h  查看磁盘空间
Filesystem Size Used Avail Use% Mounted on
udev 986M 0 986M 0% /dev
tmpfs 200M 22M 179M 11% /run
/dev/sda1 29G 5.6G 24G 20% /


#fdisk -l 查看Linux中的所有磁盘分区
Disk /dev/sda: 30 GiB, 32212254720 bytes, 62914560 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: A03F431A-7AE6-406D-B233-EED234598EEE

Device Start End Sectors Size Type
/dev/sda1 227328 62914526 62687199 29.9G Linux filesystem
/dev/sda14 2048 10239 8192 4M BIOS boot
/dev/sda15 10240 227327 217088 106M EFI System

Df -h 太乱怎么办

  • df -h 要忽略的垃圾信息
    • Filesystem 是 overlay:这是 Docker 容器产生的。每一个运行的插件(Add-on)都是一个容器,Docker 会把它们列出来。忽略它。
    • Filesystem 是 tmpfs / devtmpfs / /dev/zram2:这是内存里的临时空间,断电就没了,不占用物理硬盘。忽略它。
    • 你看到第一行 /dev/root 使用率 100% 也不要慌,那是系统镜像,设计就是只读且写满的,是正常的。

/dev/root 是什么意思,为什么会显示 100%

  • 这是只读的系统镜像,像光盘一样。在你的系统中,/dev/root 代表的是 操作系统的核心文件,它里面装着 Linux 内核、启动脚本和最基础的系统工具。
  • 为了保证系统绝对稳定,防止用户误删核心文件,或者突然断电导致系统损坏,这个分区是被设计成 “ 只读 “ (Read-Only) 的。
  • 既然你不能往里写东西,留出 “ 剩余空间 (Available)” 也就没有任何意义了。

2. 进程端口相关

查询进程

1
2
3
ps     # displays processes for the current shell.
ps -ef # Display every active process on a Linux system in generic (Unix/Linux) format.
ps -aux # Display all processes in BSD format.

查询端口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#1. 这类命令一定要用sudo
#2. a: all p: procee, t:tcp, u:udp, l:正在监听的 , n: 禁止域名解析, 只显示数字ip
sudo netstat -anp | grep 80
sudo netstat -tunlp | grep 80


# 知道进程名字反查端口
ps -ef | grep processName #得到processID
netstat -anp | grep processID #p能显示出进程名和进程id, 过滤得到端口

# 知道端口反查进程名字
sudo lsof -i :80

# 一个命令搞定
sudo netstat -anp | grep processID
sudo netstat -anp | grep processName

3. 参考教程