【Linux 命令实战(01):认识 Linux 终端,从零掌握第一个命令】

TL;DR

  • 系列方向: 从 Linux 基础命令开始,逐步掌握文件管理、用户权限、进程管理、网络排查、日志分析和 Shell 自动化,最终通过真实案例提升 Linux 工程实践能力。
  • 本篇重点: 认识 Linux 系统、终端和 Shell,理解 Linux 命令的基本执行方式,并通过 pwd、whoami、uname、clear 等命令完成第一次 Linux 环境信息检查。

一、为什么要学习 Linux 命令?

如果你从事软件测试、自动化测试或者后端开发,那么 Linux 基本上是绕不开的一项技能。

举几个工作中经常遇到的场景:

  • 自动化测试执行失败,需要登录服务器查看日志。
  • 测试环境无法访问,需要检查服务是否启动。
  • 某个接口一直返回异常,需要定位服务端错误信息。
  • 测试服务器磁盘空间不足,需要分析哪些目录占用了大量空间。
  • 自动化测试程序运行异常,需要查看进程和系统资源。

这些问题看起来不一样,但最终都可能需要通过 Linux 命令来解决。

比如,当测试人员发现服务无法访问时,可能首先需要执行:

bash 复制代码
ping 服务器IP

如果需要确认服务端口是否正常监听,可以执行:

bash 复制代码
ss -lntp

如果需要查看服务运行日志,可以执行:

bash 复制代码
tail -f app.log

这就是学习 Linux 命令的意义。

它不是为了记住多少条命令,而是当系统出现问题时,能够通过命令快速获取信息、分析问题并找到解决方向。

二、先认识 Linux、终端和 Shell

在正式执行命令之前,需要先理解三个概念。

1. Linux 是什么?

Linux 是一种开源操作系统内核。

我们平时接触的 Ubuntu、Debian、CentOS、Rocky Linux 等,都是基于 Linux 内核构建的操作系统发行版。

不同发行版在软件包管理、系统配置和部分工具使用上有所区别,但很多基础命令是通用的。

例如:

bash 复制代码
pwd
ls
cd
mkdir

无论使用 Ubuntu 还是 CentOS,通常都可以使用这些命令。

2. 什么是终端(Terminal)?

终端可以理解为我们与 Linux 系统交互的入口。

以前操作计算机主要依靠图形界面,例如点击文件夹、打开软件、查看文件。

而在 Linux 中,我们也可以直接输入命令,让系统完成相应操作。

例如:

bash 复制代码
pwd

输入命令并按下回车,就可以查看当前所在目录。

3. 什么是 Shell?

Shell 是命令解释器,负责接收用户输入的命令、解析命令并调用相应程序执行。

常见的 Shell 有:

Shell 说明
Bash Linux 中非常常见的 Shell
Zsh 支持丰富的交互功能
Sh 常见的传统 Shell
Fish 注重交互体验的 Shell

可以简单理解为:

  • Linux:操作系统内核。
  • Terminal:输入和显示命令的窗口。
  • Shell:负责解释和执行命令。

三者配合,完成我们日常的命令行操作。

三、准备 Linux 实验环境

本系列主要使用 Ubuntu 22.04/24.04 作为演示环境。

如果已经有 Linux 服务器,可以直接通过 SSH 登录。

如果没有 Linux 环境,可以选择以下方式:

方式一:使用虚拟机

安装 VMware 或 VirtualBox,然后安装 Ubuntu。

方式二:使用 WSL

Windows 用户可以通过 WSL 在 Windows 中运行 Linux 环境。

安装命令:

powershell 复制代码
wsl --install -d Ubuntu

方式三:使用云服务器

购买或使用已有的 Linux 云服务器,通过 SSH 连接。

本系列的命令演示尽量使用普通用户执行,涉及系统管理的操作会单独说明权限要求。

四、第一次执行 Linux 命令

环境准备好之后,我们开始执行第一组命令。

1. 查看当前所在目录:pwd

执行:

bash 复制代码
pwd

