Windows和Linux的常见命令对比及扩展知识如下:
一、文件与目录操作
Windows (CMD/PowerShell)
- `dir`:列出当前目录内容(等效于`ls`)。
- `cd 路径`:切换目录(如`cd C:\Users`)。
- `mkdir 目录名`:创建新目录。
- `del 文件名`:删除文件(`/s`递归删除,`/q`静默模式)。
- `copy 源文件 目标文件`:复制文件。
- `move 源文件 目标路径`:移动或重命名文件。
- `type 文件名`:查看文件内容(等效于`cat`)。
Linux/Unix
- `ls`:列出目录内容(`-l`详细列表,`-a`显示隐藏文件)。
- `pwd`:显示当前工作目录路径。
- `cd 路径`:切换目录(`~`代表家目录,`..`上一级)。
- `mkdir 目录名`:创建目录(`-p`递归创建多级目录)。
- `rm 文件名`:删除文件(`-r`递归删除目录,`-f`强制删除)。
- `cp 源文件 目标文件`:复制文件(`-r`复制目录)。
- `mv 源文件 目标路径`:移动或重命名文件。
- `cat 文件名`:查看文件内容,`more`/`less`分页查看。
扩展知识:
Linux的`ls -l`输出中,首字符表示文件类型(如`-`为普通文件,`d`为目录)。Windows的`dir /A`可过滤属性(如`/AD`仅显示目录)。
二、系统与进程管理
Windows
- `tasklist`:列出运行中的进程(类似`ps`)。
- `taskkill /PID 进程号`:终止进程(`/F`强制终止)。
- `systeminfo`:查看系统详细信息(CPU、内存等)。
- `shutdown /s`:关机(`/r`重启,`/t 0`立即执行)。
Linux
- `ps aux`:查看所有进程(`-ef`为另一种格式)。
- `top`/`htop`:动态查看进程及资源占用。
- `kill -9 进程号`:强制终止进程。
- `free -h`:查看内存使用(`-m`以MB显示)。
- `df -h`:查看磁盘空间(`/`根目录挂载点)。
- `reboot`/`shutdown now`:重启或关机。
扩展知识:
Linux的`kill`信号中,`-9`(SIGKILL)不可捕获,而`-15`(SIGTERM)允许进程清理资源。Windows的`taskkill`支持通过映像名(如`taskkill /IM notepad.exe`)终止进程。
三、网络相关
Windows
- `ipconfig`:查看IP配置(`/all`显示详细信息)。
- `ping 目标IP`:测试网络连通性。
- `tracert 目标IP`:路由路径。
- `netstat -ano`:查看网络连接和端口(`-a`所有连接)。
Linux
- `ifconfig`或`ip a`:查看网络接口(需安装`net-tools`)。
- `ping -c 4 目标IP`:限制ping次数。
- `traceroute 目标IP`:路由(需`traceroute`包)。
- `ss -tulnp`:查看端口(`-t`TCP,`-u`UDP)。
- `curl URL`/`wget URL`:下载或访问网页内容。
扩展知识:
Linux的`netstat`已逐渐被`ss`替代,后者速度更快。Windows的`Test-NetConnection`(PowerShell)可替代部分`ping`和`tracert`功能。
四、权限与用户管理
Windows
- `whoami`:显示当前用户名。
- `net user`:管理用户账户(如`net user 用户名 密码 /add`)。
- `icacls 文件 权限`:设置NTFS权限(如`icacls file /grant User:R`)。
Linux
- `whoami`/`id`:显示用户及组信息。
- `sudo 命令`:以管理员权限执行。
- `chmod 权限 文件`:修改权限(如`chmod 755 script.sh`)。
- `chown 用户:组 文件`:修改所有者(如`chown root:root file`)。
扩展知识:
Linux权限中,`755`表示所有者可读/写/执行(7),组和其他用户可读/执行(5)。Windows的ACL(访问控制列表)更复杂,支持细粒度权限分配。
五、文本处理与搜索
Windows
- `findstr "关键词" 文件`:搜索文本(如`findstr "error" log.txt`)。
- `fc 文件1 文件2`:比较文件差异。
Linux
- `grep "关键词" 文件`:搜索文本(`-i`忽略大小写,`-r`递归搜索)。
- `find /路径 -name "*.txt"`:按名称搜索文件。
- `diff 文件1 文件2`:比较文件差异。
- `sed`/`awk`:高级文本处理工具(如`sed 's/old/new/g' file`)。
扩展知识:
Linux的`grep`支持正则表达式,`awk`可处理结构化文本(如提取列)。PowerShell的`Select-String`等效于`grep`。
六、包管理与软件安装
Windows
- 依赖安装程序(如`.exe`或`.msi`),或通过包管理器:
- `winget install 软件名`(Win11内置)。
- `choco install 软件名`(需安装Chocolatey)。
Linux
- 依据发行版选择命令:
- Debian/Ubuntu:`apt install 包名`(`apt update`更新源)。
- RHEL/CentOS:`yum install 包名`或`dnf install 包名`。
- Arch:`pacman -S 包名`。
扩展知识:
Linux的包管理器自动解决依赖关系,而Windows的传统安装需手动处理。
七、环境变量
Windows
- `set`:显示当前环境变量。
- `set 变量名=值`:临时设置变量(永久需通过GUI或`setx`)。
Linux
- `printenv`:显示环境变量。
- `export 变量名=值`:临时设置(永久需写入`~/.bashrc`或`/etc/profile`)。
掌握这些命令可提升跨平台运维效率。Windows侧重图形化与兼容性,Linux则强调脚本化与灵活性。根据场景选择合适工具是关键。