00.01.Linux系统基础概念详解

前言

Linux 作为一款开源、高效、稳定的操作系统,已广泛应用于服务器、嵌入式设备、云计算等领域。本指南将从基础概念到高级技巧,全面覆盖 Linux 系统的核心知识与实用技能,帮助你快速掌握 Linux 系统的使用与管理。

一、Linux 基础概念与历史

1.1 Linux 的诞生与发展

  • 起源:1991 年,芬兰学生 Linus Torvalds 为替代 Minix 系统,开发并发布了 Linux 0.01 版本,核心目标是创建一个自由、开源的操作系统内核。

  • 发展里程碑

    • 1994 年:Linux 1.0 发布(首个稳定版本)
    • 2003 年:Linux 2.6 发布(引入大量新特性,奠定现代架构)
    • 2011 年:Linux 3.0 发布(版本号跳跃,无重大架构变更)
    • 2019 年:Linux 5.0 发布(持续优化性能与兼容性)
  • 核心特点:开源免费、多用户多任务、跨平台支持、高度可定制。

系统版本查看命令

# 查看内核版本
uname -r

# 查看完整系统信息(内核、主机名、架构等)
uname -a

1.2 操作系统架构

Linux 采用分层架构设计,从底层到上层依次为:

层级 功能描述
硬件层 物理设备,如 CPU、内存、硬盘、网卡、显卡等
内核层 系统核心,负责硬件资源管理(进程调度、内存分配、文件系统、设备驱动等)
Shell 层 命令解释器(如 Bash、Zsh),作为用户与内核的交互接口
应用层 各类用户程序与工具,如浏览器、编辑器、数据库等

硬件信息查看命令

# 查看 CPU 详细信息
cat /proc/cpuinfo

# 查看内存使用情况(人性化显示)
free -h

# 查看磁盘使用情况
df -h

# 查看所有 PCI 设备(如网卡、显卡)
lspci

1.3 主流发行版介绍

Linux 发行版是基于 Linux 内核的完整操作系统,包含内核、软件包管理工具及各类应用。主流发行版可分为以下系列:

1. Debian 系列

  • 特点:稳定性强、软件仓库丰富、社区支持活跃。

  • 代表发行版

    • Debian:适合追求极致稳定的服务器场景。
    • Ubuntu:桌面与服务器通用,新手友好,云计算领域应用广泛。
    • Linux Mint:基于 Ubuntu,注重桌面用户体验。

2. Red Hat 系列

  • 特点:企业级支持、长生命周期、稳定性突出。

  • 代表发行版

    • RHEL(Red Hat Enterprise Linux) :商业企业级系统,提供官方支持。
    • CentOS:RHEL 的社区免费版,适合企业服务器。
    • Fedora:包含最新技术,适合开发者与技术尝鲜者。

3. 其他发行版

  • Arch Linux:滚动更新模式,高度可定制,适合进阶用户。
  • SUSE:欧洲流行的企业级发行版,注重系统管理与稳定性。

发行版版本查看命令

# Debian/Ubuntu 系统
lsb_release -a

# CentOS/RHEL 系统
cat /etc/redhat-release

# Arch Linux 系统
cat /etc/arch-release

# SUSE 系统
cat /etc/SuSE-release

发行版选择建议

  • 服务器场景:优先选择 CentOS(稳定性)、Ubuntu Server(云计算适配)、Debian(长期支持)。
  • 桌面场景:新手推荐 Ubuntu/Linux Mint,开发者推荐 Fedora/Arch Linux。
  • 嵌入式场景:轻量级发行版如 Alpine Linux、Buildroot。

二、Linux 命令行基础操作

2.1 Shell 简介

Shell 是用户与 Linux 内核交互的命令解释器,常见类型:

  • Bash:大多数 Linux 发行版默认 Shell,功能全面。
  • Zsh:增强版 Shell,支持主题、插件与高级补全。
  • Fish:交互友好,默认开启语法高亮与自动补全。

Shell 操作命令

# 查看当前使用的 Shell
echo $SHELL

# 切换 Shell(需提前安装)
chsh -s /bin/zsh  # 切换为 Zsh

2.2 基础命令速查表

系统信息命令

# 显示当前用户名
whoami

# 显示主机名
hostname

# 显示当前系统时间
date

# 显示系统负载与运行时间
uptime  # 格式:运行时间  用户数  1/5/15分钟负载

