linux与Windows文件命令
linux与Windows文件命令详细介绍
以下是 Linux 与 Windows 系统中常用文件操作命令的对比整理,涵盖文件 / 目录管理、内容查看、权限管理、搜索、压缩等核心功能:
一、基础文件与目录操作
| 功能 | Linux 命令 | Windows 命令(CMD/PowerShell) | 说明 |
|---|---|---|---|
| 查看当前目录 | pwd |
cd |
Linux 显示绝对路径;Windows cd 可显示当前路径,也可切换目录。 |
| 列出目录内容 | ls [选项] 路径(如 ls -l) |
dir [选项] 路径(如 dir /w) |
Linux 支持丰富选项(如 -a 显示隐藏文件,-h 人性化大小 显示隐藏文件,-h 人性化大小);Windows 选项较少。 |
| 创建目录 | mkdir 目录名 |
mkdir 目录名 或 md 目录名 |
单目录创建相同;Linux mkdir -p 可递归创建多层目录,Windows 需 mkdir -p(仅 PowerShell)。 |
| 删除空目录 | rmdir 目录名 或 rm -r 空目录 |
rmdir 目录名 或 rd 目录名 |
Windows rd 不能删除非空目录,需配合 /s(如 rd /s 目录名)。 |
| 删除文件 / 目录 | rm 文件/目录(目录需 -r) |
del 文件 或 rd /s 目录名 |
Linux rm -f 强制删除,rm -i 交互式确认;Windows del /f 强制,del /s 递归删除。 |
| 复制文件 / 目录 | cp 源文件 目标(目录需 -r) |
copy 源文件 目标(目录需 xcopy) |
Windows xcopy 支持目录复制(如 xcopy 源目录 目标目录 /s)。 |
| 移动 / 重命名文件 / 目录 | mv 源 目标 |
move 源 目标 |
两者语法相似,目标为目录时表示移动,目标为文件名时表示重命名。 |
| 重命名文件 | mv 旧名 新名 |
ren 旧名 新名 |
Linux 与 Windows 均可通过 mv 或专用 ren 命令重命名。 |
二、文件内容查看与编辑
| 功能 | Linux 命令 | Windows 命令(CMD/PowerShell) | 说明 | |
|---|---|---|---|---|
| 显示文件全部内容 | cat 文件名 |
type 文件名 |
Windows type 不支持大文件分页,Linux cat 同理,需配合 less/more。 |
|
| 分页查看文件 | less 文件名 或 more 文件名 |
more 文件名(CMD)或 `Get-Content 文件名 |
Linux less 支持搜索和快捷键;Windows 传统 CMD 功能较弱,PowerShell 更灵活。 |
|
| 查看文件前 / 后几行 | head 文件名(前 10 行)tail 文件名(后 10 行) |
more +10 文件名(从第 10 行开始)`Get-Content 文件名 |
Select-Object -Last 10` | Linux 可通过 -n 指定行数(如 head -n 5 文件名);Windows PowerShell 需脚本实现。 |
| 编辑文件 | nano/vim/gedit 文件名 |
notepad 文件名(启动图形编辑器) |
Linux 依赖命令行编辑器(如 Vim);Windows 需通过 notepad 打开图形界面。 |
三、文件权限与属性
| 功能 | Linux 命令 | Windows 命令(CMD/PowerShell) | 说明 |
|---|---|---|---|
| 查看文件权限 | ls -l 文件名 |
dir /q 文件名(显示所有者) |
Linux 以 rwx 符号表示权限;Windows 权限通过 ACL(访问控制列表)管理,命令行查看较复杂。 |
| 修改文件权限 | chmod [选项] 权限 文件名(如 chmod 755 文件名) |
icacls 文件名 /setattr +r(需详细语法) |
Linux 支持符号模式(如 chmod u+x 文件名);Windows 需通过 icacls 命令配置 ACL,语法复杂。 |
| 修改文件所有者 / 所属组 | chown 所有者:组 文件名 |
icacls 文件名 /owner:用户名 |
Linux 直接通过 chown 和 chgrp;Windows 需管理员权限,通过 icacls 调整所有者。 |
| 创建符号链接(软链接) | ln -s 目标文件 链接名 |
mklink 链接名 目标文件(需管理员) |
Linux 软链接类似快捷方式;Windows mklink 需指定类型(/D 目录,/H 硬链接)。 |
| 创建硬链接 | ln 目标文件 链接名 |
mklink /H 链接名 目标文件 |
两者均通过硬链接共享文件数据,Windows 需管理员权限。 |
四、文件搜索与查找
| 功能 | Linux 命令 | Windows 命令(CMD/PowerShell) | 说明 |
|---|---|---|---|
| 按名称搜索文件 | find 路径 -name "文件名" |
dir /s /b "文件名"(CMD)Get-ChildItem -Path 路径 -Recurse -Include "文件名"(PowerShell) |
Linux find 支持正则表达式(-regex);Windows PowerShell 更强大,支持通配符和筛选。 |
| 按内容搜索文件 | grep "关键词" 文件名 |
findstr "关键词" 文件名 |
Linux grep 功能强大,支持正则;Windows findstr 是简化版 grep。 |
| 搜索可执行文件路径 | which 命令名 |
where 命令名 |
两者均用于查找命令的执行路径,Linux 结果为绝对路径,Windows 可能返回多个位置。 |
五、文件压缩与解压缩
| 功能 | Linux 命令 | Windows 命令(CMD/PowerShell) | 说明 |
|---|---|---|---|
| 压缩文件 / 目录为 tar.gz | tar -czvf 压缩包.tar.gz 目标文件/目录 |
tar -czvf 压缩包.tar.gz 目标文件/目录(需 WSL 或 PowerShell 7+) |
Linux 原生支持;Windows 需通过 WSL(Linux 子系统)或第三方工具(如 7-Zip),PowerShell 7+ 支持 tar 命令。 |
| 解压 tar.gz 文件 | tar -xzvf 压缩包.tar.gz |
同上(tar -xzvf) |
同上。 |
| 压缩为 ZIP 格式 | zip -r 压缩包.zip 目标目录 |
Compress-Archive -Path 目标目录 -DestinationPath 压缩包.zip(PowerShell) |
Linux 需安装 zip 工具;Windows PowerShell 原生支持 ZIP 压缩。 |
| 解压 ZIP 文件 | unzip 压缩包.zip |
Expand-Archive -Path 压缩包.zip -DestinationPath 目标目录(PowerShell) |
两者均需对应工具,Windows 10+ 原生支持 PowerShell 解压。 |
六、其他常用命令
| 功能 | Linux 命令 | Windows 命令(CMD/PowerShell) | 说明 | |
|---|---|---|---|---|
| 查看文件大小 | du -h 文件名(目录大小)stat 文件名(详细信息) |
dir 文件名(CMD)`Get-ChildItem 文件名 |
Format-List Length`(PowerShell) | Linux du 可递归计算目录大小;Windows PowerShell 显示更详细属性。 |
| 环境变量查看 / 设置 | echo $变量名 / export 变量名=值 |
echo %变量名% / set 变量名=值 |
Linux 区分大小写,变量名需 $ 引用;Windows 不区分,用 % 引用。 |
|
| 路径分隔符 | /(如 /home/user) |
\(如 C:\Users\User)或 /(兼容) |
Windows 从 PowerShell 开始支持 / 作为路径分隔符,与 Linux 统一。 |
|
| 通配符匹配 | *(任意字符)、?(单个字符) |
同上 | 两者通配符逻辑相似,但 Linux 支持扩展通配符(需 shopt -s extglob)。 |
总结:核心差异与使用场景
- 设计哲学:
- Linux 命令注重简洁、组合性(如通过管道
|连接命令),适合脚本自动化和高级用户。 - Windows 传统命令(CMD)功能较弱,但 PowerShell 引入了更强大的脚本能力,兼容部分 Linux 命令(如
tar、grep需安装 WSL)。
- Linux 命令注重简洁、组合性(如通过管道
- 权限系统:
- Linux 基于用户 / 组的权限模型,通过
chmod/chown直接管理;Windows 依赖 ACL 和用户账户控制(UAC),命令行配置复杂。
- Linux 基于用户 / 组的权限模型,通过
- 路径与大小写:
- Linux 路径严格区分大小写,使用
/;Windows 不区分大小写(但文件名保留大小写),传统使用\,现支持/。
- Linux 路径严格区分大小写,使用
- 工具生态:
- Linux 拥有丰富的命令行工具(如
awk、sed),适合服务器和开发场景; - Windows 更依赖图形界面,命令行工具在 PowerShell 中得到增强,适合企业桌面环境。
- Linux 拥有丰富的命令行工具(如
如果需要在两者间切换,建议:
- 学习基础命令对应关系(如
lsvsdir,cpvscopy); - 复杂操作可借助 PowerShell(Windows)或 WSL(在 Windows 中运行原生 Linux 命令)。