# Linux 软件安装位置 > 常见软件安装目录对比:/usr vs /usr/local vs /opt --- ## /usr - 系统级目录 类比 Windows 的 `C:/Windows/` | 路径 | 说明 | |------|------| | `/usr/bin` | 用户命令(ls、cp、mv 等) | | `/usr/sbin` | 系统管理命令 | | `/usr/lib` | 系统库文件 | | `/usr/share` | 共享数据(文档、图标) | | `/usr/include` | C 头文件 | | `/usr/local` | 本地安装的软件 | > **个人习惯**:Java 等系统级工具可放在此处。 --- ## /usr/local - 用户级程序目录 类比 Windows 的 `C:/Program Files/` - 用户自己编译的软件**默认安装位置** - 不会因系统更新而被覆盖 > **个人习惯**:Hadoop、Tomcat 等放在 `/usr/local/` 下: > ``` > /usr/local/hadoop/ > /usr/local/tomcat/ > ``` --- ## /opt - 可选/大型软件 类比 Windows 的 `D:/Software/` - 第三方大型软件(或游戏) - 适合不需要的东西可以 `rm -rf` 完全删除的场景 - 可单独挂载到其他磁盘(硬盘容量不足时) > **个人习惯**: > - 临时上传的软件包(tar.gz、rpm) > - 作为软件仓库 > ``` > /opt/nginx/ > /opt/redis/ > /opt/mysql/ > ``` --- ## 对比总结 | 目录 | 用途 | 特点 | |------|------|------| | `/usr` | 系统自带软件 | 系统更新可能被覆盖 | | `/usr/local` | 用户编译软件 | 稳定,不被系统更新影响 | | `/opt` | 第三方大型软件 | 可选,方便管理,可单独挂载 | --- ## 实际安装示例 ```bash # /usr/local 安装 Tomcat tar -xzf apache-tomcat-9.0.tar.gz sudo mv apache-tomcat-9.0 /usr/local/tomcat # /opt 安装 Redis tar -xzf redis-6.0.tar.gz sudo mv redis-6.0 /opt/redis # /usr 安装 Java sudo rpm -ivh jdk-11.rpm # 或 sudo tar -xzf jdk-11.tar.gz -C /usr/local/ ``` --- ## 查看软件安装位置 ```bash # 查看命令所在路径 which java whereis java # 查看已安装软件 dpkg -l # Debian/Ubuntu rpm -qa # CentOS/RHEL ``` --- > 参考:[Linux 软件安装目录详解](https://blog.csdn.net/adamlinsfz/article/details/84307097)