如何搜索我不知道其全名的命令?


10

每次尝试从终端使用程序时,都找不到它,因为它与真实名称不匹配。例如,我输入disks终端,但真实姓名为gnome-disks

我尝试使用:

sudo dpkg -l | grep disks 

找到它,但是根本不匹配的程序呢?在终端中查找已安装程序的所有名称的最简单方法是什么?

Answers:


4

这将列出所有包含文本“ 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

3

最简单的方法是使用菜单编辑器检查“程序启动器”:

  • 右键单击任务栏中的菜单按钮;
  • 选择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命令在手册页中搜索某个关键字。


1

for bin in $(for path in $(tr ':' '\n' <<<"$PATH"); do echo $path; done); do ls $bin; done |grep 'disk'

上面的循环枚举了您的每个目录中的每个文件,$PATH并显示了与在管道末尾传递给grep的正则表达式(在这种情况下为“ disk”)匹配的任何文件。

如果您的文件中包含不可执行的文件,$PATH这也会显示这些文件。


0

也许不是您想听到的,但是zsh(zshell)在命令完成方面做得很好。它与bash(向后)兼容,因此您不必学习全新的知识。
有了oh-my-zsh,您可以轻松地根据自己的喜好对设置进行设置。

如果我在终端中键入“ disk”,它会自动提示以下列表,可以使用进行遍历。
cfdisk fdisk lvmdiskscan mkdiskimage sgdisk udisks udisks-tcp-bridge umount.udisks2
cgdisk gdisk memdiskfind sfdisk testdisk udisksctl umount.udisks

您可能已经注意到,我没有运行gnome,因此没有gnome磁盘,但是如果存在,它肯定也会找到一个。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.