Linux入门必备:15个核心命令覆盖日常开发运维80%场景
2026/8/29 4:11:22 网站建设 项目流程

这次我们不看花哨的框架,也不讲复杂的源码,就解决一个最现实的问题:很多人在 Windows 上操作熟练,一打开 Linux 终端就发懵,不知道先敲什么命令。热词搜索里大量出现“linux删除文件夹命令”“linux常用命令大全”“vim命令”“linux find用法”“history命令详解”,说明不少人卡在了同一个地方——不是 Linux 学不会,而是没有一条清晰的命令主线。

这篇文章把 Linux 入门路线压缩成 15 个命令。它们覆盖目录切换、文件操作、日志查看、权限判断、进程排查、压缩解压、服务启动和端口检测。跟着敲一遍,就能覆盖日常开发和运维中 80% 以上的场景。重点是每个命令都给出适用场景和最容易踩的坑,而不是像命令大全那样只贴参数。

文章会按“环境准备 → 文件操作 → 文本处理 → 用户权限 → 系统查看 → 网络服务 → 高频排错 → 最佳实践”的顺序展开。每个命令都配了可复制的示例,最后还给出一套验收练习和生产环境建议。

1. 核心能力速览

能力项说明
适用范围Linux 服务器、云主机、虚拟机、WSL、嵌入式 Linux 开发板
命令数量15 个核心命令,覆盖文件、文本、权限、进程、网络、服务管理
技能门槛零基础可学,不需要编程经验
硬件要求本地虚拟机 2 核 4G 内存即可,云服务器 1 核 2G 也能跑
系统支持Ubuntu / Debian / CentOS / Rocky Linux / openEuler 等主流发行版
核心能力目录操作、文件操作、日志查看、权限判断、进程排查、压缩解压、服务启动、端口检测
扩展能力命令组合后可完成批量部署、日志分析、环境初始化、服务排错
本文演示内容安装环境、命令实操、验收流程、常见问题排查、生产环境最佳实践

先说明一点:Linux 命令不需要背参数表。你只需要记住“这个命令是干什么的”以及“遇到什么场景先用哪条命令”,参数用多了自然记住。这篇文章的目标就是帮你建立这条主线。

2. 适用场景与使用边界

2.1 适合谁用

  • 刚接触 Linux 服务器的新人,需要快速掌握日常操作。
  • 开发人员需要在 Linux 服务器上部署项目、查看日志、重启服务。
  • 运维人员需要排查进程、端口、磁盘和服务状态。
  • 准备 Linux 面试的读者,需要掌握命令的实际含义和组合用法。
  • 做嵌入式 Linux、边缘设备调试的工程师,需要通过命令查看系统资源。

2.2 能解决什么问题

  • 发布项目时,不知道把文件放在哪里,不知道如何解压包、如何启动服务。
  • 程序启动失败,不知道看什么日志、不知道进程是否还活着。
  • 端口被占用,不知道如何找到占用进程并释放端口。
  • 磁盘空间不足,不知道如何定位大文件和高占用目录。
  • 批量操作多个服务器,不会用命令组合快速处理。

2.3 使用边界与合规提醒

需要注意几点:

  • 涉及敏感数据的场景,需要先确认数据归属,不要越权访问其他用户的目录。
  • 生产环境执行rmkill、修改配置文件等操作,需要在测试环境验证后执行。
  • 出于安全考虑,不要随意关闭系统服务或修改系统核心配置。
  • 在合法获得授权的服务器、虚拟机、开发板上进行学习和测试,禁止对未授权的设备扫描或操作。
  • 使用sudo执行管理员权限命令时,需要确认操作授权和影响范围。
  • 不要在公共教程中公开真实服务器 IP、密钥、账号口令。

3. 15 个命令全景图

先把 15 个命令按用途分组,方便从整体上建立框架:

