2

Я сталкиваюсь со странной проблемой. Я пытаюсь выполнить ls -l *.xml в определенном каталоге, однако, когда я делаю это, я получаю сообщение

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

Если я делаю что-то вроде ls -l *.php или ls -l *.txt это прекрасно работает в той же директории, где я получаю сообщение о недопустимом параметре выше. Что еще страннее для меня, так это то, что если я выполняю ls -l *.xml в любом другом каталоге, он работает нормально и не выдает сообщение Invalid Option, как в одном каталоге.

Я попытался сделать ls -l *.xml в каталоге как root и как мой обычный логин, и он выдает одно и то же сообщение о недопустимой опции.

type ls
ls is aliased to `ls --color=tty'

which ls
alias ls='ls --color=tty'
    /bin/ls

whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

Я схожу с ума? Что может быть не так? Почему ls -l *.xml не работает в одной директории, но отлично работает в других?

Редактировать:

Пробовал отправлять ls -l в grep, но получил эту ошибку. Не уверен, почему мне когда-нибудь понадобится передать его в grep, так как ls -l *.xml работает в любом другом каталоге без проблем. Никогда не нужно было grep это раньше.

ls -l | grep .xml
grep: invalid option -- .
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.

2 ответа2

2

Поскольку *.xml будет расширен до всех файлов .xml в текущем каталоге, я предполагаю, что глоб будет расширен до того, что будет проанализировано как

ls -l -- .....

или аналогичный, то есть файл, начинающийся с -- .

Попробуйте выяснить, что это за файл, выполнив простой листинг с помощью ls -la .

Попробуйте удалить указанный файл с помощью rm -- --filename - здесь -- необходим, если вы хотите, чтобы имя файла не анализировалось как опция. В качестве альтернативы вы можете удалить его из графического интерфейса или с помощью команды rm "--filename" .

-2

Попробуй ls -l | grep .xml . Я не уверен, как что-то вроде ls -l * .xml может работать в первую очередь, потому что у меня сложилось впечатление, что, если вы пытаетесь сузить результаты до одного формата файла, обычно могут помочь piping и grep ..

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .