Debian

列出特定 Debian 軟體包的所有命令

  • September 17, 2019

我想知道特定 Debian 軟體包提供給我的命令。

例如,假設我安裝了一個名為x.deb. 這個包肯定包含一些我可以使用的命令。

如何列出這些命令。

我知道我可以使用compgenbash 命令生成系統中所有可用命令的列表,但我需要的只是特定包。

我嘗試了解決方案:

dpkg -L postgresql-9.3 | egrep '(bin|games)/'
/usr/lib/postgresql/9.3/bin/pg_upgrade
/usr/lib/postgresql/9.3/bin/pg_ctl
/usr/lib/postgresql/9.3/bin/pg_resetxlog
/usr/lib/postgresql/9.3/bin/postgres
/usr/lib/postgresql/9.3/bin/pg_xlogdump
/usr/lib/postgresql/9.3/bin/initdb
/usr/lib/postgresql/9.3/bin/pg_controldata
/usr/lib/postgresql/9.3/bin/postmaster

我試過命令postgres

user@userPc:~$ postgres
No command 'postgres' found, did you mean:
Command 'postgrey' from package 'postgrey' (universe)
postgres: command not found

使用dpkg -L pkgname它並將其通過管道傳遞給搜尋bin/and的 grep 命令games/

$ dpkg -L bash | grep -E '(bin|games)/'
/bin/bash
/usr/bin/bashbug
/usr/bin/clear_console
/bin/rbash

如果您想檢查所有二進製文件,無論它們是否在您的$PATH嘗試這個 bash 函式中:

find_binaries (){
   dpkg -L "$@" | while read; do
       [ -f "$REPLY" -a -x "$REPLY" ] && echo "$REPLY"
   done
}

像這樣呼叫:

$ find_binaries postfix
...SNIP...
/usr/lib/postfix/postfix-files
/usr/lib/postfix/pipe
/usr/lib/postfix/proxymap
/usr/lib/postfix/local
/usr/lib/postfix/discard
...SNIP...

引用自:https://unix.stackexchange.com/questions/122524