分组命令核心作用
目录与文件pwd查看当前所在目录
目录与文件cd切换目录
目录与文件ls查看目录内容
目录与文件mkdir创建目录
目录与文件touch创建空文件
目录与文件cp复制文件或目录
目录与文件mv移动或重命名
目录与文件rm删除文件或目录
目录与文件find查找文件
文本处理cat查看文件内容
文本处理grep按关键词过滤文件内容
文本处理tail/head查看文件尾部或头部
文本编辑vim编辑文件
压缩打包tar打包和解压
系统进程ps查看进程
系统进程kill结束进程
系统资源free查看内存使用
系统资源df查看磁盘使用
服务管理systemctl启动、停止、查看服务
网络排查ping/telnet/ss测试连通性、端口监听
用户权限whoami/sudo查看当前用户、提权执行
软件安装apt/yum安装和卸载软件
历史记录history查看历史命令

严格来说,15 个命令的说法是一个“起手式”。你完全可以按上面的分组,把每一组当作一个单元来练。下面从环境准备开始。

4. 环境准备与前置条件

4.1 三种最快得到 Linux 环境的方式

方式一:云服务器

这是最接近生产环境的方式。云服务器通常自带公网 IP,可以直接用 SSH 登录。第一次购买建议选带 Ubuntu 或 CentOS 镜像的机型,1 核 2G 内存足够学习。

方式二:本地虚拟机

在 Windows 上安装 VMware Workstation Player 或 VirtualBox,再选择一个 Linux 镜像安装。虚拟机的好处是本地测试,不产生额外费用,可以随便折腾命令。缺点是占用本机内存和磁盘。

方式三:WSL(Windows Subsystem for Linux)

如果只是想在 Windows 里快速体验 Linux 命令,WSL 是最快的方式。在 Windows PowerShell 中执行:

wsl --install

安装后默认会得到一个 Ubuntu 环境。WSL 比较适合做命令练习,和真实 Linux 服务器还是有一些差异,但如果只是学命令,它足够用。

不管是哪条路径,学习命令的思路完全一致:登录后先用pwd确认位置,再用ls看目录,然后用cd切换路径。这套流程就是 Linux 操作的基本动作。

4.2 用 SSH 远程登录

如果用的是云服务器,登录命令一般是:

ssh root@服务器IP

这里包含两层信息:root是登录用户名,服务器IP是目标主机地址。输入回车后,终端会提示输入密码。

判断是否连接成功:

Welcome to Ubuntu 22.04.4 LTS

看到欢迎信息或命令提示符,就说明已经进入 Linux 终端了。

4.3 本地登录终端

如果是虚拟机或 WSL,直接打开终端即可。这句话的意思是:你的命令提示符通常是$(普通用户)或#(管理员用户)。

ubuntu@test:~$

这里ubuntu是用户名,test是主机名,~表示当前位于当前用户的家目录。Linux 终端不会显示太多废话,所有信息都通过提示符本身传递。

4.4 环境安全检查

进入系统后,先确认三件事:当前用户、当前目录、系统类型。

whoami
  • 当前登录用户。
pwd
  • 当前所在目录完整路径。
cat /etc/os-release
  • 查看系统发行版信息。常见的有 Ubuntu、CentOS、Debian、Rocky Linux、openEuler 等。
uname -a
  • 查看内核版本。如果需要在特定内核版本上测试命令,先看这里。

第二步是执行第一个完整流程:用pwd确认位置,用ls查看目录内容,用cd进入目标目录,用mkdir创建新目录,用touch创建文件。这一套流程跑通,Linux 基本操作就算入门了。

4.5 通过 Xshell / MobaXterm / VS Code 连接

很多读者是在 Windows 上学习 Linux。热词里提到“xshell命令回退目录”“企业微信linux”,说明这类需求很常见。这里推荐几类终端工具:

  • Xshell:Windows 下常用,支持 SSH 和 SFTP,操作习惯和资源管理器接近。
  • MobaXterm:自带文件管理、端口转发,适合做批量运维。
  • VS Code Remote-SSH:适合开发场景,也支持直接ssh 用户名@IP连接。
  • Windows 11 自带 OpenSSH 客户端,可在 PowerShell 里直接执行 SSH 命令。

