当前位置:首页>Linux>Linux 操作快速入门2:建立Linux感知力,看懂系统在发生什么

Linux 操作快速入门2:建立Linux感知力,看懂系统在发生什么

  • 2026-09-09 03:43:15
Linux 操作快速入门2:建立Linux感知力,看懂系统在发生什么

在前一篇文章中,我们以 Windows 系统下的常见操作习惯为切入点,对照学习了 Linux 命令行的基础操作:登录、文件管理、文本编辑等。如果你跟着实践了一遍,现在应该已经能在 Linux 里活下来了——能登录、能建删改查、能用 vi 改个配置文件。

但「活下来」和「有掌控感」之间,还差一步。

这一步是什么?我举个例子:在 Windows 里,电脑卡了你会下意识打开任务管理器看一眼——CPU 是不是飙到 100% 了?内存是不是快满了?哪个进程在搞鬼?这套动作你做得行云流水,因为你对 Windows 有系统感知力。

但在 Linux 里呢?可能除了敲几个文件操作命令,你对系统内部发生了什么一无所知。遇到Permission denied 一脸懵,想装个软件不知道从何下手,想把 Windows 上的文件传到服务器上还得先去百度。

这就是本文要解决的问题。我们立下第二个 flag:建立起对 Linux 系统的「感知力」——能看懂系统状态、能理解权限机制、能自主管理软件、能在 Windows 和 Linux 之间自由传输文件。

同样地,在正式开始之前,把云服务器 ECS 的购买链接贴出来:

https://www.aliyun.com/minisite/goods?userCode=08mhjxsk
https://www.aliyun.com/daily-act/ecs/99program?userCode=08mhjxsk

第一个链接是阿里云新注册用户领取优惠券地址,第二个链接直通云服务器「99 套餐」购买页。

先感慨一下,前一篇文章发布到现在已一年有余。这一年可以说是 AI Agent 突飞猛进、走入千家万户的一年。

几个月前,阿里云也正式推出 Workbench AI Agent 模式,让 ECS 玩家能够通过简单对话完成复杂的 ECS 命令行操作。

Look!

用自然语言的方式即可操作 ECS:

这操作体验没准已经比 Windows 更丝滑了!

不过呢,我还是强烈建议,该打的基础、该掌握的基本命令,还是需要稍微花点功夫的。因此,本系列文章还是会继续写下去的。

开始吧!

1、系统状态感知——你的机器"累不累"?

在 Windows 中,当我们觉得电脑变慢时,第一反应是按Ctrl + Shift + Esc 或者在任务栏上右键打开任务管理器,切到 性能 标签页,看 CPU、内存、磁盘的使用情况。这套操作已经刻进肌肉记忆了。

Linux 中也有对应的「体检」手段,而且信息更丰富、更直接。

查看系统基本信息:你的机器"长什么样"?

在 Windows 中,右键 此电脑 → 属性,可以看到 CPU 型号、内存大小、系统版本等信息。Linux 中的对应命令如下:

查看操作系统版本和内核信息:

uname -a

uname 是 「Unix name」 的缩写,-a 表示「all」,会输出内核名称、主机名、内核版本、硬件架构等全套信息。

查看发行版详细信息:

cat /etc/os-release

这个文件里记录了操作系统的名称、版本号、ID 等。对于 Alibaba Cloud Linux 3 来说,你会看到类似如下的输出:

NAME="Alibaba Cloud Linux"VERSION="3 (OpenAnolis Edition)"ID="alinux"

注:Linux 的「版本」其实有两层含义——内核版本(uname -r 查看)和发行版版本(cat /etc/os-release 查看)。打个比方:内核是发动机,发行版是整车。同一台发动机可以用在不同品牌的车上。

查看内存:还剩多少?

在 Windows 任务管理器的 性能 页里,内存使用情况一目了然。Linux 中对应的命令:

free -h

