Linux 路径/usr/bin/和/usr/local/bin/

Linux 路径/usr/bin/和/usr/local/bin/,linux,macos,bash,command-line,watchr,Linux,Macos,Bash,Command Line,Watchr,我使用gem安装watchr在OSX(10.8.3)上安装了watchr。它安装在/usr/bin/watchr中 但是,当我试图调用它时,$watchr-v,系统找不到它 $ watchr -v -bash: /usr/local/bin/watchr: No such file or directory 我认为这与如何在我的机器上设置路径有关。我的问题是: 正确的解决方法是什么 一般来说,与/usr/local/bin/相比,哪些程序应该转到/usr/bin/ 当我这样做时,例如,$/us

我使用
gem安装watchr
在OSX(10.8.3)上安装了watchr。它安装在/usr/bin/watchr中

但是,当我试图调用它时,
$watchr-v
,系统找不到它

$ watchr -v
-bash: /usr/local/bin/watchr: No such file or directory
我认为这与如何在我的机器上设置路径有关。我的问题是:

  • 正确的解决方法是什么
  • 一般来说,与
    /usr/local/bin/
    相比,哪些程序应该转到
    /usr/bin/
  • 当我这样做时,例如,
    $/usr/bin/watchr-e'watch(./hello.txt)…
    ,我们是在查看当前目录中的hello.txt还是在/usr/bin/I.e.与watchr相同的目录中的hello.txt

  • /usr/local/bin/watchr是否为断开的符号链接?这将使
    哪个watchr
    不包括它,但
    watchr
    将打印此错误:

    -bash: /usr/local/bin/watchr: No such file or directory
    
    我不知道为什么OSX附带的
    gem
    会在/usr/bin/中安装程序,但通常/usr/bin/用于预装程序,包管理器使用类似/opt/local/bin/或/usr/local/bin/的东西

    路径上的其他文件夹前面还有/usr/local/bin/,我将手动安装或编译的大多数程序放在/usr/local/bin/。我以前有一个单独的~/bin/文件夹,但是很容易找到像
    find/usr/local/bin这样的非自制程序-lname'../Cell/*'

    关于/usr/local/bin/的相关问题:


    您的命令路径被缓存为错误值。尝试更新bash为路径存储的缓存目录

    hash -d watchr
    

    我在这里找到了答案

    在主目录中创建一个名为.profile的文件,并添加以下行。
    export PATH=“/usr/local/bin:/usr/local/sbin:/usr/bin:$PATH”

    我在/usr/local/bin/中看到了几个符号链接,但没有找到watchr的符号链接。您是说/usr/bin/更适合系统安装;而/usr/local/bin/用于手动安装,即用户手动安装的程序?在进行了更多的实验之后,我学到了以下内容。如上所述{{/usr/local/bin/}}通常由包管理器使用,例如brew安装{{/usr/local/cillar/*}。对于手动安装,这实际上取决于用户在哪里放置位。在我的情况下(Ubuntu)关闭并重新打开终端解决了这个问题。谢谢,伙计。我在设置Erlang和Elixir时遇到了这个问题。他们的官方存储库在Ubuntu/LinuxMint中混乱不堪。你的评论使我避免了一场可能很长时间的虫子搜索,将来也可能如此。;)我不敢相信我以前不知道这个。(我应该在回答中为未来的谷歌用户添加更多关键词吗?)
    hash -d watchr