连接后,依然用pwdlscd这套命令操作。配置好 SSH 密钥后可以免密登录,后续执行命令效率更高。

5. 15 个命令实操:文件与目录操作

5.1 ls:查看目录内容

ls是 Linux 里使用频率最高的命令。它用来列出目录下的文件和子目录。

基本用法:

ls
  • 列出当前目录下可见文件。
ls -l
  • 长格式显示:权限、链接数、属主、属组、大小、修改时间、文件名。
ls -a
  • 显示隐藏文件,包括以.开头的文件,例如.bashrc.ssh
ls -lh
  • 以人类可读格式显示文件大小,例如 1.2K、34M。
ls -lt
  • 按修改时间倒序排列,适合查找最近刚修改的文件。

面试或工作中,ls -l的字段含义是高频考点:

-rw-r--r-- 1 root root 1024 Jan 10 10:30 test.txt
  • 第 1 位-表示普通文件,d表示目录,l表示软链接。
  • 后 9 位是权限位,前三组分别对应属主、属组、其他用户。
  • r读取,w写入,x执行。
  • 后面的数字是硬链接数,目录一般显示 2 或 3。
  • 再后面是属主、属组、文件大小、最后修改时间和文件名。

想快速记忆权限,记住r=4w=2x=1,所以755表示属主可读写执行,属组和其他用户只读和执行。

5.2 cd:切换目录

cd用于切换当前工作目录。

cd /tmp
  • 直接进入绝对路径。
cd ..
  • 返回上一级目录。
cd ~
  • 回到当前用户家目录。
cd -
  • 切换到上次所在目录。cd -会在终端里打印上一次的目录路径,适合在两个目录之间来回操作。

常见疑问:cd后面没有路径时,默认回到家目录。热词里提到“xshell命令回退目录”,其实就是cd ..cd -的组合使用。每次进入深层路径后,先cd ~回位,再重新进入,不容易迷路。

5.3 pwd:显示当前目录

pwd是 Print Working Directory 的缩写。当命令提示符没有显示完整路径,或者脚本里需要判断当前位置时,用它确认。

pwd

输出示例:

/root/projects/test

在写脚本、执行相对路径命令时,先pwd确认目录,能避免误删文件或生成到错误位置。

5.4 mkdir:创建目录

mkdir用来创建目录。

mkdir logs
  • 创建单级目录。
mkdir -p logs/2025/01
  • 递归创建多级目录。-p的作用是:如果父目录不存在,会一并创建。这个参数在部署项目中非常常用,因为目标目录可能还没建好。

创建目录后,用ls -ld验证:

ls -ld logs

如果看到d开头的权限串,说明目录创建成功。

5.5 rm:删除文件或目录

rm是风险最高的命令之一。热词里“linux删除文件夹命令”属于高频搜索。

rm test.txt
  • 删除单个文件。
rm -r logs
  • 递归删除目录。
rm -rf logs
  • 递归强制删除目录,不提示确认。-f会忽略不存在的文件,也不会逐个确认。

安全建议:

  1. 生产环境尽量先ls确认路径,再执行rm -rf
  2. 写脚本时避免把/~*等通配符直接拼在rm -rf后面。
  3. 重要目录可以设置为只读或做备份快照。
  4. 如果不确定目标路径,先用find查看再删除。
  5. 删除前给自己一个“先pwdrm”的固定习惯。

5.6 cp:复制文件或目录

cp用于复制文件,复制目录要加-r

cp test.txt /tmp/
  • 复制文件到 /tmp 目录。
cp -r projects /tmp/projects_backup
  • 递归复制整个目录。
cp -a /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
  • 归档复制,保留权限、属主、时间戳等属性。改配置前备份文件,推荐用cp -acp -p

5.7 mv:移动或重命名

mv用来移动文件,也可以在同一个目录下实现重命名。

mv test.txt /tmp/
  • 移动文件到 /tmp。
mv test.txt demo.txt
  • 将 test.txt 重命名为 demo.txt。
mv nginx.conf nginx.conf.bak
  • 这是运维中修改配置前常见的快速备份方式,适合临时改名。

5.8 touch:创建空文件

touch用于创建空文件,也用于更新时间戳。

touch /tmp/empty.txt
  • 如果文件不存在,创建空文件。
touch oldfile.log
  • 如果文件已存在,更新它的修改时间为当前时间。

调试时可以用touch快速制造测试文件,再配合ls -l查看。

6. 15 个命令实操:文件内容查看与文本处理

6.1 cat:查看与拼接文件

cat直接输出文件内容。

cat /etc/hostname
  • 查看主机名。
cat -n /etc/passwd
  • 显示行号。
cat file1.txt file2.txt > merge.txt
  • 将两个文件内容拼接到一个新文件。

cat适合查看小文件。需要看核心配置文件全部内容时,用cat最快捷。

6.2 grep:按关键词过滤

grep是文本过滤命令。日志排查的第一步,几乎都是用它。

grep "error" app.log
  • 在 app.log 中查找包含 error 的行。
grep -i "error" app.log
  • 忽略大小写。
grep -r "nginx.conf" /etc/nginx/
  • 递归搜索目录下所有文件。
grep -v "#" /etc/nginx/nginx.conf
  • 过滤掉注释行,适合快速查看有效配置。
grep -E "2025-01-10|2025-01-11" access.log
  • 使用正则写法,一次匹配多个日期。

grep 是“日志排错、配置检查、面试题目”里出现频率最高的命令。建议重点掌握-i-v-r-E-c这几个参数。

6.3 tail:查看文件尾部

tail常用于查看日志最后几行。

tail -n 50 app.log
  • 查看最后 50 行。
tail -f app.log
  • 实时追踪文件末尾内容,日志新增一行就输出一行。
tail -f -n 100 /var/log/syslog
  • 先显示最后 100 行,再持续跟踪。

排错时,新开一个终端窗口,执行tail -f,再另开一个终端执行服务重启命令,就能实时看到日志输出。

6.4 head:查看文件头部

head用于查看文件头部内容。

head -n 20 app.log
  • 查看前 20 行。
head -n 5 /etc/passwd
  • 快速查看系统用户文件前 5 行。

日志量很大时,先用head看格式,再用tail看最新内容,避免一次读出几万行。

6.5 vim:文本编辑器

vim 在热词中出现频率很高。它是 Linux 终端里最常用的文本编辑器。

vim /etc/nginx/nginx.conf
  • 打开文件进行编辑。

vim 有三种模式,记不住其他命令,先记这三个:

  1. 普通模式:打开文件后默认处于普通模式,可以移动光标、删除、复制。
  2. 插入模式:按i进入插入模式,此时可以输入文字。
  3. 命令行模式:按Esc返回普通模式,再输入:进入命令行模式。

必备操作:

i 进入插入模式 Esc 返回普通模式 :wq 保存并退出 :q! 不保存退出 dd 删除当前行 yy 复制当前行 p 粘贴 G 跳到最后一行 gg 跳到第一行

高频坑:不知道当前在哪个模式,或者按了Esc后不确定是否退出插入模式。解决办法是连续按两次Esc,再输入:wq:q!。如果按了Ctrl+S导致终端冻结,可以按Ctrl+Q恢复。

修改系统配置文件后,如果不确定改动是否正确,先用catgrep预览,再重启服务。

6.6 find:查找文件

热词里“linux find用法”“linux find”都被提到。find 是定位文件最可靠的方式。

find /etc -name "nginx.conf"
  • 在 /etc 目录下按名称查找。
find /var/log -mtime -7
  • 查找 7 天内修改过的文件。
