常见命令用法
ls
ls 为 列出有关文件的信息,有以下常见用法:
ls [OPTION]... [FILE]...
- -a, --all
不要忽略以.开头的目录
- -l
用列表来表示
cat
cat 为 将文件内容连接到标准输出,有以下常见用法:
cat [OPTION]... [FILE]... 如果没有FILE,或者FILE是 - ,则读取标准输入。
- -A, --show-all
全部显示
- -b, --number-nonblank
标记非空行
- -n, --number
标记所有行
- -E, --show-ends
在每行行末显示$
- -s, --squeeze-blank
抑制重复的空输出行
mv
mv 为 将文件重命名或者移动至某目录,有以下常见用法:
mv [OPTION]... [OLDNAME]...[NEWNAME]
mv [OPTION]... [SOURCE]... [DIRECTORY]
- -f, --force
在覆盖之前不提示
touch
touch 为 将每个文件的访问和修改时间更新为当前时间或者创建一个文件,有以下常见用法:
touch [OPTION]... FILE...
- -a
仅更改访问时间
- -m
仅更改修改时间
explainshell.com 的使用方法
explainhell是一个工具(带有Web界面),能够解析手册页,提取选项并通过将每个参数与手册页中的相关帮助文本相匹配来解释给定的命令行。
explainhell由以下组件构建:
- 将给定手册页从原始格式转换为html(manpage.py)的手册页阅读器
- 分类器遍历手册页中的每个段落并将其分类为包含选项(algo / classifier.py)
- 一个选项提取器,用于扫描已分类的段落并查找选项(options.py)
- 存储后端,将已处理的手册页保存到mongodb(store.py)
- 遍历命令的AST(由bashlex解析)并在上下文中将每个节点与相关帮助文本(matcher.py)匹配的匹配器
在查询解释时,它:
- 将查询解析为AST
- 访问AST中的有趣节点,例如:
- 命令节点 - 这些节点代表一个简单的命令
- shell相关节点 - 这些节点代表shell解释的内容,例如'|','&&'
- 命令节点 - 这些节点代表一个简单的命令
- 对于每个命令节点,我们检查是否知道如何解释当前程序,然后检查其余的令牌,尝试将每个令牌与已知选项列表进行匹配
- 返回使用Flask呈现的匹配列表