每次我尝试从终端使用程序时,我都找不到它,因为它与真实名称不匹配。例如,我输入disks
终端,但真实名称是gnome-disks
。
我尝试使用:
sudo dpkg -l | grep disks
找到它,但是那些根本不匹配的程序怎么办?在终端中查找已安装程序的所有名称的最简单方法是什么?
答案1
这将列出所有包含文本“disks”的手册页名称和简短描述。请注意,这将不是对于没有手册页的脚本或程序,返回任何内容,但 Ubuntu 发行版提供的每个程序都应该有一个......
man -k disks
或者...
apropos disks
例如...
root@LX02:~ apropos disks
cryptdisks_start (8) - wrapper around cryptsetup which parses /etc/crypttab.
cryptdisks_stop (8) - wrapper around cryptsetup which parses /etc/crypttab.
mtools (1) - utilities to access DOS disks in Unix.
smartctl (8) - Control and Monitor Utility for SMART Disks
udisks (1) - udisks command line tool
udisks (7) - Storage Management
udisks-daemon (8) - udisks Daemon
答案2
最简单的方法是使用菜单编辑器检查“程序启动器”:
- 右键单击任务栏中的菜单按钮;
- 选择
Edit Menu
- 这将打开菜单编辑器。
现在,您可以在左侧选择类别,在右侧选择应用程序(Entries
)。只需单击鼠标左键选择应用程序,右键单击打开上下文菜单,然后选择Properties
. 将出现一个小窗口,显示命令行(以及其他信息)。
这些程序启动文件通常位于 中/usr/share/applications
,因此另一种方法是检查*.desktop
该目录中的文件。如果您不确定要*.desktop
查找的名称,请在/usr/share/applications
目录内部执行 grep:
grep gThumb * | grep 'Name='
会给你类似
gthumb.desktop:Name=gThumb
gthumb.desktop:X-GNOME-FullName=gThumb Image Viewer
gthumb-import.desktop:Name=Import with gThumb
gthumb-import.desktop:X-GNOME-FullName=gThumb Photo Import Tool
less gthumb.desktop
现在,您只需检查该程序启动器的详细信息即可。
另一种方法是使用apropos
命令在手册页中搜索某个关键字。
答案3
for bin in $(for path in $(tr ':' '\n' <<<"$PATH"); do echo $path; done); do ls $bin; done |grep 'disk'
上述循环枚举每个目录中的每个文件$PATH
,并显示与在管道末尾传递给 grep 的正则表达式匹配的任何文件(在本例中为“磁盘”)。
如果您的文件中含有不可执行文件,$PATH
这也会显示这些文件。
答案4
也许这不是你想听到的,但 zsh (zshell) 在命令完成方面做得很好。它与 bash 兼容(向后兼容),因此你不必学习全新的东西。
使用哦我的天啊有一个很好的设置起点,可以轻松地根据您的喜好进行调整。
如果我在终端中输入“磁盘”,它会自动建议以下列表,可以使用以下命令遍历该列表。cfdisk
fdisk lvmdiskscan mkdiskimage sgdisk udisks udisks-tcp-bridge umount.udisks2
cgdisk gdisk memdiskfind sfdisk testdisk udisksctl umount.udisks
您可能已经注意到,我没有运行 gnome,因此没有 gnome-disks,但如果存在的话,它肯定也会找到它。