find /tmp -type f -size +100M
  • 查找大于 100MB 的文件。
find /root -name "*.log" -exec rm -rf {} \;
  • 找到以 .log 结尾的文件并删除。

grep搭配:grep在文件内容里搜关键词,find在文件系统里搜文件名。

6.7 tar:压缩与解压

热词里tar命令出现次数不少。tar 在 Linux 中打包压缩是标准操作。

tar -czvf backup.tar.gz /data/logs
  • 打包并压缩为 tar.gz 格式。参数含义:c 创建归档,z 使用 gzip 压缩,v 显示过程,f 指定归档文件名。
tar -xzvf backup.tar.gz
  • 解压。参数含义:x 解压。
tar -tzvf backup.tar.gz
  • 只查看压缩包内容,不实际解压。
tar -xzvf backup.tar.gz -C /opt/restore
  • 解压到指定目录,-C指定目标路径。

在 Linux 服务器上发布程序,常见做法是把 jar 包、配置文件、日志打成 tar.gz,再传到目标服务器解压。掌握tar -czvftar -xzvf这一对,就能覆盖多数场景。

7. 15 个命令实操:用户权限与系统查看

7.1 sudo:提权执行

Linux 中普通用户权限有限,某些系统操作需要管理员权限。

sudo apt update
  • 使用管理员权限执行包管理更新命令。Ubuntu/Debian 系统适用。
sudo systemctl restart nginx
  • 使用管理员权限重启服务。

在环境上执行依赖安装等操作,建议先确认当前用户和当前目录。把权限范围控制在本人负责的目录,也便于平时排查命令运行时留下的结果和历史记录。

7.2 whoami:查看当前用户

whoami

输出例子:rootubuntu。如果是普通用户,很多系统目录没有写权限,需要加sudo

7.3 uname:查看系统信息

uname -a

输出包括内核名称、主机名、内核版本、硬件架构。部署应用前需要确认系统是 x86_64 还是 arm64,这决定了软件包下载版本,执行uname -m即可。

7.4 free:查看内存

free -h
  • 以人类可读方式显示内存总量、已用、可用、缓存。

输出示例:

total used free shared buff/cache available Mem: 7.6G 2.1G 3.2G 128M 2.3G 5.0G

available是真正可以分配给新进程的内存量。内存吃紧时,优先看available,而不是只看free

7.5 df:查看磁盘

df -h
  • 显示各分区的磁盘使用情况。
df -h /data
  • 只显示指定路径所在分区。

排查磁盘满问题,先看df -h确认哪个分区满,再用dufind定位大文件。

7.6 ps:查看进程

ps -ef
  • 显示所有进程的详细信息。
ps -ef | grep nginx
  • 过滤出 nginx 相关进程。
ps aux --sort=-%mem
  • 按内存占用降序排列进程,适合排查内存占用高的应用。

启动服务后,用ps -ef | grep 进程名验证进程是否存在,是排错的基本操作。

7.7 kill:结束进程

kill -9 12345
  • 强制结束进程号为 12345 的进程。
kill 12345
  • 正常结束进程。

ps -ef | grep 进程名拿到 PID,再kill -9 PID。注意,如果进程是服务进程,先看有没有启动脚本,尽量使用systemctl stop正常停止服务,只有服务卡死时才考虑kill -9

8. 网络、软件安装与杂项命令

8.1 网络排查命令

热词中“telnet命令怎么用”“linux scp命令”“redis命令”都被提到。网络基础命令里,ipping最常用,telnet 适合测试端口连通性。

ip addr
  • 查看 IP 地址。
ping -c 4 10.0.0.1
  • 发送 4 个 ICMP 包测试网络连通性。
telnet 127.0.0.1 6379
  • 测试本地 6379 端口是否连通。telnet 不一定会默认安装,如果没有,需要先安装 telnet 客户端。不同发行版安装方式不同,在 Debian/Ubuntu 系使用sudo apt install telnet,在 CentOS/RHEL 系使用sudo yum install telnetsudo dnf install telnet
