前言

呃,想要租个服务器,部署个 Easytier 节点服务器。但总不能啥也不懂就租个服务器吧,于是决定先在 VMware Workstation 中部署个虚拟的 Ubuntu Server 来实验一下先。

下载 VMware Workstation

自己找地方下。曾经上课老师给过安装包,但当时觉得 VMware Workstation 没啥用,就随手丢一个不知名文件夹里了。博主翻了半天才翻出来的。推荐下 17,因为曾经下过其他版本的安装程序有启动不了的情况。

各版本的激活密钥 (不保证都能用,但 17 是能用的,至少写这篇文章时能用)

版本17:

1
JU090-6039P-08409-8J0QH-2YR7F

版本16:

1
ZF3R0-FHED2-M80TY-8QYGC-NPKYF

版本15:

1
FC7D0-D1YDL-M8DXZ-CYPZE-P2AY6

版本12:

1
ZC3TK-63GE6-481JY-WWW5T-Z7ATA

版本10:

1
1Z0G9-67285-FZG78-ZL3Q2-234JG

下载 Ubuntu Server 操作系统

进入 MSDN 我告诉你,找到 Ubuntu Server 操作系统的 .iso 文件并下载。

Ubuntu Server 操作系统只有命令行,没有图形化界面,适合用作服务器的操作系统。

创建虚拟机

  1. 进入 VMware WorkStation,然后点击创建虚拟机。

  2. 选择自定义,然后点击下一步,然后再点下一步。

  3. 接下来会进入选择 .iso 光盘映像文件的界面,选择刚刚下好的 Ubuntu Server 的 .iso 映像文件。

  4. 剩下的选项根据自己的需求更改即可,大部分保持默认就行了。

为了模拟服务器环境,博主 CPU 只选了 1 个、2 核心。其他图形化操作系统要分配多一些核心。

启动 Ubuntu Server

虚拟机创建完成后就可以进行启动了,然后会进入操作系统安装的流程,大部分都默认就行了,中间会有设置用户名称和用户密码的环节。

各个默认文件夹的作用

在 Ubuntu Server 中,运行 ls -la / 命令会列出根目录下的所有文件夹,这里记录每个文件夹的大致作用。
  1. /bin 存放基本的二进制可执行文件(如ls、cp、mv等常用命令),所有用户(包括普通用户)都可执行。

  2. /boot 存放系统启动所需的文件,包括Linux内核(如vmlinuz)、引导加载程序(如GRUB)和初始化内存盘(initramfs),系统启动时必须依赖这些文件。

  3. /cdrom 传统上用于挂载CD/DVD设备的目录(如光驱)。

  4. /dev 存放设备文件,Linux中所有硬件(如硬盘、终端、打印机)都以文件形式存在,例如:

    • /dev/sda: 第一个SATA硬盘。
    • /dev/tty: 终端设备。
  5. /etc 存放系统配置文件,是Linux的核心配置目录,包含网络配置(/etc/network/)、用户账户(/etc/passwd)、服务配置(/etc/nginx/)等。

  6. /home 普通用户的 Home 目录,每个用户有自己的子目录(如/home/user1),用于存放个人文件(文档、配置、数据等)。

  7. /lib 存放系统共享库(如C语言库libc.so),供/bin和/sbin中的程序调用,支持系统基本功能。

  8. /lib64 64位系统的共享库目录,与/lib功能类似,但针对64位架构(如/lib64/libc.so.6)。

  9. /lost+found ext3/ext4文件系统的恢复目录,文件系统检查(fsck)时,损坏的文件会被恢复到这里,通常为空(除非文件系统损坏)。

  10. /media 用于自动挂载可移动设备(如U盘、光驱、移动硬盘),系统会自动在此创建挂载点(如/media/usb)。

  11. /mnt 手动挂载文件系统的目录,用户可临时挂载硬盘分区、网络文件系统等(如mount /dev/sdb1 /mnt)。

  12. /opt 存放可选的第三方软件包(如Google Chrome、VS Code),通常安装在此目录,便于管理。

  13. /proc 虚拟文件系统,存放内核和进程信息(如/proc/cpuinfo显示CPU信息,/proc/meminfo显示内存信息),数据存于内存,非实际磁盘文件。

  14. /root root用户的家目录(不同于/home/root),是root用户登录后的默认工作目录。

  15. /run 存放运行时数据(如系统启动后生成的临时文件),重启后会清空,替代旧版/var/run。

  16. /sbin 存放系统管理员使用的二进制可执行文件(如fdisk、ifconfig、reboot),需root权限执行。

  17. /snap 存放Snap包(Ubuntu的包管理格式),Snap应用安装后,文件和依赖会存放在此目录。

  18. /srv 存放服务数据,如Web服务器的网站文件(/srv/www)、FTP服务的文件(/srv/ftp)等。

  19. /swap.img 交换文件,用于虚拟内存(当物理内存不足时,系统将部分内存数据交换到此文件,缓解内存压力)。

  20. /sys 虚拟文件系统,存放硬件信息和内核参数(如/sys/class/net/eth0显示网卡信息),提供内核与硬件的交互接口。

  21. /tmp 存放临时文件,所有用户可读写,系统重启时会清空(适合临时存储小文件)。

  22. /usr 存放用户程序和文件,包含大部分用户可用的程序(/usr/bin)、库(/usr/lib)、共享数据(/usr/share)等,是系统的“用户程序仓库”。

  23. /var 存放可变数据,如日志文件(/var/log)、邮件(/var/mail)、缓存(/var/cache)等,数据会随系统运行动态变化。

