为什么我的“ls -al /home”不起作用?

为什么我的“ls -al /home”不起作用?
Marias-MacBook-Air:~ mariasharapova$ ls -a /home
.   ..

Marias-MacBook-Air:~ mariasharapova$ ls -a-1 /home
ls: illegal option -- -
usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]

Marias-MacBook-Air:~ mariasharapova$ ls -a-l /home
ls: illegal option -- -
usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]

答案1

ls -a -l就是你的意思。 Unix 参数必须以空格分隔或组合成单个参数,如ls -al.公平地说,您的样式在 DOS 提示符下是合法的,在 -delimited 选项之前不需要空格/(例如,DIR/D/B很好)。但 Unix 不是 DOS……幸运的是。

答案2

要组合两个选项,只需执行以下操作:

ls -al /home
或者,如果您确实想为每个选项使用一个破折号,请这样做:
ls -a -l /home

答案3

-a和之间没有空格-1,因此ls尝试将 the 解释-为选项,而不是表示选项。添加一个空格,或者只是使用ls -a1它应该可以正常工作。尽管我不得不承认,这-1似乎是一个相当不寻常的选择 - 我通常ls -al反对ls -a1

答案4

您需要用空格分隔选项。如果您想组合选项,则应删除第二个选项中的破折号。所以,你应该说ls -a -lorls -al但你不能说ls -a-l

相关内容