我使用which 只能找到/usr/local/bin/下的东西
时间: 2024-09-23 19:09:22 浏览: 31
Linux which命令的具体使用
当你使用`which`命令查找某个程序,比如`aapt`,并且只在`/usr/local/bin`目录下找到了它,这意味着系统默认的搜索路径可能不包括全局安装的路径,如`/usr/bin`、`/bin`等。`/usr/local/bin`通常用于存放用户自定义的或者本地安装的程序。
这种情况可能是因为:
1. **默认路径设置**:系统环境变量`PATH`可能没有包含全局二进制文件夹,导致`which`仅能在`/usr/local/bin`中找到。
2. **程序安装位置**:许多开源软件会推荐或指导用户将它们安装在`/usr/local`目录下,因为这样可以避免与系统自带的软件冲突。
3. **自定义安装**:你可能有意无意地在`/usr/local/bin`下安装了`aapt`,而不是通过系统的包管理器进行全局安装。
4. **权限问题**:某些全局安装的程序可能需要管理员权限才能添加到默认的`PATH`中。
要解决这个问题,你可以手动添加`/usr/local/bin`到`PATH`中,使其对所有用户可见;或者检查`aapt`是否已在其他默认路径下存在,如果有,更新你的`PATH`使其优先访问那些路径。
```shell
# 添加到.bashrc或.zshrc中并退出再重新加载
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# 或者临时改变路径查看结果
export PATH="/usr/local/bin:/path/to/global/binaries"
which aapt
```
阅读全文