【第二篇】Linux 基础操作与 SSH 远程连接实战
一、查看系统信息
1.uname -a
执行 uname -a 查看系统内核信息,输出显示当前运行的是 Linux 内核 6.8.0-31-generic,架构为 x86_64,系统为 GNU/Linux,确认虚拟机环境正常。
2.cat /etc/os-release
执行 cat /etc/os-release 查看系统版本详细信息,确认当前系统为 Ubuntu 24.04 LTS(代号 Noble Numbat),版本信息完整,系统安装正确。

3.两者区别
| uname -a | cat /etc/os-release | |
| 显示内容 | 内核层信息 | 发行版信息 |
| 核心数据 | 内核版本、架构、编译时间 | 系统名称、版本号、代号 |
| 信息来源 | Linux 内核本身 | 发行版厂商写的配置文件 |
4.实际使用场景
用 uname -a 的场景:
- 安装驱动前确认内核版本(驱动必须匹配内核)
- 排查内核级别的 bug
- 确认系统是 32位还是 64位(x86_64)
- 编译软件时需要知道内核版本
用 cat /etc/os-release 的场景:
- 写脚本时判断是 Ubuntu 还是 CentOS,执行不同命令
- 确认系统版本,查找对应文档
- 运维交接时快速了解服务器环境
- 安装软件时确认系统代号(比如 noble、focal)
5.小结
uname -a 查看的是 Linux 内核层信息,适合排查驱动兼容性、内核版本问题;cat /etc/os-release 查看的是发行版信息,适合确认系统版本、编写跨发行版脚本时的环境判断。两个命令互补,初次登录一台新服务器时建议两条都执行,快速掌握系统全貌。
二.查看网络信息
1.ip addr show
查看本机网络接口配置,输出显示网卡 ens33 状态为 UP,已通过 DHCP 获取 IP 地址 192.168.112.130/24。适用于确认本机网络配置、排查网卡状态
2.ping -c 4 baidu.com
向百度发送 4 个 ICMP 探测包,结果显示 4 包全部收到、0% 丢包,平均延迟约 132ms,确认虚拟机网络连通外网正常。

二者区别:
ip addr show 是看自己的网络配置
2: ens33: ... state UP ← 网卡名 ens33,状态 UP(正常)inet 192.168.112.130/24 ← IPv4 地址,/24 是子网掩码
ping 是测和外部的网络连通性
4 packets transmitted, 4 received, 0% packet loss ← 4包全收,网络正常
rtt min/avg/max = 59/132/210 ms ← 延迟约 60-210ms
3.实际使用场景
用 ip addr show的场景:
- 刚登录服务器,第一件事查自己 IP
- 网络配置完后确认是否生效
- 排查网卡是否启动(state UP / DOWN)
- 配置防火墙规则前确认网卡名称
- 多网卡服务器确认走哪个网口
用 ping 的场景:
- 确认虚拟机能访问外网
- 排查网络故障(能 ping 通网关但 ping 不通外网 = DNS 问题)
- 测试两台服务器之间是否互通
- 粗略判断网络延迟和丢包情况
4.小结
ip addr show: 查看本机网络接口配置,输出显示网卡 ens33 状态为 UP,已通过 DHCP 获取 IP 地址 192.168.112.130/24。适用于确认本机网络配置、排查网卡状态。
ping -c 4 baidu.com: 向百度发送 4 个 ICMP 探测包,结果显示 4 包全部收到、0% 丢包,平均延迟约 132ms,确认虚拟机网络连通外网正常。
排查网络故障的标准顺序: 先 ip addr show 确认本机配置 → ping 网关确认局域网 → ping 外网 IP 确认路由 → ping 域名确认 DNS,逐层排查定位问题。
三.更新系统和换镜像源
1.sudo sed -i 's|http://cn.archive.ubuntu.com|https://mirrors.aliyun.com|g' /etc/apt/sources.list.d/ubuntu.sources # 换源
2.sudo apt update # 刷新包列表
3.sudo apt upgrade -y # 安装更新


看到底部有报错,是下载 linux-firmware 时网络中断了,提示:
Error reading from server - read (5: Input/output error)
Unable to fetch some archives, maybe run apt-get update or try with --fix-missing
4.执行这个命令sudo apt upgrade -y --fix-missing这个参数会跳过下载失败的包,把能装的都装上

5.看到最后出现 ubuntu@ubuntu-service:~$ 提示符,说明升级成功了!
先执行sudo reboot 进行重启,然后在连接 ssh ubuntu@192.168.112.130
四.安装常用工具
sudo apt install -y curl wget git net-tools

curl
从命令行发送 HTTP 请求,或下载文件
# 下载文件
curl -O https://example.com/file.tar.gz
# 测试接口是否正常(后面学 Edgebox API 会大量用到)
curl http://192.168.1.100/api/status
# 查看自己的公网 IP
curl ifconfig.me
和 Edgebox 的关系:Edgebox 提供 REST API 接口,调试时全靠 curl 发请求验证。
wget
专门用来下载文件,比 curl 更简单直接
# 下载文件
wget https://example.com/file.zip
# 断点续传(网络中断后继续下载)
wget -c https://example.com/bigfile.iso
curl 和 wget 都能下载文件,区别是 curl 更强大(能发 POST、带 header),wget 更简单,适合单纯下载。
git
代码版本管理工具
# 克隆项目代码
git clone https://github.com/some/project.git
# 查看版本历史
git log
后续拉取 Edgebox 相关项目代码、部署示例程序都要用到。
net-tools
网络诊断工具包,包含几个经典命令
# 查看网络连接和端口(比 ip addr 更直观)
ifconfig
# 查看哪些端口在监听
netstat -tlnp
# 查看路由表
route -n
ifconfig 和 netstat 是运维最常用的两个命令。

