![程序文件存在于 /usr/bin 中,但无法使用](https://linux22.com/image/717142/%E7%A8%8B%E5%BA%8F%E6%96%87%E4%BB%B6%E5%AD%98%E5%9C%A8%E4%BA%8E%20%2Fusr%2Fbin%20%E4%B8%AD%EF%BC%8C%E4%BD%86%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8.png)
显然我的文件存在于/usr/bin
$ ls /usr/bin/ngrok
/usr/bin/ngrok
但是,当我尝试chown
这样做时,我收到一个错误
$ sudo chown my_user:users /usr/bin/ngrok
chown: cannot dereference '/usr/bin/ngrok': No such file or directory
进一步尝试运行它也失败了!
$ ngrok
bash: ngrok: command not found
$ sudo /usr/bin/ngrok
sudo: /usr/bin/ngrok: command not found
这里发生了什么事?
答案1
/usr/bin/ngrok
将是一个指向无处(或者指向不存在的文件)的符号链接。使用 检查ls -l
。
答案2
答案3
您还可以选择使用以下命令更改符号链接本身的所有权
chown -h my_user:users /usr/bin/ngrok
如果您不希望(或没有权限)更改目标文件的所有权。