首选方法是dpkg -l 包名,可完整列出.deb包安装的所有文件路径;其次可用dpkg -s反查归属包名,whereis快速检索标准路径下的可执行文件与手册页,which仅返回path内的可执行文件路径,find适用于非标准路径的深度搜索。

在银河麒麟系统中排查软件运行异常、清理冗余文件或配置环境变量时,必须准确知道某个已安装软件的实际安装位置,否则可能误删系统关键组件或配置失效。
通过dpkg查询.deb包安装路径
适用于使用apt或dpkg安装的官方软件包,如firefox、vim、nginx等。
第一步:确认软件包名是否精确匹配。执行dpkg -l | grep -i 软件关键词,例如dpkg -l | grep -i nginx,找到状态为ii的那行,提取第一列的包名(如nginx-full)。
第二步:用dpkg -L 包名列出该包安装的所有文件路径。例如:dpkg -L nginx-full。
注意:输出首行通常是/.,代表根目录;真正可执行文件多位于/usr/bin/或/usr/sbin/子目录下,配置文件集中在/etc/,库文件在/usr/lib/或/usr/share/。若包名错误,命令会报错package 'xxx' is not installed,需重新核对。
通过which和whereis定位可执行文件
适用于已知命令名但不确定其来源路径的场景,比如你输入git能运行,但不知道它装在哪。
执行which git,返回类似/usr/bin/git的路径——这是shell搜索PATH后找到的第一个匹配项。
执行whereis git,返回更全面的信息,如git: /usr/bin/git /usr/lib/git-core /etc/gitconfig /usr/share/man/man1/git.1.gz——它同时列出二进制、源码、配置、手册页路径。
【which只查PATH中的可执行文件,无法发现别名或shell函数;whereis不依赖PATH,但仅扫描预设标准目录】
通过apt-cache show获取元数据中的安装说明
某些软件包会在描述中明确标注主程序路径或典型部署结构,尤其适用于服务类软件。
执行apt-cache show 包名 | grep -E "Description|Homepage|Installed-Size",快速浏览摘要信息。
例如apt-cache show wps-office | grep Description会显示“WPS Office 是一款办公软件套件”,虽不直接给路径,但结合dpkg -L结果可交叉验证主程序是否在/usr/bin/wps。
这一步操作起来很简单,直接把命令复制粘贴进终端回车就行。
通过find按文件名反向查找(慎用)
当软件未被dpkg记录(如手动解压、run安装、源码make install),且你记得部分文件名时可用此法。
方法一:从根目录开始搜索可执行文件
执行sudo find / -type f -name "程序名" 2>/dev/null | head -n 5,例如sudo find / -type f -name "qtcreator" 2>/dev/null。加sudo是因普通用户无权遍历/usr、/opt等目录;2>/dev/null过滤权限拒绝提示;head -n 5防止输出过长卡住。
方法二:限定常见安装区域加速查找
执行find $HOME/Apps $HOME/Local /opt /usr/local -type d -name "*关键词*" 2>/dev/null,这能快速定位用户级手动安装的Qt、IDE等软件根目录。
【find全盘扫描耗时长、I/O压力大,非必要不推荐从/开始;优先用dpkg和which】