-h 参数表示「human-readable」,会自动把字节数转换成 KB、MB、GB 等人类可读的单位。输出解读:

  • •total:总内存大小
  • •used:已使用的内存
  • •free:完全空闲的内存
  • •available:实际可用的内存(这个比free 更有参考价值,因为它包含了可回收的缓存)

一个小知识点:Linux 会尽量利用空闲内存做文件缓存来提升性能,所以free 列数值很小不一定是坏事,关键看available。

查看 CPU:几核的?

nproc

这个命令直接输出 CPU 核心数(逻辑核心)。比如输出2,就表示你的云服务器有 2 核。

查看磁盘空间:硬盘还剩多少?

在 Windows 中,打开 此电脑 就能看到 C 盘、D 盘的使用情况。Linux 中对应的命令:

df -h

df 是「disk free」的缩写,-h 同样是人性化显示。

输出中重点关注Size(总大小)、Used(已用)、Avail(可用)这几列,以及Mounted on(挂载点,可以理解为该分区对应哪个目录)。

对于我们的 ECS 来说,最需要关注的是挂载在/(根目录)的那一行,因为你的所有文件都存在这里。

查看某个目录占了多少空间

df 看的是整个分区的情况。如果你想知道某个具体目录(比如 WordPress 网站目录)占了多大空间,用du 命令:

du -sh /usr/share/nginx/html/wordpress

-s 表示只显示汇总大小(summary),-h 表示人性化显示。如果不加-s,它会列出目录下每个子目录的大小,信息量太大。

对应的回滚操作?不需要。这些只是查看命令,不会对系统做任何更改,放心用。

实时监控进程:Linux 版"任务管理器"

这是重头戏。Linux 中最接近 Windows 任务管理器的命令是top:

top

执行后会进入一个实时刷新的界面:

  • • 顶部几行是系统概况:运行时间、当前登录用户数、CPU 负载(load average)、内存和交换空间使用情况
  • • 下方是进程列表,按 CPU 占用从高到低排列,每行包括 PID(进程 ID)、用户、CPU 占用率、内存占用率、进程名称等

top 界面中常用的交互按键:

  • • 按q:退出
  • • 按1:展开/折叠每个 CPU 核心的使用情况
  • • 按M:按内存占用排序
  • • 按P:按 CPU 占用排序(默认)

如果你觉得top 的界面太朴素,可以试试它的升级版htop(需要先安装,后面软件管理部分会讲到):

htop

htop 支持彩色显示、鼠标点击、上下滚动浏览进程列表,对新手更友好。

查看所有运行中的进程

如果你只想看一眼进程列表,不需要实时监控,可以用ps 命令:

ps aux

参数拆解:

  • •a:显示所有用户的进程
  • •u:以用户友好的格式显示(包含用户名、CPU、内存等)
  • •x:包含没有关联终端的进程(比如后台服务)

这个命令的输出会比较多,通常配合grep 来过滤:

ps aux | grep nginx

这行命令的含义是:列出所有进程,然后从中筛选出包含「nginx」的行。| 是管道符,作用是把前一个命令的输出「喂」给后一个命令。

终止进程:Linux 版"结束任务"

在 Windows 中,程序卡死了我们会在任务管理器里右键 → 结束任务。Linux 中对应的命令是kill:

kill 12345      # 优雅地终止 PID 为 12345 的进程kill -9 12345   # 强制终止 PID 为 12345 的进程(相当于 Windows 的"立即结束")

PID(进程 ID)可以从top 或ps aux 的输出中获取。

如果你知道进程的名字,还可以用killall:

killall nginx   # 终止所有名为 nginx 的进程

对应的回滚操作:如果误杀了某个服务进程,可以重新启动它。比如 Nginx:

sudo systemctl restart nginx

注:kill 这个名字有点误导——它本质上是向进程「发信号」,默认信号是「请你优雅退出」,而不是「暴力干掉」。-9 参数(SIGKILL)才是真正意义上的强制终止。


