生成可用命令列表以及每个命令的作用

网上是否存在带有描述的Linux命令集?

我有一个使用alt获得的命令列表! 列出了1947年的命令。 我将这些放入文件中,但是我必须使用whatis命令编写每个命令所执行的操作,然后将命令旁边的结果复制到文本文档中。

有没有更简单的方法来生成此列表?

如果您的目的是要有一个文档列出计算机上每个系统命令的whatis输出,请执行以下操作:

 find {,/usr}/{,s}bin -printf '%f\0' | xargs -0 whatis > command-encyclopedia.txt 
  • 要捕获没有whatis输出的条目,请在该命令中附加2>&1
  • 要将未记录的条目放在它们自己的文档中,请添加2> dark-commands.txt

实际上,要成为一个合适的百科全书,你也希望将它排序!

 find {,/usr}/{,s}bin -printf '%f\0' | xargs -0 whatis | sort > command-encyclopedia.txt 

更好的是,让它可以交互式搜索(对于@Doogfar的建议!):

 find {,/usr}/{,s}bin -printf '%f\0' | xargs -0 whatis | sort | less 

现在使用/向前搜索和 向后搜索,或者在您的百科全书中按Ctrl + F / B向前和向后翻页。

提示:如果您想在每次需要命令百科全书时自行输入,请将其放在shell函数中,如本答案中所述 。

列出所有可能的命令并不是很有用,但它可以非常简单地完成。

此方法列出了作为可执行文件存在的命令和shell内置函数 。

bash shell中(这是打开终端窗口时得到的),你可以用bash完成它。 键入(包括末尾的空格),然后按两次Tab键

然后会提示您:

 Display all 3734 possibilities? (y or n) 

y 。 您可以按空格键向下滚动命令列表。 随时按q退出列表。

这种查看列表的方式很不方便,因为您只能在列表中向下移动,而不是向上移动。 要创建包含列表的文件,请运行:

 script ~/Desktop/command-list.txt 

这将在位于桌面上的名为command-list.txt的文件中创建列表。 你可以相应地改变它。 如果你只是跑

 script 

然后它会将它放在当前目录中名为typescript的文件中。

script命令记录终端中的所有文本。 因此,在运行script ,键入which (使用空格,如前所述),键入Tab两次,并在提示时按y

现在,通过按住空格键向下滚动列表。 一旦到达列表的末尾,您将返回到您正在键入which命令的行。 键入Ctrl + C以获取新行,然后运行exit 。 现在script不再录制了。

要查看该文件,请在文本编辑器中打开它 – 在Lubuntu,Leafpad中; 在普通的Ubuntu,Gedit。 (默认情况下会安装这些编辑器,但您当然可以安装和使用您喜欢的任何文本编辑器。)

当您查看它时,您将看到提示您More不完美之处。 但这不应该影响您读取文件,查找其中的命令,搜索文件以查找特定命令(或包含特定文本的命令)的能力。

如果需要,可以过滤掉这些行。 如果文件是~/Desktop/command-list.txt ,则可以运行:

 grep -ve --More-- ~/Desktop/command-list.txt > ~/Desktop/command-list2.txt 

然后桌面上的command-list2.txt将没有这些行。

:将是列出的第一个命令。 列出的最后一个命令可能因系统而异(取决于您安装的软件)。 在我的系统上它是zsyncmake但你可能没有,或者你可能有一个命令按字母顺序排在它之后。

如果您愿意,可以在文本编辑器中手动删除第一个命令之前和最后一个命令之后的文本。 (在开始和结束时只有几行;用手去除它比用手移除所有--More--线要容易得多。)