奇妙な問題に直面しています。ls -l *.xml特定のディレクトリでを実行しようとしていますが、これを行うとメッセージが表示されます
ls: invalid option -- .
Try ls --help' for more information.
上記のような無効なオプションメッセージが表示されるのと同じディレクトリで何かを行うかls -l *.php、ls -l *.txtそれが正常に動作する場合。私にとってさらに奇妙なことls -l *.xmlは、他のディレクトリで行う場合、それはうまく動作し、1つのディレクトリで行うように無効なオプションメッセージを与えないということです。
ls -l *.xmlルートと通常のログインの両方としてディレクトリで実行しようとしましたが、同じ無効なオプションメッセージが表示されます。
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にパイプしようとしましたが、このエラーが発生しました。ls -l *.xml他のディレクトリでも問題なく動作するので、なぜgrepにパイプする必要があるのかはわかりません。以前にgrepする必要はありませんでした。
ls -l | grep .xml
grep: invalid option -- .
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
-.xml。どうやらファイル名のダッシュが問題を引き起こしていたようです。実際、rm -.xmlファイル名がrm失敗する原因となっていたため、ファイルを削除することさえできませんでした。グラフィカルなSFTPクライアントを介してディレクトリに移動し、それを削除する必要がありました。ファイルが削除されると、すべてが再び機能しているようです。
ls -l -- *.xmlls -l | grep *.xmlls -l | grep '\.xml$'
ls -laくださいます。名前で始まる--か類似したファイルがあると思います。