2、权限机制——Linux 的"安全门禁"

在 Windows 中,右键 文件 → 属性 → 常规,可以看到不同用户对这个文件的权限。虽然大多数普通用户不常碰这个界面,但概念是存在的。

Linux 的权限机制更简洁、更透明,但也因此让新手感到困惑。Permission denied 可能是 Linux 新手最常看到的报错——本节的目标就是让你从此不再怕它。

重新认识ls -l:那一串rwxr-xr-x 到底是什么?

在前一篇文章中,我们学会了用ls -l 查看文件的详细信息。现在来深入解读它的输出:

ls -l note.txt

假设输出如下:

-rw-r--r-- 1 moweng moweng 1024 May 10 14:30 note.txt

我们来逐列拆解:

列
示例值
含义
第 1 列
-rw-r--r--
文件类型 + 权限
第 2 列
1
硬链接数(入门阶段可忽略)
第 3 列
moweng
文件所有者(owner)
第 4 列
moweng
文件所属组(group)
第 5 列
1024
文件大小(字节)
第 6-8 列
May 10 14:30
最后修改时间
第 9 列
note.txt
文件名

重点看第 1 列,它由 10 个字符组成,分为两部分:

-   rwx   r--   r--↑    ↑      ↑      ↑类型  所有者  组    其他人
  • •第 1 个字符:文件类型。- 表示普通文件,d 表示目录,l 表示软链接。
  • •第 2-4 个字符(rwx):文件所有者的权限。
  • •第 5-7 个字符(r--):所属组的权限。
  • •第 8-10 个字符(r--):其他人的权限。

r、w、x 的含义:

符号
全称
对文件的含义
对目录的含义
r
read
可以读取文件内容
可以列出目录内容(ls)
w
write
可以修改文件内容
可以在目录中创建/删除文件
x
execute
可以执行该文件
可以进入该目录(cd)
-
—
无此权限
无此权限

所以-rw-r--r-- 翻译过来就是:这是一个普通文件,所有者可以读写,组内用户可以读,其他用户可以读。

修改权限:chmod

在 Windows 中,我们在 常规 选项卡里勾选权限。Linux 中用chmod(change mode)命令。

chmod 有两种用法:数字模式和符号模式。对于入门来说,数字模式更简洁,推荐先掌握。

数字模式——每个权限对应一个数字:

权限
数字
r
(读)
4
w
(写)
2
x
(执行)
1
-
(无)
0

把需要的权限数字相加,就得到该角色的权限值:

数字
含义
7 = 4+2+1
rwx(读写执行)
6 = 4+2
rw-(读写)
5 = 4+1
r-x(读执行)
4
r--(只读)
0
---(无权限)

三个数字依次代表所有者、组、其他人。常用组合:

chmod 755 script.sh   # 所有者可读写执行,组和其他人可读执行(适合脚本和目录)chmod 644 note.txt    # 所有者可读写,组和其他人只读(适合普通文件)chmod 600 secret.txt  # 只有所有者可读写,其他人完全无法访问(适合私密文件)chmod 777 public.txt  # 所有人都能读写执行(权限最宽松,仅用于临时调试)

对应的回滚操作:记住修改前的权限值,需要时改回去即可。一般来说,普通文件的默认权限是644,目录的默认权限是755。

符号模式(了解即可)——用u(所有者)、g(组)、o(其他人)、a(所有人)加上+、-、=:

chmod u+x script.sh   # 给所有者增加执行权限chmod go-w note.txt   # 移除组和其他人的写权限chmod a=r note.txt    # 所有人的权限设为只读

修改所有者和所属组:chown

有时候文件的所有者不对,比如你用root 创建的文件,moweng 用户无法编辑。这时需要修改所有者:

chown moweng note.txt             # 将 note.txt 的所有者改为 mowengchown moweng:moweng note.txt      # 将所有者改为 moweng,所属组也改为 mowengchown -R moweng:moweng folder1/   # 递归修改整个目录的所有者和所属组

