ls 无效的选项“2”

nak*_*k3c 5 command-line ls

我在目录中有以下文件(以及其他文件)。我正在运行 Ubuntu 16.04。

 484 May  8 21:50 NA19239.vcf
 484 May  9 08:50 HG01583.vcf
 484 May  9 08:51 HG01595.vcf
   0 May  9 15:11 HG00268-WGS-cordSorted.bam.vcf
   0 May  9 15:11 HG00096-WGS-cordSorted.bam.vcf
   0 May  9 15:11 HG00419-WGS-cordSorted.bam.vcf
Run Code Online (Sandbox Code Playgroud)

如果我尝试

ls *.vcf
Run Code Online (Sandbox Code Playgroud)

我得到

ls: invalid option -- '2'
Try 'ls --help' for more information.
Run Code Online (Sandbox Code Playgroud)

我没有收到目录中其他文件扩展名的错误。当我在其他目录中运行命令时,我没有收到 .vcf 文件的错误。是什么导致了这个错误?除了搜索此错误之外,我没有尝试任何其他方法。谢谢。

Fii*_*sch 4

您的文件夹中可能有一些名称错误的文件,它会扩展为-2...vcf或类似的文件。您可以以这种形式运行 ls:ls -- *.vcf来绕过它。

解释:

BASH 在运行 ls 之前执行通配符扩展,因此可能存在类似ls -2...vcf blabla01.vcf blabla02.vcf被调用的情况。通过添加两个破折号,您可以告诉 ls 参数结束的位置,以便它将 视为-2...vcf文件名参数。