列出包提供的所有二进制文件

jDu*_*Duk 5 package-management command-line apt text-processing

这不是列出包提供的所有文件的重复,我想列出某个包提供的位于二进制文件标准位置的所有二进制文件。

我知道这可以通过一些文本处理工具来完成,dpkg -L但我不太擅长这些。请建议一些东西。

hee*_*ayl 10

你可以做:

dpkg -L <package_name> | grep -E '/s?bin/'
Run Code Online (Sandbox Code Playgroud)
  • dpkg -L列出包提供的所有文件

  • grep -E '/s?bin/'搜索名称中包含/bin/或 的文件/sbin/

这将显示标准位置中的所有二进制文件,例如/usr/bin//bin//usr/sbin/或路径中/usr/bin/的任何其他位置。/bin/

例子:

% dpkg -L login | grep -E '/s?bin/'
/usr/sbin/nologin
/usr/bin/lastlog
/usr/bin/faillog
/usr/bin/newgrp
/bin/su
/bin/login
/usr/bin/sg
Run Code Online (Sandbox Code Playgroud)

或者与sed

% dpkg -L login | sed -nr '/\/s?bin\// p'
/usr/sbin/nologin
/usr/bin/lastlog
/usr/bin/faillog
/usr/bin/newgrp
/bin/su
/bin/login
/usr/bin/sg
Run Code Online (Sandbox Code Playgroud)

或者与awk

% dpkg -L login | awk '/\/s?bin\//'
/usr/sbin/nologin
/usr/bin/lastlog
/usr/bin/faillog
/usr/bin/newgrp
/bin/su
/bin/login
/usr/bin/sg
Run Code Online (Sandbox Code Playgroud)