web-dev-qa-db-fra.com

ls option non valide '2'

J'ai les fichiers suivants (entre autres) dans un répertoire. Je suis sous 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

si j'essaye

ls *.vcf

Je reçois

ls: invalid option -- '2'
Try 'ls --help' for more information.

Je ne reçois pas l'erreur pour les autres extensions de fichier du répertoire. Je ne reçois pas l'erreur pour les fichiers .vcf lorsque j'exécute la commande dans d'autres répertoires. Qu'est ce qui cause cette erreur? Je n'ai rien essayé, sauf la recherche de cette erreur. Merci.

5
nak3c

Votre dossier contient probablement un fichier mal nommé, qui se développe en -2...vcf ou quelque chose de similaire. Vous pouvez lancer ls sous cette forme: ls -- *.vcf pour le contourner.

Explication:

BASH effectue le développement de caractères génériques avant d'exécuter ls, de sorte qu'il est probablement appelé quelque chose comme ls -2...vcf blabla01.vcf blabla02.vcf. En ajoutant deux tirets, vous indiquez à ls où finissent les paramètres, de sorte qu'il traite le -2...vcf comme un argument de nom de fichier.

3
Fiisch