Shell

現有文件上的“沒有這樣的文件或目錄”錯誤?

  • October 7, 2018

我對同時似乎存在和不存在的二進製文件(?)有疑問。

$ ls -l /usr/local/bin/vue
lrwxr-xr-x  1 myusername  admin  73 Jul 14 15:31 /usr/local/bin/vue -> ../../../Users/myusername/.config/yarn/global/node_modules/vue-cli/bin/vue
$ /usr/local/bin/vue
zsh: no such file or directory: /usr/local/bin/vue

知道這裡發生了什麼嗎?

你會發現那/Users/myusername/.config/yarn/global/node_modules/vue-cli/bin/vue是不存在的。

符號連結/usr/local/bin/vue存在,因此您可以使用ls -l. 但是目標沒有,所以那裡實際上沒有任何文件。

您可以使用這兩個命令中的任何一個來確認這一點

ls -lL /usr/local/bin/vue
ls -l /usr/local/bin/../../../Users/myusername/.config/yarn/global/node_modules/vue-cli/bin/vue

第一個告訴ls您有關連結目標的資訊,而不是連結本身 ( -L)。第二個直視目標。

引用自:https://unix.stackexchange.com/questions/456297