HomeBlogAboutLogin
返回列表

Linux 服务器命令

第一课:认识 Linux 服务器

一、先理解你看到的命令行

你之前连接服务器,看到的是:

admin@iZn4a61gybgicql76mih3tz:~$

它其实包含很多信息。

内容 含义
admin 当前登录的 Linux 用户
@ 分隔用户名和主机名
iZn4a61... 服务器主机名
~ 当前用户的家目录,通常是 /home/admin
$ 普通用户的命令提示符

例如输入:

pwd

可能得到:

/home/admin

pwd 的意思是 Print Working Directory(打印当前工作目录)。

也就是告诉你:你当前在哪个文件夹里。

二、最常用的文件操作命令

这是你首先要掌握的部分。

命令 英文含义 作用
pwd Print Working Directory 查看当前位置
ls List 查看文件列表
cd Change Directory 切换目录
mkdir Make Directory 创建目录
cp Copy 复制文件
mv Move 移动或重命名文件
rm Remove 删除文件
cat Concatenate 查看文件内容
nano 编辑器名称 编辑文本文件

举个你真实服务器的例子

你现在的 Nginx 文件目录是:

/home/admin/nginx/
    ├── nginx.conf
    └── ssl/
        ├── cloudflare-origin.pem
        └── cloudflare-origin.key

假设你想查看这个目录:

cd /home/admin/nginx

这里 cd 是进入目录。

再执行:

ls

就能看到当前文件夹里面的文件。

想进入 SSL 文件夹:

cd ssl

想返回上一级:

cd ..

想回到自己的家目录:

cd ~

记住:

cd .. = 返回上一层。

cd ~ = 回到当前用户的家目录。

第二课:nano 是什么?怎么使用?

这是你刚才最不明白的地方。

nano 是 Linux 自带或可安装的一个文本编辑器,类似 Windows 的记事本。

在 Windows 你修改配置文件,可能是:

打开记事本
    ↓
修改 nginx.conf
    ↓
Ctrl + S 保存

在 Linux 命令行中则是:

nano nginx.conf

它会直接在终端里打开文本编辑器。

一、nano 的实际操作

例如修改你服务器上的 Nginx 配置:

sudo nano /home/admin/nginx/nginx.conf

执行以后会进入这样的编辑界面:

GNU nano — nginx.conf

server { listen 443 ssl; server_name heql.cn; ssl_certificate /etc/nginx/ssl/cloudflare-origin.pem; ssl_certificate_key /etc/nginx/ssl/cloudflare-origin.key; }

^G Help

^O Write Out

^X Exit

你可以直接使用键盘方向键移动光标,输入文字或者删除内容。

如何保存?

最关键的三个按键:

Ctrl + O

保存文件

nano 底部会提示文件名。

Enter

确认文件名

执行写入操作。

Ctrl + X

退出 nano

返回 Linux 终端。

如果修改错了,不想保存怎么办?

按 Ctrl + X,如果出现:

Save modified buffer?
Y Yes
N No

选择 N,就会直接退出并放弃未保存的修改。

其他常用快捷键:

快捷键 功能
Ctrl + O 保存
Ctrl + X 退出
Ctrl + W 搜索文字
Ctrl + K 剪切当前行
Ctrl + U 粘贴剪切内容
Ctrl + _ 跳转到指定行

注意:nano 的 Ctrl + O 是保存,不是 Windows 里常见的 Ctrl + S。

第三课:sudo 是什么意思?

你之前执行过:

sudo docker ps

这里 sudo 是什么?

它的名字来自 Superuser Do,可以理解成:

以管理员权限执行后面的命令。

例如:

ls /home/admin

普通查看,一般不用 sudo。

而:

sudo nano /home/admin/nginx/nginx.conf

表示以管理员权限打开文件。

为什么?

因为有些文件的所有者是 root,普通用户没有修改权限。

你可以这样记:

Windows Linux
以管理员身份运行 sudo
管理员账户 root
普通账户 admin 等普通用户名

sudo 的权限很高,不要不加判断地复制陌生命令执行。

第四课:服务器文件怎么查看、复制、删除?

这是部署网站时使用频率最高的一组命令。

1. 查看文件内容

cat /home/admin/nginx/nginx.conf

直接把文件内容打印出来,不进入编辑器。

如果文件很长,推荐:

less /home/admin/nginx/nginx.conf

用方向键上下浏览,按 q 退出。

2. 复制文件(备份)

假设你要修改 Nginx 配置,先执行:

sudo cp /home/admin/nginx/nginx.conf /home/admin/nginx/nginx.conf.bak

cp 就是 Copy。

执行以后:

nginx/
├── nginx.conf
└── nginx.conf.bak

.bak 是我们人为约定的备份文件后缀。

以后修改重要的 Nginx、Docker Compose 配置,我建议你都先备份。

3. 重命名文件

