这不是列出包提供的所有文件的重复,我想列出某个包提供的位于二进制文件标准位置的所有二进制文件。
我知道这可以通过一些文本处理工具来完成,dpkg -L
但我不太擅长这些。请提出一些建议。
答案1
你可以做:
dpkg -L <package_name> | grep -E '/s?bin/'
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
或者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
或者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