Debian
列出特定 Debian 軟體包的所有命令
我想知道特定 Debian 軟體包提供給我的命令。
例如,假設我安裝了一個名為
x.deb
. 這個包肯定包含一些我可以使用的命令。如何列出這些命令。
我知道我可以使用
compgen
bash 命令生成系統中所有可用命令的列表,但我需要的只是特定包。我嘗試了解決方案:
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...