如果您想查看有关命令差异的更详细讨论,请参阅下面的关于差异的详细信息部分。
从LeMoDa.net 网站1 (archived),特别是Windows and Unix command line equivalents 页面(archived),我发现了以下2。 下次编辑会有更好/更完整的表格。
Windows command Unix command
rmdir rmdir
rmdir /s rm -r
move mv
我很想听听@Dave 和@javadba 的意见,了解这些命令的等效性——“behavior and capabilities”比较,是非常相似还是“woefully NOT equivalent”。
我发现,当我使用它尝试递归删除目录及其组成文件和子目录时,例如
(Windows cmd)>rmdir /s C:\my\dirwithsubdirs\
给了我一个标准的 Windows-knows-better-than-you-do-are-you-sure 消息和提示
dirwithsubdirs, Are you sure (Y/N)?
当我输入 Y 时,结果是我的顶级目录及其组成文件和子目录消失了。
编辑
我在找到this answer 后回头看这个。我重试了每个命令,我会稍微改变一下表格。
Windows command Unix command
rmdir rmdir
rmdir /s /q rm -r
rmdir /s /q rm -rf
rmdir /s rm -ri
move mv
del <file> rm <file>
如果你想要等价于
rm -rf
你可以使用
rmdir /s /q
或者,正如我提供的答案的作者所描述的那样,
但是还有另一种“老派”的方式来做到这一点,这种方式在过去命令没有抑制确认消息的选项时使用。只需 ECHO 所需的响应并将值通过管道传递到命令中。
echo y | rmdir /s
差异详情
我使用 Windows CMD 和 Cygwin(及其 bash)测试了每个命令。
在每次测试之前,我进行了以下设置。
Windows CMD
>mkdir this_directory
>echo some text stuff > this_directory/some.txt
>mkdir this_empty_directory
赛格温bash
$ mkdir this_directory
$ echo "some text stuff" > this_directory/some.txt
$ mkdir this_empty_directory
这导致两者的文件结构如下。
base
|-- this_directory
| `-- some.txt
`-- this_empty_directory
这是结果。请注意,我不会将每个标记为 CMD 或 bash; CMD 前面有一个>,bash 前面有一个$ 。
非常感谢@JillAndMe 提供comment,
注意你必须你 [使用] "/" 而不是这个:"\" [;] rmdir 用于删除文件夹 del 用于文件
进行了相应的更改,并添加了del 和rm 的示例。
DEL and RM
(用于文件)。据我所知,它们的工作方式相同。
>del this_directory\some.txt
>tree /a /f
Folder PATH listing for volume Windows
Volume serial number is ████████ ████:████
base
+---this_directory
\---this_empty_directory
$ rm this_directory/some.txt
$ tree --charset=ascii
base
|-- this_directory
`-- this_empty_directory
2 directories, 0 files
RMDIR
>rmdir this_directory
The directory is not empty.
>tree /a /f .
Folder PATH listing for volume Windows
Volume serial number is ████████ ████:████
base
+---this_directory
| some.txt
|
\---this_empty_directory
> rmdir this_empty_directory
>tree /a /f .
base
\---this_directory
some.txt
$ rmdir this_directory
rmdir: failed to remove 'this_directory': Directory not empty
$ tree --charset=ascii
base
|-- this_directory
| `-- some.txt
`-- this_empty_directory
2 directories, 1 file
$ rmdir this_empty_directory
$ tree --charset=ascii
base
`-- this_directory
`-- some.txt
RMDIR /S /Q and RM -R ; RM -RF
>rmdir /s /q this_directory
>tree /a /f
base
\---this_empty_directory
>rmdir /s /q this_empty_directory
>tree /a /f
base
No subfolders exist
$ rm -r this_directory
$ tree --charset=ascii
base
`-- this_empty_directory
$ rm -r this_empty_directory
$ tree --charset=ascii
base
0 directories, 0 files
$ rm -rf this_directory
$ tree --charset=ascii
base
`-- this_empty_directory
$ rm -rf this_empty_directory
$ tree --charset=ascii
base
0 directories, 0 files
RMDIR /S and RM -RI
在这里,我们有一点不同,但它们非常接近。
>rmdir /s this_directory
this_directory, Are you sure (Y/N)? y
>tree /a /f
base
\---this_empty_directory
>rmdir /s this_empty_directory
this_empty_directory, Are you sure (Y/N)? y
>tree /a /f
base
No subfolders exist
$ rm -ri this_directory
rm: descend into directory 'this_directory'? y
rm: remove regular file 'this_directory/some.txt'? y
rm: remove directory 'this_directory'? y
$ tree --charset=ascii
base
`-- this_empty_directory
$ rm -ri this_empty_directory
rm: remove directory 'this_empty_directory'? y
$ tree --charset=ascii
base
0 directories, 0 files
<s>I'M HOPING TO GET</s> ANYONE IS WELCOME TO ANSWER WITH A MORE THOROUGH "MOVE AND MV" TEST
注意事项
- 我对 LeMoDa 网站几乎一无所知,除了信息是
Copyright © Ben Bullock 2009-2018。保留所有权利。
(archived copyright notice)
而且似乎有一堆有用的编程技巧以及一些幽默(是的,英国拼写)和有关如何修理日本厕所的信息。我还发现了一些关于“茨城报告”的东西,但我不知道那是网站。
我想我会经常去那里;它非常有用。本布洛克的道具,他的电子邮件在他的页面上。如果他要我删除此信息,我会的。
我将包含来自网站的disclaimer (archived):
免责声明
在使用本网站上的任何计算机程序代码之前,请阅读以下免责声明。
在适用法律允许的范围内,本程序不提供任何保证。除非另有书面说明,否则版权所有者和/或其他方“按原样”提供程序,不提供任何形式的明示或暗示保证,包括但不限于对适销性和特定用途适用性的暗示保证.程序质量和性能的全部风险由您承担。如果该程序被证明有缺陷,您将承担所有必要的服务、维修或纠正的费用。
在任何情况下,除非适用法律要求或书面同意,否则任何版权所有者或任何其他按照上述许可修改和/或传达程序的方均不对您的损害负责,包括任何一般、特殊、因使用或无法使用本程序而造成的附带或间接损害(包括但不限于数据丢失或数据被渲染不准确或由您或第三方造成的丢失或程序无法与任何其他程序一起运行) , 即使该持有人或其他方已被告知此类损害的可能性。
- 实际上,我通过 Google 搜索“cmd 等效于 rm”找到了该信息
https://www.google.com/search?q=cmd+equivalent+of+rm
我要分享的信息首先出现。鉴于 Google 的个性化方式和不断更新的方式,您的搜索结果可能会大不相同。