查找二进制文件源包的命令?

查找二进制文件源包的命令?

我知道有一个which命令可以回显二进制文件的全名(例如which sh)。但是,我相当确定有一个命令可以回显提供特定二进制文件的包。有这样的命令吗?如果有,它是什么?我希望能够运行这个:

commandName ls

并得到

coreutils

例如。

答案1

我猜你正在寻找dpkg -S命令(另见dpkg 的常用选项)。

答案2

如果你想在尚未安装的包中查找文件,请使用apt 文件

apt-get install -y apt-file
apt-file update

然后,找到一些东西:

apt-file search /usr/bin/file

或者

apt-find search file

其中“文件”是您要搜索的名称。

如果你不想在每个 Debian 系统上都进行这样的操作,你可以使用这个脚本:

#!/bin/bash
which apt-get >/dev/null || { echo apt-get not found >&2; exit 1; }
which apt-file >/dev/null || { apt-get install -y apt-file;  apt-file update; }
unset i; IFS=$'\x0a'; select i in $( apt-file search "/$@" ); do 
    test -n "$i" || break; apt-get install "${i%% *}"; done

我当时只是把它匆匆忙忙地做了一下,但似乎效果不错。

注意:“dpkg -S”只能找到您已经安装的东西。

相关内容