有没有办法/命令可以从命令行提示符中获取系统上所有可用命令的列表?
答案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
)。