为什么 unlink(1) 只支持一个文件?

dai*_*isy 3 command-line coreutils

如果可能的话,我习惯于支持多个文件名参数的命令,但unlink不:

%> unlink a b
unlink: extra operand `b'
Try `unlink --help' for more information.
Run Code Online (Sandbox Code Playgroud)

我最终使用了一个for循环。为什么unlink只需要一个文件名是否有技术原因?

War*_*ung 6

unlink(1)是 的一个有意简化的变体rm(1)

我不确定为什么创建它,但这可能是因为在幕后,rm(1)是根据unlink(2)系统调用实现的。因此,我假设原因unlink(1)是为系统调用提供更直接的路径。毫无疑问,有人想出了一个用例,其中rm(1)做了错误的事情,并决定修复它的最佳方法是提供这条直接路径。