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 -l
orls -al
但你不能说ls -a-l
。