五.基础 Linux 命令练习
1.pwd
/ ← 根目录,最顶层
├── home/ ← 所有用户的家目录
│ └── ubuntu/ ← 你现在在这里 ✅
├── etc/ ← 系统配置文件
├── var/ ← 日志、数据文件
└── usr/ ← 系统软件

pwd 显示当前所在目录为 /home/ubuntu,即当前用户的家目录。Linux 用 / 作路径分隔符(Windows 用 \),所有路径从根目录 / 开始。
2.ls -la
ls -la 详解
ls = list(列出文件),-l = 详细格式,-a = 显示隐藏文件
拆解一行来看:
-rw-r--r-- 1 ubuntu ubuntu 559 Jun 23 08:21 file.tar.gz
| 字段 | 含义 |
| -rw-r--r-- | 权限:文件类型+所有者权限+组权限+其他人权限 |
| 1 | 硬链接数 |
| ubuntu ubuntu | 所有者 + 所属组 |
| 559 | 文件大小(字节) |
| Jun 23 08:21 | 最后修改时间 |
| file.tar.gz | 文件名 |
- rw- r-- r--
│ │ │ └── 其他人:只读
│ │ └────── 同组用户:只读
│ └────────── 所有者:可读可写
└──────────── 文件类型:- 是文件,d 是目录
ls -la 列出当前目录所有文件(含隐藏文件)。-l 显示详细信息包括权限、所有者、大小、时间;-a 显示以 . 开头的隐藏文件。权限字段如 -rw-r--r-- 分别代表文件类型、所有者权限、组权限、其他用户权限
3.mkdir test-dir # 创建单个目录

mkdir test-dir创建名为 test-dir 的目录,命令执行成功无输出(Linux 下:无输出即成功)。左边文件管理器可观察目录看到已创建。
4.cd test-dir
cd 详细解
cd test-dir # 进入 test-dir 目录
cd .. # 返回上一级
cd ~ # 回到家目录(/home/ubuntu)
cd / # 去根目录
cd /etc # 直接跳到 /etc 目录(绝对路径)

ubuntu@ubuntu-service:~$ ← 在家目录
ubuntu@ubuntu-service:~/test-dir$ ← 在 test-dir 里
cd test-dir进入刚创建的目录,终端提示符相当于等于~/test-dir,用pwd确认当前位置为/home/ubuntu/test-dir。cd是Linux最常用的命令之一,cd ..返回上级,cd ~回家目录。
5.touch hello.txt
touch hello.txt执行成功 ✅
左边文件管理器实时显示hello.txt已经出现,大小0字节,说明是空文件。
touch有两个用途:
① 创建空文件(最常用)
touch hello.txt # 创建空文件
touch a.txt b.txt c.txt # 一次创建多个
② 更新文件时间
touch 已存在的文件.txt # 不改内容,只更新"最后修改时间"

touch hello.txt创建一个空文件,左侧文件管理器可看到文件实时出现,大小为0字节。touch的本意是更新文件计时器,文件不存在时自动创建,是Linux空文件创建的标准方式。
6.echo "Hello Edgebox" > hello.txt
左边文件管理器显示hello.txt从0字节变成了14字节,说明内容已经写入!
echo 和 > 详细解
echo— 打印输出文字
echo "Hello" # 直接在终端显示 Hello
>重定向符—把输出写入文件(覆盖)
echo "Hello" > hello.txt # 写入文件,原内容会被覆盖
echo "World" >> hello.txt # >> 是追加,不覆盖原内容

二者:区别
| 符号 | 作用 |
| > | 覆盖写入,文件原内容清空 |
| >> | 追加写入,保留原内容 |
echo "Hello Edgebox" > hello.txt将文字写入文件。echo负责输出文字,>是重定向符号将输出写入文件命令,文件大小从 0 改为 14 字节,可在右侧文件管理器中查看。注意>会覆盖文件原内容,追加内容应使用>>。
7.cat hello.txt
cat = concatenate(连接/显示文件内容)
cat hello.txt # 显示文件内容
cat file1 file2 # 连接显示多个文件
cat -n hello.txt # 显示行号
cat /etc/os-release # 查看系统配置(前面用过)
cat 适合看小文件,大文件用这些:
less hello.txt # 分页查看,按 q 退出
tail -f log.txt # 实时追踪文件末尾(看日志必用)
head -20 log.txt # 只看前20行

cat hello.txt显示文件内容,可以看到两行内容:(Hello覆盖>写入)和Word(>>追加读取),分析验证了两种方向符号的区别。cat适合查看小文件,大文件建议用less(分页)或tail -f(实时跟踪日志)。
8.rm -rf test-dir
cd .. 和 rm -rf 详细解
cd ..— 返回上一级目录
cd .. # 上一级
cd ../.. # 上两级
cd ~ # 直接回家目录
rm -rf test-dir— 删除目录
rm file.txt # 删除单个文件
rm -r test-dir # 删除目录(r = recursive 递归)
rm -rf test-dir # 强制删除目录(f = force 不提示确认)
⚠️
rm -rf是Linux最危险的命令,删除后无法恢复,没有恢复站!生产环境执行前必须确认路径。rm -rf /会删除整个系统,永远不要执行。

cd ..返回上级目录,rm -rf test-dir强制删除目录及其所有内容,网关文件管理器可洞察看到目录消失。注意:rm -rf删除后无法恢复,无恢复站,执行前务必确认路径正确。

浙公网安备 33010602011771号