可能得到这样的结果:

text 复制代码
/home/tester

这个结果表示当前用户所在的目录是 /home/tester。

这里需要理解一个概念:Linux 使用目录树结构组织文件,/ 表示根目录。

例如:

text 复制代码
/
├── bin
├── boot
├── dev
├── etc
├── home
│   └── tester
├── opt
├── tmp
├── usr
└── var

不同目录有不同用途:

目录 主要用途
/ 文件系统根目录
/home 普通用户的家目录
/root root 用户的家目录
/etc 系统配置文件
/var 日志及其他可变数据
/tmp 临时文件
/usr 系统程序及共享资源
/opt 可选软件及第三方应用

实际工作场景:

假设你登录测试服务器,准备查看自动化测试日志,但不确定当前在哪个目录。

这时候不需要猜测,直接执行 pwd 就能确认位置。

2. 查看当前登录用户:whoami

执行:

bash 复制代码
whoami

输出:

text 复制代码
tester

说明当前登录用户是 tester。

如果输出:

text 复制代码
root

则说明当前使用的是 root 账户。

为什么需要关注当前用户?

因为 Linux 有用户权限控制机制。

普通用户不能随意修改系统文件,而 root 用户拥有很高的系统管理权限。

在实际工作中,很多命令执行失败,并不一定是命令写错了,也可能是当前用户没有对应权限。

例如:

bash 复制代码
cat /etc/shadow

普通用户通常无法直接读取该文件。

3. 查看系统信息:uname

执行:

bash 复制代码
uname

可能输出:

text 复制代码
Linux

这只能说明当前系统内核名称为 Linux。

如果想查看更完整的信息,可以使用:

bash 复制代码
uname -a

示例输出:

text 复制代码
Linux test-server 5.15.0-xxx-generic #xxx-Ubuntu SMP x86_64 GNU/Linux

这里可以关注几个部分:

  • Linux:内核名称。
  • test-server:主机名。
  • 5.15.0:内核版本示例。
  • x86_64:系统架构。
  • GNU/Linux:操作系统标识。

如果只想查看内核版本:

bash 复制代码
uname -r

如果想查看系统架构:

bash 复制代码
uname -m

常见输出:

text 复制代码
x86_64

表示 64 位 x86 架构。

需要注意,uname 主要查看内核信息,并不能完整代表 Linux 发行版版本。

如果想知道当前使用的是 Ubuntu 22.04 还是 Ubuntu 24.04,可以执行:

bash 复制代码
cat /etc/os-release

示例:

text 复制代码
PRETTY_NAME="Ubuntu 24.04 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04 LTS"
ID=ubuntu

这才是查看发行版信息时更直接的方式。

4. 清理终端内容:clear

执行:

bash 复制代码
clear

终端显示区域会被清理,让后续操作更加整洁。

这个命令不会删除文件,也不会清除系统历史记录。

另外,在很多终端中也可以使用快捷键:

text 复制代码
Ctrl + L

达到类似的清屏效果。

五、把几个命令组合起来使用

前面分别学习了几个命令,现在我们尝试把它们组合成一个简单的 Linux 环境检查流程。

执行:

bash 复制代码
echo "===== Linux 环境检查 ====="

echo "当前用户:"
whoami

echo "当前目录:"
pwd

echo "内核版本:"
uname -r

echo "系统架构:"
uname -m

echo "发行版信息:"
cat /etc/os-release | grep -E '^(PRETTY_NAME|VERSION_ID)='

执行后,可以得到类似结果:

text 复制代码
===== Linux 环境检查 =====

当前用户:
tester

当前目录:
/home/tester

内核版本:
5.15.0-xxx-generic

系统架构:
x86_64

发行版信息:
PRETTY_NAME="Ubuntu 24.04 LTS"
VERSION_ID="24.04"

注意:上面的输出是示例,实际结果取决于你的 Linux 环境。