目录操作命令

# 显示当前工作目录
pwd

# 切换目录
cd /path/to/directory  # 绝对路径切换
cd ../subdir           # 相对路径切换(上级目录的subdir)
cd ~                   # 切换到用户家目录
cd -                   # 切换到上一次所在目录

# 创建目录
mkdir new_dir               # 创建单个目录
mkdir -p dir1/dir2/dir3     # 递归创建多级目录

# 删除空目录
rmdir empty_dir

文件操作命令

# 创建空文件
touch file.txt

# 复制文件/目录
cp source.txt dest.txt               # 复制文件
cp -r source_dir/ dest_dir/          # 递归复制目录

# 移动/重命名文件/目录
mv old.txt new.txt                   # 重命名文件
mv file.txt /path/to/directory/      # 移动文件

# 删除文件/目录
rm file.txt              # 删除文件(需确认)
rm -f file.txt           # 强制删除文件(不确认)
rm -r dir/               # 递归删除目录及内容

2.3 命令行效率技巧

常用快捷键

快捷键 功能描述
Ctrl + A 光标跳转至行首
Ctrl + E 光标跳转至行尾
Ctrl + C 终止当前命令执行
Ctrl + L 清屏(等同 clear 命令)
Ctrl + R 搜索历史命令(输入关键词匹配)
Tab 自动补全命令/文件名(双击显示候选)
Ctrl + Z 暂停当前任务并放入后台
!! 重复执行上一条命令
!n 执行历史记录中第 n 条命令
!keyword 执行最近以 keyword 开头的命令

命令历史管理

# 查看命令历史
history

# 清除命令历史
history -c

# 将历史记录保存到文件
history > command_history.txt

三、Linux 文件系统管理

3.1 文件系统结构

Linux 采用单根树状目录结构,所有文件从根目录(/)开始。核心目录功能如下:

