关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。
想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。
5年前关闭。
Improve this question
我首先要提到这一点——这个问题的目的真的是为了加强我对 bash 和 info bash
的理解。页面,而不是获取有关 date 命令功能的具体答案。
我找不到关于 date
的任何提及来自 info bash
的以下索引的命令手动的:
你想要的变量。
但是,我可以使用
info date
获取有关日期函数的信息。 .该页面似乎是 BSD 通用命令手册的一部分,但我无法找到该手册的索引页面 - 如果我通过输入“u”进入包含节点,这会将我带到“dir”页面而不是我所期望的一般命令索引。我在这里主要担心的是,如果我找不到有关
date
的信息内的命令 info bash
,然后在 info bash
中没有列出哪些其他命令?是否有我可以在 Bash 中使用的所有命令的完整列表?
最佳答案
info bash
和 man bash
只记录 Bash 自己的特性。
外部实用程序,例如 date
与 Bash 本身无关 ,即使您可以从 Bash 调用它们。
man
中找到文档。和 info
页面(如果已安装),正如您所发现的。 help
调用 ;例如,help read
,但您也可以找到它们 在 man bash
在标题下 SHELL BUILTIN COMMANDS
.此外,一些命令名称,例如
echo
, 作为 Bash 内置程序和外部实用程序 ( /bin/echo
) 存在。 虽然 只是
info
(不带参数)会显示一个 外部实用程序列表,通常在标题 Individual utilities
下 ,还有问题 ;取决于您的系统:info
主题记录了 GNU 核心实用程序,而 OSX 主要带有 BSD 实用程序。 info
的 Linux 发行版。命令是 bash
附带的命令,你可能没事。 $PATH
中查找所有外部实用程序。 . Utilities
(作为完整标题),其中列出了 POSIX 兼容系统必须具有的所有外部实用程序。我找不到按名称列出所有实用程序的页面的直接链接。 附加信息:
$ type read
read is a shell builtin
-a
,例如: $ type -a read
read is a shell builtin
read is /usr/bin/read
如何在您的
$PATH
中查找所有(外部)实用程序:$PATH
中所有可执行文件的列表 (这可能是一个很长的 list );另请注意,该列表通常包括自定义安装的实用程序;该列表将包含 完整路径,按目录分组 :o
执行的文件。 (其他,其余部分)安全主体,所有预装的实用程序都应该是;可以想象,还有其他实用程序具有仅适用于 u
的权限属性。和/或 g
主要的。 printf '%s' "$PATH" | tr ':' '\n' | xargs -I {} find {} -maxdepth 1 -type f -perm -o=x
printf '%s' "$PATH" | tr ':' '\n' | xargs -I {} find {} -maxdepth 1 -type f -perm -o=x |
awk -F/ '{ print $NF }' | sort -u
$PATH
中的多个目录中可能存在具有相同文件名的可执行文件的不同重复项(在这种情况下,目录在 $PATH
中排在第一位的人“获胜”); 查看重复项列表,以出现次数为前缀 ,使用:printf '%s' "$PATH" | tr ':' '\n' | xargs -I {} find {} -maxdepth 1 -type f -perm -o=x |
awk -F/ '{ print $NF }' | sort | uniq -c | grep -v ' *1'
which -a <name>
查看所有重复项的完整路径。 最后,标签完成 可以在 中提供帮助发现命令 :
man
并重复按 Tab 键列出/循环所有命令;指定命令前缀 - 例如,man dat
- 仅列出/循环以该前缀开头的命令(确切行为取决于您的 readline
配置)。info
(至少在我从 Bash 尝试过的 OSX 和 Ubuntu 系统上)。 ./<tab>
在当前文件夹中。 /usr/bin/<tab>
,例如,在特定文件夹中。 关于linux - 在 info bash 中找不到 'date' 命令的描述 - 找到可从 shell 调用的所有命令的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35684508/