01.WSL常用的运维命令
WSL (Windows Subsystem for Linux) 核心是一个 Linux 发行版,运维命令分为 Linux 运维命令和 WSL 特有命令两类。
一、Linux 运维命令 (大部分通用)
由于 WSL 核心是一个 Linux 发行版,因此你可以使用大量标准 Linux 命令行工具进行系统管理和运维。
- 系统信息:
uname -a: 显示内核版本和操作系统信息。cat /etc/os-release: 显示发行版名称和版本。lsb_release -a: (如果已安装lsb-release包) 显示发行版的详细信息。free -h: 显示内存使用情况。df -h: 显示磁盘空间使用情况。top/htop: (如果已安装htop) 实时显示系统进程和资源占用情况。
- 用户和权限管理:
whoami: 显示当前用户名。id: 显示当前用户的用户 ID (UID) 和组 ID (GID)。sudo apt update && sudo apt upgrade: 更新软件包列表和升级已安装的软件包 (Debian/Ubuntu)。 使用yum update(CentOS/RHEL) 或zypper update(openSUSE/SUSE Linux Enterprise)。useradd <用户名>: 创建新用户 (通常需要sudo权限)。passwd <用户名>: 更改用户密码 (通常需要sudo权限)。 不加用户名则修改当前用户的密码。usermod: 修改用户账户属性。groupadd <组名>: 创建新组 (通常需 要sudo权限)。chmod: 更改文件或目录的权限。chown: 更改文件或目录的所有者。chgrp: 更改文件或目录的所属组。
- 进程管理:
ps aux: 显示所有进程的详细信息。kill <进程ID>: 终止指定进程。kill -9 <进程ID>: 强制终止指定进程 (使用需谨慎)。top/htop: 实时监控进程资源占用。systemctl: 控制 systemd 系统和服务管理器(用于管理服务,例如启动、停止、重启)。 例如:sudo systemctl start nginx,sudo systemctl stop nginx,sudo systemctl status nginx。 并非所有 systemd 功能在 WSL 中都完全支持,但常用的服务管理功能通常可用。
- 网络管理:
ip addr: 显示网络接口信息。ifconfig: (已弃用,但可能仍然可用) 显示或配置网络接口。ping <目标地址>: 测试网络连接。netstat: 显示网络连接、路由表和网络接口信息. (ss命令是netstat的替代者,通常更推荐)。ss: 显示套接字统计信息,更简洁和高效. 例如ss -lt列出正在监听的 TCP 端口。route: 显示或修改路由表。traceroute <目标地址>: 追踪数据包的路由路径. (如果未安装,需要先安装:sudo apt install traceroute或类似命令)。nslookup <域名>: 查询 DNS 信息.
- 文件和目录管理:
ls -l: 列出文件和目录的详细信息。cd: 更改目录。pwd: 显示当前工作目录。mkdir: 创建目录。rmdir: 删除空目录。rm: 删除文件或目录 (使用-r选项可递归删除目录及其内容,非常危险,请小心)。cp: 复制文件或目录。mv: 移动或重命名文件或目录。touch: 创建空文件或更新文件的时间戳。cat: 显示文件内容。less: 分页显示文件内容(允许向上和向下滚动)。head: 显示文件的前几行。tail: 显示文件的后几行 (常与-f选项一起使用,用于实时查看日志文件)。grep: 在文件中搜索指定模式的文本。find: 根据条件查找文件。tar: 用于打包和解包文件,常与其他压缩工具(如 gzip 或 bzip2)结合使用。
- 日志管理:
/var/log: 默认的 Linux 日志存储目录。journalctl: 查询 systemd 日志 (用于查看 systemd 管理的服务的日志)。 例如:journalctl -u nginx.service查看 nginx 服务的日志。
二、WSL 特有命令 (在 PowerShell 或 CMD 中运行)
这些命令只能在 Windows 的 PowerShell 或 CMD 中运行,用于管理 WSL 子系统本身。
wsl --list --verbose或wsl -l -v: 列出已安装的 WSL 发行版及其状态 (Running 或 Stopped)。 也可以wsl --list --all显示所有已安装或正在安装的发行版wsl --install: 安装默认 Linux 发行版(如果尚未安装)。wsl --install <发行版名称>: 安装指定的 Linux 发行版。wsl --unregister <发行版名称>: 从 Windows 取消注册(卸载)指定的 WSL 发行版。 警告:这将删除该发行版中的所有数据!wsl --shutdown: 立即关闭所有正在运行的 WSL 发行版。wsl --set-version <发行版名称> <版本号>: 转换发行版的 WSL 版本 (例如,从 WSL 1 转换为 WSL 2)。<版本号>可以是1或2。 转换可能需要较长时间。wsl --set-default <发行版名称>: 设置默认 WSL 发行版。 当你运行wsl命令而不指定发行版时,将启动默认发行版。wsl --set-default-version <版本号>: 设置新安装的发行版的默认 WSL 版本 (1或2)。wsl -d <发行版名称> <command>: 在指定的发行版中运行命令。 例如:wsl -d Ubuntu ls -l在名为 "Ubuntu" 的发行版中运行ls -l命令。wsl --import <发行版名称> <安装目录> <tar文件路径>: 从 tar 文件导入发行版.wsl --export <发行版名称> <tar文件路径>: 将发行版导出到 tar 文件.wsl --status: 显示 WSL 的配置信息,例如默认发行版和内核版本.wsl --update: 检查 WSL 内核更新.wsl --optimize-vhd: 优化虚拟磁盘(VHD)的大小,释放未使用的空间。