Bash-そのようなファイルはありませんが、まだファイルは存在します


2

最近、Debian Jessie amd64ヘッドレスサーバーをインストールしました(ネットインストールの1つを使用)。サーバーは稼働中であり、システムは期待どおりに機能しています。
しかし、それから.cgi(C ++で書かれた)をコンパイルしました。(使用するg++ 4.9.2)コンパイルはうまくいきましたが、それからファイルを実行しようとするとすぐbashに言いNo such file or directoryます。
私は、このエラーに関する他の記事を読んで、私は利用しようとしたfilelddとさえcatコマンドを、それらのすべては、彼らがそのファイルを見つけることができないと言います。許可され
ls -lたファイルを755期待どおりに表示します。
しかし、bash-completionは何もせず、パスを自動補完しません。

しかし、今では興味深いものになりました。
使用midnight commanderすると、バイナリの読み取り、編集、実行に成功し、apacheディレクトリインデックスを含む完全なディレクトリインデックスが一覧表示され、.cgiダウンロードすることもできます。

何が起こっている?
私はそれを実行できるのでmc、実行可能ファイル自体に関するものではないと思います。
bashが破損していませんか?
洞察力を事前に感謝します!


あなたはbtrfsを使用していますか?
MariusMatutiae

残念ながら、ext4ではありません。
メックスミュラー

実行可能ファイルの正確なファイル名は何ですか?
カオス

それだけindex.cgiです。スペースやその他の隠されたキャラクターはありません...
メックスミュラー

1
ゴダミット!通常の代わりに(アクセント付きなど)をi取得しましたî。私を正しい方向に向けてくれてありがとう!これを回答として投稿した場合は、承認します!
メックスミュラー

回答:


0

ディレクトリでそのファイルを検索し、次のようにすべてのファイル名をhexdumpできます:

find . -exec sh -c 'echo -n "$1" | xxd' _ {} \;

(たとえば)印刷します:

0000000: 2e2f 696e 6465 782e 6367 69              ./index.cgi
0000000: 2e2f 696e 6465 782e 6367 690a            ./index.cgi.

2行目index.cgiの最後に改行があります(0a)。ファイルの名前を見て、出力例の最初の行と比較できます。すべてが正しい場合、ファイル名は最初の行のようになります。


0

updatedbコマンドを使用します。これにより、ディレクトリデータベースが更新されます。詳細はリファレンスを参照してくださいupdatedb Docs

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.