以上内容由 AI 生成。有些目录会在一些下载后的应用中碰到,作用都差不多。

Linux 权限相关

设置 root 用户密码

在刚安装的 Ubuntu Server 中,root 用户默认是禁用状态(密码未设置,且通常不允许直接登录),需通过以下步骤启用并登录:

  1. 首先登录 user 用户 (在安装系统时创建的用户)

  2. 执行以下命令设置 root 密码

1
sudo passwd root
  • 输入当前用户的密码(sudo 权限验证)
  • 输入新 root 密码并确认(密码不会显示,正常)
  1. 切换到 root 用户
  • 方法 1 :
1
su - root

(输入刚设置的 root 密码)

  • 方法 2 :
1
sudo -i

(直接以 root 身份执行命令,无需密码,因 sudo 已配置)

方法二例子: 创建一个文件夹

1
sudo mkdir [file]

将用户添加到 sudo 组

在 Ubuntu Server 中,给普通用户授予基本权限(如执行 sudo 命令的权限)通常通过将其添加到 sudo 组实现

查看用户是否在 sudo 组

1
groups [user]

若输出包含 sudo(如 [user] : [user] sudo),则无需操作;若不含,继续下一步。

将用户添加到 sudo 组

1
2
3
4
5
# 方法1:usermod(推荐)
sudo usermod -aG sudo elyrene

# 方法2:gpasswd
sudo gpasswd -a elyrene sudo

-aG 表示“追加(append)”用户到指定组(G 是组的缩写)。

使组生效,添加用户到组后,需重新登录或执行 newgrp 命令使更改立即生效

1
newgrp sudo

测试权限,用户执行 sudo 命令(如查看 /root 目录,需 root 权限)

1
sudo ls /root

输入当前用户的密码(非 root 密码),若命令成功执行,说明权限已生效。

常用命令行

这里只记录博主用过的

查看文件夹

使用长格式显示文件夹内容

1
ls -la

创建文件夹

运行以下命令创建文件夹

1
mkdir [file]

移动文件位置

运行以下命令移动文件位置

1
mv [file.txt] /home/user/docs/

运行以下命令将整个文件夹内的文件移动至父目录

1
mv * ../

system 相关

运行以下指令启动一个服务 ([file].service 为服务的配置文件)