-R 参数表示递归(Recursive),对目录使用时会同时修改目录下所有文件和子目录的所有者。

对应的回滚操作:再用chown 改回去即可。

sudo 的正确打开方式

在前一篇文章中,我们知道了sudo 可以「提权」执行命令。这里补充几个关键认知:

什么时候需要sudo?

  • • 修改系统配置文件(如/etc 下的文件)
  • • 安装/卸载软件
  • • 管理系统服务(如重启 Nginx)
  • • 操作其他用户的文件

什么时候不需要sudo?

  • • 操作自己 home 目录下的文件(/home/moweng/)
  • • 查看系统信息(free、df、top、ps 等)
  • • 查看文件内容(cat、ls 等,只要文件本身可读)

一个简单的判断原则:如果操作影响范围仅限于你自己的文件,不需要sudo;如果会影响系统或其他用户,就需要sudo。


3、软件包管理——像「应用商店」一样装软件

在 Windows 中装软件,我们习惯的操作流程是:打开浏览器 → 搜索软件名 → 找到官网 → 下载.exe 安装包 → 双击安装 → 一路点 下一步。

Linux 则走了一条完全不同的路:包管理器。你可以把它理解为系统自带的 应用商店 ——软件都集中在一个仓库里,搜索、安装、更新、卸载都在同一个工具里完成,不需要打开浏览器。

Alibaba Cloud Linux 3 使用的是dnf 包管理器(老版本 CentOS/RHEL 用yum,用法几乎一样)。

搜索软件

不确定想要的软件包叫什么名字?用search:

dnf search htop

会列出所有名称或描述中包含 "htop" 的软件包。

安装软件

找到想要的软件后,用install 安装:

sudo dnf install htop -y

-y 参数表示自动确认,跳过"Are you sure?"的交互提示。加上sudo 是因为安装软件会影响系统,需要管理员权限。

装完之后,直接输入htop 就能用了——没有桌面快捷方式,没有开始菜单,但在终端里随时可以调用。

对应的回滚操作——卸载:

sudo dnf remove htop -y

查看已安装的软件

dnf list installed           # 列出所有已安装的软件包(很多,建议配合 grep)dnf list installed | grep nginx   # 查看 nginx 相关的已安装包

检查可用的更新

dnf check-update

这个命令会列出仓库中有新版本可用的所有软件包。

更新软件

sudo dnf update -y         # 更新所有可更新的软件包sudo dnf update nginx -y   # 只更新 nginx

对应的回滚操作——降级:

sudo dnf downgrade nginx -y   # 将 nginx 降级到上一个版本

装几个实用的工具

趁热打铁,以下是我推荐的几个小工具,装上之后能显著提升使用体验:

# htop:更好看的任务管理器sudo dnf install htop -y# lrzsz:终端里上传下载小文件(后面会用到)sudo dnf install lrzsz -y# tree:以树状图显示目录结构sudo dnf install tree -y# unzip:解压 .zip 文件sudo dnf install unzip -y

4、打通 Windows 和 Linux——文件自由流动

到目前为止,你的文件和操作都局限在云服务器内部。但在实际使用中,你一定需要把文件在两个系统之间搬来搬去——把本地的代码传到服务器上,或者把服务器上的日志下载到本地查看。

在 Windows 世界里,我们习惯用 U 盘、微信文件传输、网盘来传文件。Linux 服务器在云端,这些方法显然不适用。好在有更直接的方式。

scp:最常用的跨系统文件传输

scp(Secure Copy)基于 SSH 协议,安全且无需额外配置。在你的 Windows 本地电脑上打开 Git Bash(或其他支持 SSH 的终端),执行:

从本地上传到服务器:

scp -i ~/.ssh/moweng_rsa_key /d/myfile.txt moweng@<IP Address>:~/

