12121 发表于 2026-10-23 22:36:08

Ubuntu 24.04 Server 全套运维命令 + nano /vim 文件编辑完整版手册

Ubuntu 24.04 Server 全套运维命令 + nano /vim 文件编辑完整版手册环境说明:Ubuntu 24.04 LTS Server(代号 noble),默认无图形界面;自带 nano;vim 需要手动安装;网络管理为 netplan;服务管理 systemd;包管理 apt。约定:xxx 为自定义名称,PID 替换为进程号;修改系统配置绝大多数情况需要加 sudo。
一、前置准备1.1 安装 vim(系统默认不带)
sudo apt update
sudo apt install vim -y
1.2 基础概念
[*]nano:简单上手,适合新手改 yaml、配置文件,底部自带快捷键提示
[*]vim:功能强大,三种工作模式,适合长期运维人员
[*]netplan yaml 文件硬性规则:只能空格缩进,禁止 Tab 制表符,缩进数量必须对齐,否则 netplan 报错断网
第一部分 nano 编辑器(系统预装,优先推荐改配置文件)
1.1 打开 / 新建文件语法
# 打开已有文件,文件不存在则自动新建空白文件
nano test.txt
# 修改系统配置,必须加sudo,否则只读无法保存
sudo nano /etc/netplan/00-installer-config.yaml
sudo nano /etc/apt/sources.list
sudo nano /etc/nginx/nginx.conf
1.2 nano 快捷键(^ 代表 Ctrl;M 代表 Alt)

Ctrl+OWrite Out,保存文件,按下后回车确认文件名
Ctrl+X退出 nano;有修改会提示是否保存
Ctrl+W向下搜索文本
Ctrl+R读取外部文件,把别的文件内容导入当前文档
Ctrl+K剪切当前一整行;选中区块后剪切选中内容
Ctrl+U粘贴剪切板内容
Ctrl+Shift+6开始标记选中区块;移动光标选择范围
Ctrl+C显示当前光标所在行号、列号(yaml 排错神器)
Alt+U撤销上一步操作
Alt+E重做,恢复撤销内容
Ctrl+A跳到本行开头
Ctrl+E跳到本行末尾
Ctrl+G打开 nano 帮助文档
操作流程示例(改 netplan):sudo nano /etc/netplan/00-installer-config.yaml → 修改内容 → Ctrl+O 保存回车 → Ctrl+X 退出 → sudo netplan try
第二部分 vim 编辑器(老手使用)2.1 打开文件vim test.txt
sudo vim /etc/netplan/00-installer-config.yaml
2.2 vim 三大模式
[*]普通模式(默认进入):执行复制、删除、跳转、搜索等命令
[*]插入模式:输入文字;普通模式按 i/a/o 进入;Esc 返回普通模式
[*]末行命令模式:普通模式按 : 进入,执行保存、退出、替换、设置
普通模式常用指令i       在光标前面插入文字
a       在光标后面插入文字
o       在光标下方新开一行并进入编辑
O       在光标上方新开一行并进入编辑
dd      删除当前整行
5dd   从当前行开始,删除连续5行
yy      复制当前整行
3yy   复制连续3行
p       在光标下方粘贴
P       在光标上方粘贴
u       撤销
Ctrl+r重做
/关键词向下搜索关键词,n跳到下一个匹配,N上一个
?关键词向上搜索关键词
gg      跳到文档第一行
G       跳到文档最后一行
100G    直接跳到第100行
x       删除光标所在单个字符
dw      删除光标位置到单词结尾
末行模式(冒号开头)
:w            保存文件,不退出
:w test.bak   另存为 test.bak
:wq             保存并退出
:q            退出(文件无修改才能退出)
:q!             强制退出,放弃所有修改
:wq!            强制保存退出(只读文件,需要sudo打开)
:set nu         临时显示行号,方便排错
:set nonu       关闭行号
:%s/old/new/g   全文替换 old 为 new,g=全部匹配
:%s/old/new/gc全文替换,每一处都询问确认
:1,50s/old/new/g只在1~50行范围内替换
:! ls         不退出vim,临时执行shell命令ls
vim 小坑:粘贴代码容易自动缩进错乱,可以在粘贴前输入 :set paste,粘贴完 :set nopaste
第三部分 文件 & 目录全套操作命令3.1 目录跳转
cd /etc             # 进入/etc目录,绝对路径
cd ./test         # 进入当前目录下test文件夹,相对路径
cd ~                # 回到当前用户家目录 /home/用户名
cd ..               # 返回上一级目录
cd ../opt         # 上一级目录里面的opt
cd -                # 切换回上一次所在目录
pwd               # 查看当前所在完整路径
3.2 列出目录内容 lsls                  # 简单列出文件
ls -l               # 长格式:权限、所有者、大小、时间
ls -lh            # 长格式 + 人性化单位(KB/MB)最常用
ls -a               # 显示所有文件,包含 .开头隐藏文件
ls -A               # 显示隐藏文件,不显示 . 和 ..
ls -R               # 递归遍历所有子目录
ls -lt            # 按修改时间倒序,最新文件在最上面
ls -lhS             # 按文件大小从大到小排序
3.3 创建、删除、移动、复制touch test.txt            # 创建空文件;文件已存在则更新修改时间
mkdir testdir               # 创建单个文件夹
mkdir -p a/b/c/d            # 递归创建多级目录,父目录不存在自动创建
rm test.txt               # 删除单个文件,会提示确认
rm -f test.txt            # 强制删除文件,不提示
rm -r testdir               # 删除文件夹,递归删除,有提示
rm -rf testdir            # 强制递归删除文件夹,无提示!高危命令!慎用!