1
systemctl start [file].service

运行以下命令查看服务状态

1
systemctl status [file].service

运行以下命令停止服务

1
systemctl stop [file].service

运行以下命令重启服务

1
systemctl restart [file].service

在写完配置文件后需要运行以下命令重新加载配置

1
systemctl daemon-reload

运行以下命令创建开机自启任务

1
systemctl enable [file].service

运行以下命查看服务日志

1
journalctl -u [file].service -f

定位当前工作目录

输入以下命令输出当前工作目录的绝对路径

1
pwd

下载命令

运行以下命令从网址下载软件

1
wget https://...

解压命令

运行以下命令从网址解压压缩包

1
unzip [file].zip

查看本机 IP 地址

输入以下命令查看相关信息

1
ip addr

查看端口占用情况

需要下载 netools 工具集

1
2
sudo apt update  # 更新包列表(可选,确保获取最新包信息)
sudo apt install net-tools

安装完成过后运行以下命令查看端口占用情况

1
sudo netstat -tuln | grep [port]

若是被占用,可进一步运行以下命令排查占用该端口的进程

1
sudo lsof -i :[port]

关机指令

运行以下命令进行关机

1
shutdown [time]/now

shutdown 指令后可以跟时间参数,代表延迟 [time] 后关机,若是 now 参数的话表示即刻关机

或者运行以下命令立即关机 (与 shutdown now 相似)

1
poweroff

常用快捷键

这里列出 Linux 中的常用快捷键

历史命令与补全

历史命令与补全相关快捷键

  • Tab: 自动补全命令、路径或文件名(按两次显示所有匹配项)
  • up/down: 浏览历史命令(按方向键切换)
  • ctrl + R: 反向搜索历史命令(输入关键词快速定位)
  • Alt + .: 粘贴上一个命令的最后一个参数(如 cp file1.txt dir/ 后,Alt + . 可粘贴 dir/)

光标移动

光标相关快捷键

  • ctrl + A: 光标移至行首
  • ctrl + E: 光标移至行尾
  • ctrl + F: 光标后移一个字符
  • ctrl + B: 光标后移一个字符
  • Alt + F: 光标前移一个单词
  • Alt + B: 光标后移一个单词

文本操作

文本操作快捷键

  • ctrl + U: 删除光标到行首的内容
  • ctrl + K: 删除光标到行尾的内容
  • ctrl + W: 删除光标前的一个单词
  • ctrl + Y: 粘贴(恢复)删除的内容(配合 Ctrl + U/K/W 使用)
  • ctrl + L: 清屏(等同于 clear 命令)

系统/终端控制

系统/终端相关快捷键

  1. 进程管理
  • ctrl + C: 终止当前正在运行的命令(发送 SIGINT 信号)
  • ctrl + Z: 暂停当前命令(放入后台,可通过 fg 恢复)
  • ctrl + \: 强制终止(发送 SIGQUIT 信号,比 Ctrl + C 更“暴力”)
  1. 终端操作
  • ctrl + D:退出当前终端(或结束输入,如 cat 命令中按 Ctrl + D 结束输入)
  • ctrl + S: 暂停屏幕输出(防止输出过快,按 Ctrl + Q 恢复)

文本编辑器 (以Vim为例)

文本编辑时才会用到的按键

  • i: 进入插入模式(编辑文本)
  • Esc: 返回普通模式(退出插入模式)
  • :w: 保存文件(普通模式下)
  • :q: 退出编辑器(普通模式下)
  • :wq: 保存并退出(普通模式下)

复制粘贴

饺子醋

  • Ctrl + Shift + C: 复制
  • Ctrl + Shift + V: 粘贴

结语

大致内容就这些,之后可能会更新常用命令行。关于为什么不上图片:因为博主很懒,而且图片上多了会增长博客文章加载时间。要将图片压缩才能缓解,因此懒得加了,过程也并不是很难理解。