命令行完整命令列表

命令行完整命令列表

有没有办法/命令可以从命令行提示符中获取系统上所有可用命令的列表?

答案1

通常按tab一次或两次会显示一条消息,例如:

Display all 435 possibilities? (y or n)

按下Y将显示您可以在默认路径上运行的所有命令。

答案2

如果你想显示你电脑中所有可用的命令$PATH,你可以使用这个命令:

ls $(echo $PATH | tr ":" " ")

如果您想显示文件系统上所有可用的可执行文件,您可以使用此命令(注意,它可能需要一些时间):

find / -type f \( -perm -u=x -o -perm -g=x -o -perm -o=x \) 2>/dev/null

该命令列出的文件不一定是命令,它们只是被设置为可执行文件。

(如果你想搜索,可能需要以 root 身份运行它,删除2> /dev/null部分知道寻找命令没有以普通用户身份进行搜索)

您可能还想列出您的别名,为此,您可以使用以下命令:

alias

答案3

狂欢,您可以使用compgen -c将所有命令补全生成到 stdout(因此您可以使用grep等,而不仅仅是翻阅列表)。您还可以添加前缀:

$ compgen -c ls
ls
lsbom
lsbom
lsdiff
lsof
lsvfs
lsvfs

$ compgen -c | grep zcat
bzcat
bzcat
bzcat
gzcat
gzcat
lzcat
zcat
zcat

$ compgen -c | sort -u | grep zcat
bzcat
gzcat
lzcat
zcat

答案4

稍微不同一点:

很多linux系统都已经man安装好了。

man -k searchword将列出所有命令(具有手册文件),searchword其描述更为深入和全面(man cmdname然后将列出手册cmdname)。

相关内容