ss -tlnp
  • 查看端口监听状态和对应进程。代替旧版netstat -tlnp
scp test.txt root@192.168.1.10:/root/
  • 通过 SSH 将本地文件传到远程服务器。

排错顺序建议:先ping测网络通不通,再telnet测端口通不通,最后用ss -tlnp看服务有没有监听。

8.2 systemctl:服务管理

systemctl 是 systemd 服务管理命令,也是运维场景中出现频率最高的命令之一。

systemctl status nginx
  • 查看服务状态。
systemctl start nginx
  • 启动服务。
systemctl restart nginx
  • 重启服务。
systemctl enable nginx
  • 设置开机自启。
systemctl disable nginx
  • 取消开机自启。

修改配置文件后,执行systemctl restartsystemctl reload。先status确认服务状态,再tail日志检查启动结果,是标准流程。

8.3 apt / yum:软件安装

Linux 发行版不同,包管理命令不同。

Debian/Ubuntu 系:

sudo apt update
  • 更新软件源索引。
sudo apt install git
  • 安装 git。
sudo apt remove git
  • 卸载 git。

CentOS/RHEL 系:

sudo yum install git
  • 使用 yum 安装 git。
sudo dnf install git
  • 较新版本使用 dnf。

热词中“linux安装docker”“linux安装nginx”“linux安装python”“linux镜像”都涉及包管理。安装软件前建议先apt search或访问官方文档确认源里有没有对应软件包。

8.4 history:查看历史命令

热词里“history命令详解”出现频率很高。history 能显示当前用户在此终端下输入过的命令记录。

history
  • 显示全部历史命令。
history 20
  • 显示最后 20 条。
!100
  • 重新执行编号为 100 的命令。
!!
  • 执行上一条命令。

终端里想快速重跑上一条命令,输入!!即可。关注命令历史,也能排查关键操作是不是自己做的。

8.5 type / which:查找命令位置

热词“type命令”同样值得展开。

type cd
  • 显示 cd 是 shell 内置命令。
which python3
  • 显示 python3 可执行文件的路径。
type -a python3
  • 显示所有同名命令路径。

排查“命令找不到”时,先which 命令看有没有安装,再看 PATH 环境变量有没有包含可执行文件目录。如果不熟悉系统类型,再使用unamecat /etc/os-release确认。

9. 快速上手与验收练习

把最常用的命令整理成一张速查表。每一条都建议先在一个测试目录里执行一遍,再进入真实项目目录。

分类命令说明
目录操作ls查看目录内容
目录操作cd切换目录
目录操作pwd查看当前目录
文件操作mkdir创建目录
文件操作touch创建空文件
文件操作cp复制
文件操作mv移动或重命名
文件操作rm删除
文件操作find查找文件
文本处理cat查看文件
文本处理grep过滤关键词
文本处理tail/head查看文件尾部或头部
编辑器vim编辑文件
压缩打包tar压缩解压
系统进程ps查看进程
系统进程kill结束进程
服务运行systemctl服务管理
软件安装apt/yum安装软件
网络ping测试连通性
网络ss查看端口监听
历史记录history查看历史命令

建议的第一套练习流程:

mkdir ~/linux_practice cd ~/linux_practice touch test.txt echo "hello linux" > test.txt cat test.txt grep "linux" test.txt tar -czvf test.tar.gz test.txt tar -xzvf test.tar.gz -C /tmp rm -rf ~/linux_practice

这一套流程涵盖了创建目录、切换目录、创建文件、写入内容、查看文件、过滤关键词、压缩、解压、删除目录。全程跑通,Linux 命令基本就算上手了。

再做一个验收练习:查看 nginx 状态。如果系统没有 nginx,可以先安装。

systemctl status nginx ps -ef | grep nginx ss -tlnp | grep 80