拆解这行命令:

  • •scp:安全复制命令
  • •-i ~/.ssh/moweng_rsa_key:指定私钥文件(和前一篇 SSH 登录用的是同一把密钥)
  • •/d/myfile.txt:本地文件路径(Git Bash 中,D 盘写作/d/)
  • •moweng@<IP Address>:~/:远程服务器用户名、IP 地址和目标路径(~/ 表示 home 目录)

从服务器下载到本地:

scp -i ~/.ssh/moweng_rsa_key moweng@<IP Address>:/home/moweng/note.txt /d/

把本地路径和远程路径调换位置即可——逻辑和cp 命令一样:源在前,目标在后。

传输整个目录:

scp -i ~/.ssh/moweng_rsa_key -r /d/myfolder/ moweng@<IP Address>:~/

和cp 一样,传目录需要加-r 参数。

wget:从互联网直接下载文件

如果你需要的文件已经在网上(比如某个软件的安装包、一张图片),不需要先下载到本地再传到服务器,可以直接在服务器上用wget 下载:

wget https://example.com/file.zip

文件会下载到当前目录。如果下载过程中断,可以用-c(continue)参数续传:

wget -c https://example.com/large-file.zip

curl:下载 + 更多功能

curl 是另一个常用的下载工具,功能比wget 更丰富,但默认不会保存文件,需要加-o 参数:

curl -o file.zip https://example.com/file.zip

curl 的强项在于调试 API、查看 HTTP 响应头等高级场景,入门阶段了解即可。

lrzsz:终端里上传下载小文件

如果你用的是支持 Zmodem 协议的终端软件(如 Xshell、SecureCRT、某些版本的 Git Bash),安装lrzsz 之后可以更方便地传小文件:

# 上传:在终端中输入 rz,会弹出文件选择窗口rz# 下载:把服务器上的文件下载到本地sz note.txt

这种方式的好处是不需要输入长长的路径,弹窗选择即可,适合零散的小文件传输。不过 Workbench 控制台目前不支持此功能,需要用本地终端软件连接时才有效。


小结

本文沿着第 1 篇「Windows → Linux 对照」的思路,往前进了一步——从「会用命令」升级到「看懂系统」。现在你应该能够:

  • • 用free -h、df -h、top 等命令检查系统健康状况,不再对服务器状态一无所知
  • • 理解rwxr-xr-x 的含义,遇到Permission denied 知道该怎么排查和修复
  • • 用dnf 搜索、安装、更新、卸载软件,不再觉得 Linux 装软件是玄学
  • • 用scp、wget 在 Windows 和 Linux 之间自由传输文件

以下是本文命令总结,延续第 1 篇的对照表风格:

Windows 操作Linux 命令功能说明
此电脑 → 属性
uname -a
,cat /etc/os-release
查看系统和内核版本
任务管理器 → 性能 → 内存
free -h
查看内存使用情况
任务管理器 → 性能 → CPU
nproc
查看 CPU 核心数
此电脑 → C盘/D盘
df -h
查看磁盘分区空间
文件夹 → 右键 → 属性
du -sh
查看目录占用空间
任务管理器 → 进程
top
,htop,ps aux
查看进程
任务管理器 → 结束任务
kill
,killall
终止进程
右键 → 属性 → 安全
ls -l
(深入解读)
查看文件权限和所有者
修改文件权限
chmod
修改文件/目录权限
修改文件所有者
chown
修改文件所有者/组
以管理员身份运行
sudo
(深入解读)
提权执行命令
应用商店 → 搜索
dnf search
搜索软件包
下载安装软件
sudo dnf install
安装软件包
设置 → 应用 → 卸载
sudo dnf remove
卸载软件包
Windows Update
sudo dnf update
更新软件包
U盘拷贝 / 网盘传输
scp
跨系统文件传输
浏览器下载
wget
,curl -O
从互联网下载文件
文件传输窗口
rz
 /sz(lrzsz)
终端上传下载小文件

最新文章

随机文章