mv test.txt test-old.txt

mv 既能移动文件,也能修改文件名。

4. 删除文件

rm test.txt

特别注意:Linux 中 rm 删除的文件通常不会进入回收站。

尤其不要随便执行:

sudo rm -rf 某个目录

这可能递归强制删除整个目录,数据恢复非常困难。

第五课:Docker 常用操作(你的重点)

你的网站就运行在 Docker 里,所以这部分很实用。

先看你之前真实运行的容器:

nginx
next-app
c-cleaner-backend
c-cleaner-admin
c-cleaner-mysql
c-cleaner-redis

以后管理这些容器,主要掌握下面的命令。

一、查看容器

sudo docker ps

只显示正在运行的容器。

sudo docker ps -a

显示全部容器,包括已经停止的。

二、查看日志

比如 Nginx 出问题:

sudo docker logs nginx

可能输出很多日志。

只看最近100行:

sudo docker logs --tail 100 nginx

想实时观察日志:

sudo docker logs -f --tail 100 nginx

-f 是 Follow,表示持续跟踪新日志。

退出实时查看时按:

Ctrl + C

这里只会停止日志查看,不会停止 Nginx 容器。

同样的方法可以查看你的 Java 后端:

sudo docker logs --tail 100 c-cleaner-backend

这个命令对排查 Java 异常、接口500错误、服务启动失败非常有用。

三、进入 Docker 容器

例如:

sudo docker exec -it nginx sh

这条命令的意思是:进入正在运行的 nginx 容器,打开一个交互式 Shell。

执行后,可能看到:

/ #

说明你已经进入容器内部。

可以执行:

ls /etc/nginx/ssl

查看容器中的证书。

想退出容器:

exit

这只会退出 Shell,正常不会停止容器。

四、exec 和 restart 有什么区别?

命令 含义
docker exec 在运行中的容器内执行命令
docker logs 查看容器日志
docker restart 重启容器
docker stop 停止容器
docker start 启动容器
docker inspect 查看容器详细配置

例如:

sudo docker restart nginx

会重启 Nginx 容器,可能造成短暂服务中断。

而:

sudo docker exec nginx nginx -s reload

是让容器里的 Nginx 重新加载配置,通常不需要重启容器。

所以你以后只修改 Nginx 配置,优先检查配置并 reload,而不是直接重启 Docker。

第六课:理解宿主机和 Docker 容器

这个概念对你目前部署 HTTPS 尤其重要。

你之前查到:

/home/admin/nginx/nginx.conf
    ->
/etc/nginx/conf.d/default.conf

以及:

/home/admin/nginx/ssl
    ->
/etc/nginx/ssl

这叫 Docker 的 Bind Mount(绑定挂载)。

阿里云 Linux 服务器(宿主机)

/home/admin/nginx/ssl/cloudflare-origin.pem

Docker 文件挂载

Nginx Docker 容器

/etc/nginx/ssl/cloudflare-origin.pem

两边看到的是同一份挂载文件的数据。

你在宿主机上修改:

sudo nano /home/admin/nginx/nginx.conf

容器内对应的配置文件也会反映这个修改。

所以,你不必每次都进入 Docker 容器修改配置。

记住:持久化配置和证书优先在宿主机的挂载目录管理。

第七课:服务器排查常用命令

遇到服务器卡顿、网站打不开、磁盘空间不足,主要用这些。

命令 作用
free -h 查看内存使用
df -h 查看磁盘空间
du -sh /home/admin/nginx 查看指定目录大小
top 实时查看 CPU、内存、进程
sudo ss -lntp 查看正在监听的 TCP 端口
sudo docker stats 查看 Docker 容器资源占用
curl -I https://heql.cn 查看网站 HTTP 响应头

例如:

free -h

可能看到:

              total    used    free
Mem:           3.8Gi   1.6Gi   900Mi
Swap:          2.0Gi   100Mi   1.9Gi

而:

df -h

可以帮助你判断服务器硬盘是不是快满了。

top 进入后可以按 q 退出。

第八课:你应该记住的 Nginx 操作

这是以后更新 SSL 证书、修改反向代理最常用的标准流程。

# 1. 备份原配置(自动加时间戳)
sudo cp /home/admin/nginx/nginx.conf \
  /home/admin/nginx/nginx.conf.bak.$(date +%F_%H%M%S)

# 2. 编辑配置
sudo nano /home/admin/nginx/nginx.conf

# 3. 检查配置有没有错误
sudo docker exec nginx nginx -t

# 4. 检查成功后,重新加载
sudo docker exec nginx nginx -s reload

其中第三步非常关键:

nginx -t 是测试配置,不是启动或重启 Nginx。

如果出现:

syntax is ok
test is successful

说明配置检查通过,这时再执行 reload。

如果提示错误,先修复配置,不要直接重新加载。

© 2026 转载请注明出处