目录路径 功能描述
/ 根目录,所有文件的起点
/etc 系统配置文件目录(如网络、服务配置)
/home 用户主目录(每个用户一个子目录,如 /home/username
/var 可变文件目录(日志、缓存、数据库文件等,内容随系统运行变化)
/tmp 临时文件目录(系统重启后清空,所有用户可读写)
/usr 应用程序与共享资源目录(如 /usr/bin 存放用户命令,/usr/lib 存放库文件)
/boot 系统启动相关文件(内核、引导程序)
/dev 设备文件目录(硬件设备以文件形式呈现,如 /dev/sda 代表第一块硬盘)

目录结构查看命令

# 以树形结构显示目录(需安装 tree 工具)
tree -L 1 /  # 显示根目录下一级目录结构

3.2 文件内容查看与搜索

文件内容查看命令

# 查看文件全部内容
cat file.txt

# 分页查看长文件(按 q 退出)
less file.txt  # 支持上下滚动、搜索(/关键词)

# 查看文件前 N 行
head -n 10 file.txt  # 查看前10行

# 查看文件后 N 行
tail -n 5 file.txt   # 查看后5行

# 实时跟踪文件更新(常用于日志监控)
tail -f /var/log/syslog  # 实时显示日志新增内容

文件搜索命令

# 按名称查找文件(区分大小写)
find /home -name "document.txt"        # 精确匹配
find /home -name "*.txt"               # 匹配所有txt文件

# 按内容搜索文件
grep "error" /var/log/syslog           # 在单个文件中搜索关键词
grep -r "warning" /var/log/            # 递归搜索目录中含关键词的文件
grep -i "Error" file.txt               # 忽略大小写搜索

3.3 文件权限管理

Linux 文件权限控制用户对文件的访问权限,分为读(r)、写(w)、执行(x) 三种权限,对应三类对象:所有者(u)、所属组(g)、其他用户(o)

权限表示方法

  • 符号表示:如 rwxr-xr-- 表示所有者可读可写可执行,所属组可读可执行,其他用户仅可读。
  • 数字表示:r=4,w=2,x=1,权限值为三类对象权限之和。如 754 表示所有者7(rwx)、所属组5(r-x)、其他用户4(r--)。

权限操作命令

# 查看文件权限
ls -l file.txt  # 输出格式:权限 所有者 所属组 大小 时间 文件名

# 数字方式修改权限
chmod 644 file.txt  # 所有者读写(6),其他只读(4)

# 符号方式修改权限
chmod u+x file.txt   # 给所有者添加执行权限
chmod g-w file.txt   # 移除所属组的写权限
chmod o=r file.txt   # 给其他用户设置只读权限
chmod a+r file.txt   # 给所有用户添加读权限(a=all)

# 递归修改目录权限(含子文件)
chmod -R 755 /path/to/dir

# 修改文件所有者与所属组
chown user:group file.txt  # 同时修改所有者和所属组
chown user file.txt        # 仅修改所有者
chgrp group file.txt       # 仅修改所属组

高级权限控制(ACL)

ACL(Access Control List)提供更精细的权限管理,支持对单个用户/组设置权限:

# 安装 ACL 工具(部分系统默认已安装)
apt install acl  # Debian/Ubuntu
yum install acl  # CentOS/RHEL

# 为用户设置 ACL 权限
setfacl -m u:username:rwx file.txt  # 允许用户username读写执行

# 为组设置 ACL 权限
setfacl -m g:groupname:rx file.txt   # 允许组groupname读执行

# 查看文件 ACL 权限
getfacl file.txt

四、Linux 用户与权限管理

4.1 用户账户管理

Linux 是多用户系统,每个用户通过唯一 UID(用户 ID)标识(root 用户 UID 为 0)。

用户操作命令

# 创建用户(-m 自动创建家目录)
useradd -m username

# 设置用户密码
passwd username  # 执行后输入密码(输入时无显示)

# 修改用户信息(如全名、家目录)
usermod -c "Full Name" -d /new/home username

# 删除用户(保留家目录)
userdel username

# 删除用户及家目录
userdel -r username

# 查看用户详细信息(UID、GID、所属组等)
id username

4.2 用户组管理

用户组用于批量管理用户权限,每个用户至少属于一个主组,可加入多个附加组。

组操作命令

# 创建用户组
groupadd groupname

# 将用户加入附加组(-a 保留现有组,-G 指定附加组)
usermod -aG groupname username

# 从组中移除用户
gpasswd -d username groupname

# 查看用户所属组
groups username

# 查看组内成员
getent group groupname

4.3 特权管理(sudo)

sudo 允许普通用户临时获取 root 权限,需通过 /etc/sudoers 配置授权。

sudo 常用操作

# 以 root 权限执行命令
sudo command  # 输入当前用户密码验证

# 切换到 root 用户(交互式 shell)
sudo -i

# 查看 sudo 权限配置
sudo cat /etc/sudoers | grep -v "^#"  # 过滤注释行

# 配置 sudo 权限(需 root 执行,使用 visudo 确保语法正确)
sudo visudo
# 在文件中添加:username ALL=(ALL) ALL  # 允许 username 执行所有命令

五、Linux 进程与服务管理

5.1 进程基础

进程是程序的运行实例,每个进程有唯一 PID(进程 ID),由内核负责创建、调度与终止。

进程查看命令

# 查看系统所有进程(详细格式)
ps aux  # a=所有用户进程,u=显示用户信息,x=包含无终端进程

# 动态查看进程(按 CPU 使用率排序)
top -o %CPU  # 按 q 退出,按 P 切换 CPU 排序,按 M 切换内存排序

# 增强版进程查看工具(需安装)
htop  # 支持鼠标操作,颜色区分进程状态

进程控制命令

# 终止进程(正常终止,发送 SIGTERM 信号)
kill PID

# 强制终止进程(发送 SIGKILL 信号,无法忽略)
kill -9 PID

# 根据进程名终止进程(需安装 pkill)
pkill process_name

# 查看进程树(显示进程间关系)
pstree -p  # -p 显示 PID

5.2 服务管理(systemd)

现代 Linux 发行版普遍使用 systemd 管理系统服务,服务以 *.service 配置文件定义。

服务操作命令

# 查看服务状态
systemctl status service_name  # 如 sshd、nginx

# 启动服务
systemctl start service_name

# 停止服务
systemctl stop service_name

# 重启服务
systemctl restart service_name

# 重新加载配置(不中断服务)
systemctl reload service_name

# 设置服务开机自启
systemctl enable service_name

# 禁用服务开机自启
systemctl disable service_name

# 查看所有已启动的服务
systemctl list-active-services

5.3 后台任务管理

通过后台运行任务,可避免终端被占用,适合长时间运行的命令。

后台任务操作

# 后台运行命令(结尾加 &)
long_running_command &

# 查看后台任务列表
jobs  # 输出格式:任务ID 状态 PID 命令

# 将后台任务调至前台
fg %job_id  # job_id 为 jobs 命令显示的任务编号

# 暂停当前前台任务并放入后台
Ctrl + Z  # 暂停任务
bg %job_id  # 让暂停的任务在后台继续运行

# 脱离终端运行任务(终端关闭后仍继续)
nohup long_running_command &  # 输出重定向到 nohup.out

六、Linux 软件包管理

软件包管理工具用于安装、卸载、升级软件,不同发行版采用不同工具。

6.1 Debian/Ubuntu 系列(APT)

APT(Advanced Package Tool)是 Debian 系列的包管理工具,依赖 deb 格式软件包。

APT 常用命令

# 更新软件包列表(获取最新版本信息)
sudo apt update

# 安装软件
sudo apt install package_name

# 卸载软件(保留配置文件)
sudo apt remove package_name

# 彻底卸载(删除配置文件)
sudo apt purge package_name

# 升级所有可更新软件
sudo apt upgrade

# 搜索软件包
apt search keyword  # 按关键词搜索

# 查看软件包信息
apt show package_name  # 显示版本、依赖、描述等

6.2 Red Hat 系列(YUM/DNF)

YUM(Yellowdog Updater Modified)是 CentOS/RHEL 的包管理工具,新版 RHEL 8+ 已用 DNF 替代 YUM(命令兼容),依赖 rpm 格式软件包。

YUM/DNF 常用命令

# 安装软件
sudo yum install package_name

# 卸载软件
sudo yum remove package_name

# 升级软件
sudo yum update package_name

# 升级系统所有软件
sudo yum update

# 搜索软件包
yum search keyword

# 查看软件包信息
yum info package_name

6.3 源码编译安装

对于无预编译包的软件,可通过源码编译安装,步骤如下:

# 1. 解压源码包
tar -xzf package.tar.gz
cd package_dir

# 2. 配置编译选项(--prefix 指定安装目录)
./configure --prefix=/usr/local/package

# 3. 编译源码
make  # 可加 -jN 多线程编译(N为CPU核心数)

# 4. 安装编译结果
sudo make install

6.4 国内软件源配置

默认软件源位于国外,下载速度慢,建议更换为国内镜像源(如阿里云、清华大学)。

Ubuntu 更换阿里源

# 备份原配置
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

# 写入阿里源(适用于 Ubuntu 24.04,其他版本需修改版本代号)
sudo tee /etc/apt/sources.list << EOF
deb http://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse
EOF

# 更新源列表
sudo apt update

CentOS 更换阿里源

# 备份原配置
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

# 下载阿里源配置(CentOS 7)
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# 生成缓存
sudo yum makecache

七、Linux 网络配置与管理

7.1 网络基础信息查看

# 查看网络接口与 IP 地址
ip addr  # 或 ifconfig(部分系统需安装 net-tools)

# 查看路由表(默认网关、子网路由)
ip route  # 或 route -n

# 查看网络连接状态(监听端口、已建立连接)
ss -tuln  # t=TCP, u=UDP, l=监听, n=数字显示端口
ss -antp  # a=所有连接, n=数字显示, p=显示进程

7.2 网络连接测试工具

# 测试网络连通性(ICMP 协议)
ping -c 4 example.com  # -c 指定发送次数

# 跟踪数据包路由路径
traceroute example.com  # 或 tracepath(简化版)

# DNS 解析测试
nslookup example.com  # 或 dig example.com

# 端口连通性测试
telnet example.com 80        # 测试 TCP 80 端口
nc -zv example.com 80-81     # nc 工具批量测试端口(-z 扫描模式,-v 详细输出)

7.3 防火墙配置

防火墙用于控制网络流量,不同发行版默认工具不同。

UFW(Uncomplicated Firewall,Ubuntu 默认)

UFW 是简化的防火墙工具,基于 iptables

# 启用防火墙
sudo ufw enable

# 允许 SSH 连接(默认端口 22)
sudo ufw allow ssh

# 允许指定端口(如 HTTP 80 端口)
sudo ufw allow 80/tcp

# 允许指定 IP 访问所有端口
sudo ufw allow from 192.168.1.100

# 查看防火墙规则
sudo ufw status

# 禁用防火墙
sudo ufw disable

firewalld(CentOS 默认)

firewalld 是动态防火墙管理工具,支持网络区域配置:

# 启动防火墙服务
sudo systemctl start firewalld
sudo systemctl enable firewalld  # 设置开机自启

# 允许 SSH 服务
sudo firewall-cmd --permanent --add-service=ssh

# 允许 80 端口(TCP)
sudo firewall-cmd --permanent --add-port=80/tcp

# 重新加载配置(使规则生效)
sudo firewall-cmd --reload

# 查看当前规则
sudo firewall-cmd --list-all

八、Shell 脚本编程入门

Shell 脚本是批量执行命令的文本文件,可实现自动化任务。

8.1 脚本基础结构

#!/bin/bash
# 这是注释:脚本功能描述
# 脚本文件名:hello.sh

echo "Hello, Linux!"  # 输出文本

脚本运行方法

# 1. 赋予执行权限后直接运行
chmod +x hello.sh
./hello.sh

# 2. 通过 bash 命令运行(无需执行权限)
bash hello.sh

8.2 变量与参数

  • 变量定义变量名=值(等号前后无空格)
  • 变量引用$变量名${变量名}(推荐后者,避免歧义)
  • 位置参数$1$9 表示脚本传入的参数,$0 为脚本名,$# 为参数个数。

示例脚本

#!/bin/bash
# 变量示例
name="Linux"
version=5.4
echo "系统名称: $name"
echo "内核版本: ${version}"  # 推荐使用 ${} 形式

# 参数示例
echo "脚本名称: $0"
echo "第一个参数: $1"
echo "参数总数: $#"

运行脚本:

chmod +x var_demo.sh
./var_demo.sh "test"  # 输出:脚本名称: ./var_demo.sh;第一个参数: test;参数总数: 1

8.3 条件判断与循环

条件判断(if 语句)

#!/bin/bash
read -p "请输入数字: " num  # 读取用户输入

# 条件判断格式:if [ 条件 ]; then ... fi
if [ $num -gt 10 ]; then
    echo "数字大于10"
elif [ $num -eq 10 ]; then
    echo "数字等于10"
else
    echo "数字小于10"
fi

循环语句

#!/bin/bash
# for 循环:遍历列表
echo "For 循环示例:"
for i in {1..5}; do  # {1..5} 表示 1到5 的序列
    echo "循环次数: $i"
done

# while 循环:条件满足时执行
echo -e "\nWhile 循环示例:"
count=1
while [ $count -le 3 ]; do
    echo "While 循环: $count"
    count=$((count + 1))  # 变量自增
done

8.4 实用脚本示例:日志备份

#!/bin/bash
# 功能:每日备份 /var/log 目录日志,并删除7天前的备份
BACKUP_DIR="/backup/logs"  # 备份目录
TIMESTAMP=$(date +%Y%m%d_%H%M%S)  # 时间戳(如 20231001_153045)

# 创建备份目录(不存在则创建)
mkdir -p $BACKUP_DIR

# 压缩备份日志(保留权限)
tar -czpf $BACKUP_DIR/logs_$TIMESTAMP.tar.gz /var/log

# 删除7天前的备份文件
find $BACKUP_DIR -name "logs_*.tar.gz" -mtime +7 -delete

echo "日志备份完成: $BACKUP_DIR/logs_$TIMESTAMP.tar.gz"

可通过 crontab 设置定时执行(如每天凌晨3点):

# 编辑定时任务
crontab -e
# 添加一行:0 3 * * * /path/to/backup_logs.sh

九、Linux 系统安全与维护

9.1 系统安全基础

账户安全检查

# 查看特权用户(UID=0 的用户,正常应只有 root)
awk -F: '($3 == 0) {print $1}' /etc/passwd

# 检查空密码账户(存在安全风险)
awk -F: '($2 == "") {print $1}' /etc/shadow

# 查看拥有 sudo 权限的用户
grep "ALL=(ALL)" /etc/sudoers

登录日志分析

# 查看最近登录记录
last -n 10  # 显示最近10条登录记录

# 查看失败登录尝试
lastb -n 10  # 需 root 权限

# 查看 SSH 登录日志
grep "sshd" /var/log/auth.log  # Debian/Ubuntu
grep "sshd" /var/log/secure    # CentOS/RHEL

9.2 防暴力破解(fail2ban)

fail2ban 可监控登录日志,自动封禁多次失败尝试的 IP。

安装与配置

# 安装 fail2ban
sudo apt install fail2ban  # Debian/Ubuntu
sudo yum install fail2ban  # CentOS/RHEL

# 创建自定义配置(覆盖默认设置)
sudo tee /etc/fail2ban/jail.local << EOF
[sshd]
enabled = true          # 启用 SSH 防护
port = ssh              # 目标端口
filter = sshd           # 使用预设的 sshd 过滤器
logpath = /var/log/auth.log  # Debian/Ubuntu 日志路径
# logpath = /var/log/secure  # CentOS/RHEL 日志路径
maxretry = 3            # 允许 3 次失败尝试
bantime = 3600          # 封禁 1 小时(3600秒)
EOF

# 启动服务并设置开机自启
sudo systemctl start fail2ban
sudo systemctl enable fail2ban

# 查看封禁状态
sudo fail2ban-client status sshd

9.3 系统备份与恢复

常用备份工具

# 1. rsync:增量备份工具(适合目录同步)
# 本地备份
rsync -av /source/dir /backup/dir  # -a 归档模式(保留权限),-v 详细输出

# 远程备份(通过 SSH)
rsync -avz -e ssh /source/dir user@remote_host:/backup/dir  # -z 压缩传输

# 2. tar:压缩备份(适合一次性备份)
tar -czpf backup.tar.gz /important/files  # -c 创建,-z 压缩,-p 保留权限,-f 输出文件

9.4 病毒扫描(ClamAV)

ClamAV 是开源 antivirus 工具,可扫描恶意文件。

# 安装 ClamAV
sudo apt install clamav clamav-daemon  # Debian/Ubuntu
sudo yum install clamav clamav-update  # CentOS/RHEL

# 更新病毒库
sudo freshclam  # 首次更新需停止 clamav-daemon 服务

# 扫描目录
sudo clamscan -r /home  # 递归扫描 /home 目录
sudo clamscan -r --remove /tmp  # 扫描并自动删除感染文件

十、Linux 高级技巧与故障排查

10.1 高效操作技巧

命令行效率提升

# 快速复制上一条命令的参数
echo !$  # 输出上条命令的最后一个参数(如先执行 ls file.txt,再执行 echo !$ 输出 file.txt)

# 命令输出同时显示与保存
command | tee output.log  # 终端显示输出,同时保存到 output.log

# 查找占用文件的进程
lsof /path/to/file  # 显示打开该文件的进程

# 查找占用端口的进程
lsof -i :8080  # 查找占用 8080 端口的进程
ss -antp | grep 8080  # 另一种方式

10.2 常见故障排查

磁盘空间不足

# 1. 查看磁盘使用情况,定位满盘分区
df -h

# 2. 进入满盘分区,查找大文件(大于100M)
cd /path/to/full/partition
find . -type f -size +100M 2>/dev/null  # 忽略错误信息

# 3. 清理系统日志(安全操作)
sudo journalctl --vacuum-size=100M  # 保留 100M 日志
sudo rm -f /var/log/*.log.*  # 删除旧日志归档

网络故障排查

# 1. 检查 DNS 配置(域名解析问题)
cat /etc/resolv.conf  # 查看 DNS 服务器

# 2. 检查网关连通性(路由问题)
ping $(ip route show default | awk '/default/ {print $3}')  # ping 默认网关

# 3. 抓包分析(需安装 tcpdump)
sudo tcpdump -i eth0 port 80 -w capture.pcap  # 抓取 eth0 接口 80 端口数据包

10.3 系统性能优化

# 查看 CPU 使用率高的进程
ps aux --sort=-%cpu | head -10  # 取前10个

# 查看内存占用高的进程
ps aux --sort=-%mem | head -10

# 清理系统缓存(临时释放内存,非必要不执行)
sudo sync; echo 3 > /proc/sys/vm/drop_caches  # 清理页缓存、目录项和inode缓存

结语

Linux 学习是一个“实践出真知”的过程,掌握基础命令后,建议通过实际任务(如搭建服务器、编写自动化脚本)深化理解。遇到问题时,善用 man 命令名 查看手册,或借助社区(如 Stack Overflow、Linux 中国)寻求帮助。随着实践积累,你将逐渐掌握 Linux 系统的精髓,享受开源技术的强大与灵活。

posted @ 2025-08-05 16:06  雾里看浮光(南知意)  阅读(100)  评论(0)    收藏  举报