cp source.txt dest.txt      # 复制文件
cp source.txt /tmp/         # 复制文件到/tmp目录
cp -r sourcedir destdir   # 复制整个文件夹
cp -p source.txt dest.txt   # 复制同时保留原文件权限、时间属性

mv oldname.txt newname.txt# 重命名文件
mv test.txt /tmp/         # 移动文件到目标目录
mv testdir /opt/            # 移动文件夹
3.4 查看文件内容cat test.txt                # 一次性输出全部内容,适合小文件
cat -n test.txt             # 输出同时显示行号
less test.txt               # 分页阅读器(推荐大日志文件)
# less快捷键:空格下一页、b上一页、q退出、/搜索
more test.txt               # 简易分页查看
head test.txt               # 默认查看前10行
head -n 30 test.txt         # 查看前30行
tail test.txt               # 默认查看末尾10行
tail -n 100 test.txt      # 查看最后100行
tail -f /var/log/syslog   # 实时跟踪日志输出(生产高频)
tail -F /var/log/syslog   # 实时跟踪,文件轮转后自动继续监听
3.5 文件查找 findfind / -name "*.log"                # 全局搜索所有后缀.log文件
find /etc -name "00-installer-config.yaml"
find ./ -type f                     # 只查找普通文件
find ./ -type d                     # 只查找文件夹
find /var/log -size +100M         # 查找大于100M的文件
find /tmp -mtime -1               # 查找24小时内修改过的文件
find /home -user ubuntu             # 查找属于ubuntu用户的文件
3.6 权限 & 属主 chmod /chownchmod 755 script.sh               # 设置权限 rwxr-xr-x
chmod +x script.sh                  # 给文件增加执行权限(脚本必备)
chmod -x script.sh                  # 移除执行权限
chmod 644 test.txt                  # 普通文本推荐权限 rw-r--r--

chown ubuntu:ubuntu test.txt         # 修改文件所有者:所属组
chown -R ubuntu:ubuntu ./webfolder   # -R 递归修改整个目录下所有文件属主
chgrp www-data test.txt             # 单独修改所属用户组
3.7 软链接(Linux 快捷方式)ln -s /opt/nginx/html /var/www/myweb# 创建软链接
ls -l /var/www/myweb                  # 查看链接指向
rm /var/www/myweb                     # 删除软链接,不要加-r
3.8 压缩解压# tar.gz 压缩解压(原生自带)
tar -zcvf package.tar.gz ./folder/    # c创建压缩包 z gzip v显示过程 f指定包名
tar -zxvf package.tar.gz            # x解压
tar -zxvf package.tar.gz -C /opt/   # 解压到指定目录/opt