如果能看到 nginx 进程和 80 端口监听,说明服务管理、进程查看、端口排查三类命令已经能组合使用。这里建议在恰当授权的测试环境上执行,先确认测试环境是否安装并放通端口,再按实际情况调整。

10. 高频错误与排查方法

初学者除了记不住命令,还容易在路径和权限上踩坑。下面把常见问题整理成排查表。

问题现象可能原因排查方式解决方案
提示 command not found软件未安装或 PATH 不对which 命令echo $PATH安装软件,或修正 PATH
Permission denied当前用户无权操作该文件ls -l查看权限换用户或加sudo,确认是否允许执行
文件不存在目录路径写错pwdls先用find定位,再复制正确路径
删除失败目录非空或权限不足ls -ld 目录使用rm -r,必要时sudo
tar 解压报错压缩包损坏或格式不对file 包名查看格式用正确命令解压对应格式
vim 卡住按了 Ctrl+S 或进入错误模式查看终端状态按 Ctrl+Q 恢复,按 Esc 返回普通模式
端口被占用服务重复启动或进程残留ss -tlnp | grep 端口kill 旧进程或更换端口
systemctl 命令不存在系统使用非 systemd 初始化ps -p 1检查 PID 1改用 service 命令或检查发行版文档
命令执行后报错但看不到原因日志级别或位置不对journalctltail -f日志根据日志信息定位具体错误
安装软件失败软件源或网络问题apt update或检查 DNS更换软件源镜像,确认网络

如果一条命令执行报错,建议依次做三步:先看完整报错信息,再检查当前目录和用户,最后用history回看刚才执行的命令。

11. 最佳实践与工程化建议

掌握命令本身只是第一步,真正把这些命令用好,要靠习惯。以下几点在实际服务器环境中会被反复验证。

第一,为每个项目建立清晰的目录结构。建议统一使用:

/projects/应用名/ ├── conf/ # 配置文件 ├── logs/ # 日志文件 ├── scripts/ # 部署脚本 └── data/ # 数据文件

这样日志清理、权限控制、备份策略都更容易管理。批量操作时,先在一两台上验证命令,再推广到其他机器,避免把测试命令误用到生产环境。

第二,重要配置文件修改前先备份。cpmv都可以,但要注意命令不会污染生产配置。

cp nginx.conf nginx.conf.bak.20250110

第三,批量任务要有日志和失败重试。如果给多台服务器批量执行systemctl restart,建议把每台机器的执行状态记录到文件。

for host in server01 server02 server03; do echo "===== $host =====" | tee -a restart.log ssh "$host" "systemctl restart nginx" >> restart.log 2>&1 echo "exit code: $?" >> restart.log done

这样一旦失败,grep "exit code: [^0]" restart.log就能快速定位。

第四,命令写进脚本前一定要做人工预演。可以先在测试目录里执行一遍,确认不影响目标服务的状态。

第五,注意遵循安全合规要求。在实验设备上进行本地测试时,需要确认自己拥有实验环境授权,不越权访问其他设备或数据。云服务器上执行系统命令可能涉及账号授权和权限边界,要遵守服务商安全规范。

12. 总结

这 15 个命令只是一个切入点,真正的能力来自组合使用。比如排查一次服务无法访问,很可能是systemctl statustail -fss -tlnpgrep四条命令的组合。写脚本时,pwdfindgreptar又是最常用的基础组件。

如果现在是刚开始接触 Linux,建议先把本文的速查表收藏到浏览器,每天花 10 分钟在虚拟机里练一遍。遇到“命令找不到”或“权限不够”的错误,能自己通过whichls -lhistory找到原因,就已经超过大多数初学者了。

下一阶段可以往三个方向扩展:学 shell 脚本语法,把多条命令串成自动化任务;学 ssh 密钥登录和免密批量操作;学 systemd 服务单元文件的编写。这三个方向任选一个,都能把当前掌握的 15 个命令真正变成生产能力。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询