这个小练习虽然简单,但已经涉及了几个非常实用的知识点:

  1. 使用 echo 输出文本。
  2. 使用命令获取系统信息。
  3. 使用管道符 | 将前一个命令的输出传给后一个命令。
  4. 使用 grep 对输出内容进行筛选。

这也是 Linux 命令学习中很重要的一种思路:不要只学习单个命令,还要逐渐掌握命令之间的组合。

六、常见问题与注意事项

1. 输入命令后提示 command not found

例如:

bash 复制代码
abc123

输出:

text 复制代码
command not found

说明 Shell 找不到对应的命令或可执行程序。

可能原因:

  • 命令名称拼写错误。
  • 对应软件没有安装。
  • 程序所在目录没有加入 PATH 环境变量。

2. 输入命令后提示 Permission denied

例如:

bash 复制代码
cat /etc/shadow

输出:

text 复制代码
Permission denied

通常表示当前用户没有访问对应资源的权限。

不要遇到权限问题就习惯性使用 root。首先应该确认操作是否合理,以及当前用户是否应该拥有相应权限。

3. Linux 命令区分大小写吗?

区分。

例如:

bash 复制代码
uname

和:

bash 复制代码
UNAME

并不是同一个命令。

Linux 文件名通常也区分大小写,例如:

text 复制代码
app.log
App.log
APP.log

可以是三个不同的文件。

七、本篇实战:完成一次 Linux 环境检查

现在可以不看前面的示例,自己完成下面几个任务。

任务一: 查看当前登录用户。

任务二: 查看当前所在目录。

任务三: 查看 Linux 内核版本。

任务四: 查看系统架构。

任务五: 查看 Linux 发行版版本。

任务六: 将以上信息组合起来,输出一份简单的环境检查结果。

参考命令:

bash 复制代码
whoami
pwd
uname -r
uname -m
cat /etc/os-release

如果能够独立完成这些操作,就已经迈出了 Linux 命令学习的第一步。

八、本篇总结

这一篇没有涉及复杂的 Linux 操作,主要是帮助大家认识 Linux 命令行环境,并掌握几个最基础的命令。

命令 作用
pwd 查看当前目录
whoami 查看当前用户
uname 查看内核信息
uname -a 查看完整内核信息
uname -r 查看内核版本
uname -m 查看系统架构
clear 清理终端显示
cat 查看文件内容
grep 筛选匹配内容
echo 输出文本

我个人觉得,学习 Linux 最容易出现的问题就是一开始记住了不少命令,但真正遇到问题时,却不知道应该使用哪一个。

所以后续文章会尽量围绕具体场景展开,通过实际操作理解命令,而不是单纯背参数。


下一篇预告

Linux 命令实战(02):文件与目录操作,从 pwd、ls 到 cd,掌握 Linux 文件系统导航

下一篇将重点学习:

  • Linux 文件系统目录结构。
  • pwd、ls、cd 的详细用法。
  • ls -l、ls -a、ls -lh 的区别。
  • 绝对路径与相对路径。
  • 如何快速定位服务器上的项目目录和日志目录。

从下一篇开始,我们正式进入 Linux 文件与目录管理的实战阶段。

相关推荐
布裘42 分钟前
【银河麒麟】重启后时区丢失?排查发现 localtime 被业务程序替换成硬链接
linux·运维·网络
zhikouai2 小时前
把外部助手接进聊天软件的架构分层与参数配置
服务器·网络·php
huainingning2 小时前
锐捷10.X路由器版本升级不生效问题排查
运维·网络·智能路由器
荣合技术服务2 小时前
HPC 超算集群故障维修实录:找荣合科算维护后,模拟仿真计算又能跑了
运维·服务器·超算服务器·荣合科算
GeW4 小时前
高端化转型进入“补底层”阶段:Linux与数据库的再定位
linux
silent4 小时前
龙芯3B6000M运行Yolov8+FastApi
linux·loongarch·loongnix·龙芯
西西弗Sisyphus5 小时前
理解 Linux 动态库加载:LD_LIBRARY_PATH
linux
AR-26710-5 小时前
Linux Day31——实操启停服务改端口重启
linux·运维