为什么 ls 命令在其参数前需要破折号,而对于 tar 命令,破折号是可选的?

Dia*_*nne 4 linux arguments ls tar

我是 Ubuntu 的新手,我正在努力理解命令行。

当我想查看 tar 文件的内容时,我使用:

tar tf tarfile.tar

但是当我想查看所有文件的列表时,如果我使用:

ls 一个文件名

它说:

ls: 无法访问 a: 没有那个文件或目录

这是为什么?

为什么一个命令需要减号“-”,而另一个命令不需要?

小智 8

tar 命令是*nix 中最古老的命令之一。它是很久以前创建的,用于将数据存储在磁带驱动器上的磁带存档。

在编写该实用程序时,尚未发明当前使用破折号表示参数的标准。

它对于 tar 是可选的,但对于几乎所有其他命令都是强制性的。