# zip 格式,需要先安装
sudo apt install zip unzip -y
zip -r web.zip ./web/
unzip web.zip
unzip web.zip -d /opt/
3.9 文本检索 grep(搭配管道 | 超级常用)grep "error" /var/log/syslog
grep -i "warn" /var/log/syslog      # -i 忽略大小写
grep -n "fail" /var/log/syslog      # -n 输出匹配行号
grep -r "listen" /etc/nginx/          # -r 递归目录下搜索文本
grep -v "comment" test.txt            # -v 反向匹配,排除包含关键词行
3.10 输出重定向echo "hello world" > test.txt         # > 覆盖写入文件
echo "add new line" >> test.txt       # >> 追加写入,不覆盖原有内容
ls -lh > list.txt                     # 把命令输出保存进文件
第四部分 系统信息、进程、服务管理4.1 系统信息查看uname -r                  # 内核版本
uname -a                  # 完整内核信息
lsb_release -a         # Ubuntu系统版本
hostname                  # 主机名
hostnamectl               # 系统详细信息
uptime                  # 开机时长、平均负载
free -h                   # 内存、swap使用
df -h                     # 磁盘分区使用率
lsblk                     # 块设备、硬盘分区树状
fdisk -l                  # 磁盘分区详情
4.2 进程管理
ps aux                  # 查看全部进程(最常用)
ps -ef                  # 树形父进程关系
top                     # 实时进程监控
htop                      # 美化监控,需要安装 sudo apt install htop
kill 1234               # 正常终止PID=1234进程
kill -9 1234            # 强制杀死进程,杀不掉的时候用
pkill nginx               # 按进程名字杀死所有同名进程
pgrep nginx               # 只输出nginx所有PID
4.3 systemd 服务管理(所有后台服务统一这套命令)
systemctl status nginx      # 查看服务状态、最近日志
systemctl start nginx         # 启动服务
systemctl stop nginx          # 停止服务
systemctl restart nginx       # 重启服务
systemctl reload nginx      # 平滑重载配置(不中断连接,nginx支持)
systemctl enable nginx      # 设置开机自启
systemctl disable nginx       # 取消开机自启
systemctl is-enabled nginx    # 查询是否开机自启
systemctl list-unit-files --type=service # 列出所有服务开机启动状态
4.4 journalctl 日志查看(systemd 日志)journalctl -u nginx                # 单独查看nginx服务日志
journalctl -u nginx -f             # 实时滚动跟踪日志
journalctl -u nginx --since "1 hour ago" # 查看一小时内日志
journalctl -u nginx --since "2026-10-01 08:00:00"
journalctl --disk-usage            # 查看日志占用磁盘大小
第五部分 网络命令 + netplan(Ubuntu24.04 核心)ip a                            # 查看网卡、内网IP
ip route                        # 查看路由表、网关
ping baidu.com -c 4             # ping4次停止,测试外网连通
ss -tulnp                     # 查看所有监听端口(替代netstat)
curl ifconfig.me                # 获取公网出口IP
curl ip.sb

# netplan网络配置
ls /etc/netplan/                # 先看yaml配置文件名
sudo nano /etc/netplan/00-installer-config.yaml
sudo netplan try                # 试应用配置!120秒无确认自动回滚,防SSH断网【强烈推荐】
sudo netplan apply            # 正式应用配置
sudo netplan --debug apply      # 带调试信息,排错用
netplan 静态 IP yaml 模板示例network:
ethernets:
    ens33:
      addresses:
      gateway4: 192.168.1.1
      nameservers:
      addresses:
version: 2
5.1 ufw 防火墙sudo ufw status verbose
sudo ufw enable
sudo ufw disable
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 'Nginx HTTP'
sudo ufw allow ssh
sudo ufw delete allow 80/tcp
sudo ufw reload
第六部分 APT 软件包管理sudo apt update               # 更新软件源索引清单
sudo apt upgrade -y             # 升级本机所有已安装包
sudo apt full-upgrade -y      # 完整升级,会自动增减依赖(服务器推荐)
sudo apt install nginx -y
sudo apt search nginx
sudo apt show nginx             # 查看软件包详情
sudo apt remove nginx         # 卸载,保留配置文件
sudo apt purge nginx            # 卸载+删除配置文件
sudo apt autoremove -y          # 清理无用孤立依赖包
sudo apt autoclean            # 清理旧缓存安装包
sudo apt list --installed       # 列出本机全部已经安装软件
sudo apt list --upgradable      # 查看哪些包可以升级
第七部分 用户管理sudo adduser testuser                   # 创建新用户,交互式设置密码
sudo usermod -aG sudo testuser          # 加入sudo管理员组
id testuser                           # 查看用户uid、所属组
passwd testuser                         # 修改用户密码
sudo passwd root                        # 设置root密码(不推荐直接root远程登录)
sudo deluser testuser                   # 删除用户,保留家目录
sudo deluser --remove-home testuser   # 删除用户+同时删除家目录
第八部分 辅助:帮助命令man ls                # 打开官方手册文档(q退出)
ls --help             # 简短帮助信息
command -v nginx      # 查看命令程序所在路径
which nginx
whereis nginx
第九部分 高频运维最佳实践 & 避坑清单
[*]修改 netplan yaml:优先 sudo netplan try,不要直接 apply,改错直接断 SSH
[*]编辑系统配置,不加 sudo 只能只读,保存失败
[*]yaml 文件只能空格缩进,Tab 会解析失败
[*]rm -rf 高危,执行前一定要核对路径,不要直接在根目录测试
[*]线上服务重载配置优先 systemctl reload,而不是 restart,减少中断
[*]查看日志优先 journalctl -u xxx -f 或者 tail -F
[*]复制粘贴大段配置到 vim,先开启 :set paste 防止格式错乱
页: [1]
查看完整版本: Ubuntu 24.04 Server 全套运维命令 + nano /vim 文件编辑完整版手册