簡體   English   中英

在Linux(Ubuntu)中,當我看到“沒有這樣的文件或目錄”時,如何確定找不到哪個特定文件

[英]In Linux (Ubuntu), how do I determine which specific file was not found when I see “No such file or directory”

在Ubuntu中,我給出了這些命令並獲得了這個輸出:

soujanya@LLN-Ubuntu:~/workspace/openEAR-0.1.0$ ls -l SMILExtract
-rwxr-xr-x 1 soujanya soujanya 3789876 Aug 20  2009 SMILExtract
soujanya@LLN-Ubuntu:~/workspace/openEAR-0.1.0$ whoami
soujanya
soujanya@LLN-Ubuntu:~/workspace/openEAR-0.1.0$ ./SMILExtract
bash: ./SMILExtract: No such file or directory
soujanya@LLN-Ubuntu:~/workspace/openEAR-0.1.0$

SMILExtract是一個可執行文件(不是shell腳本),我無權訪問此文件的源代碼。 也許它會調用某個system()或者可能不會,我無法知道。

我聽說這個錯誤可能是因為文件是32位而且我在64位系統上運行它,所以No such file or directory引用加載器而不是這個文件。 我認為這不是我的原因,但無論如何,我的問題是:

有沒有辦法找出WHICH文件是No such file or directory 也許是Bash中的一個特殊變量或類似的東西。

您可以使用strace運行程序,該工具可以顯示程序使用的系統調用。 它會產生大量輸出,但您可以看到程序嘗試打開的文件。 像這樣運行你的程序:

strace ./SMILExtract

要確定32/64位問題,你可以'提交./SMILExtract'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM