背景:
阅读英文原作只为了更好地理解书中的精髓,当然也是为了更好地掌握书中的技巧。我们会坚持阅读全书,并记录书中的精髓。
在前面的章节里,我们学到的都是一些神秘的命令,我们不知道他们怎么来的,不过接下来我们会试图去掉一些神秘性,甚至创建我们自己的命令!
本章节我们将学习一下命令:一起来揭开命令的神秘面纱吧!
typewhichmanwhatisalias
到底什么是命令
书中总结了四种情况:
1.是一个可执行程序,就像我们所看到的位于目录/usr/bin 中的文件一样。 这一类程序可以是用诸如 C 和 C++语言写成的程序编译的二进制文件, 也可以是由诸如shell,perl,python,ruby等等脚本语言写成的程序 。
2.是一个内建于 shell 自身的命令。bash 支持若干命令,内部叫做 shell 内部命令 (builtins)。例如,cd 命令,就是一个 shell 内部命令。
3.是一个 shell 函数。这些是小规模的 shell 脚本,它们混合到环境变量中。 在后续的章节里,我们将讨论配置环境变量以及书写 shell 函数。但是现在, 仅仅意识到它们的存在就可以了。
4.是一个命令别名。我们可以定义自己的命令,建立在其它命令之上。
识别命令
既然,给出了上面四种形式的命令,当然提供了一个识别命令的命令!
type
如图所示:使用 type 命令查看如下几个命令的类型。
image.png
可以看出type
cd
是 shell 内建的命令。mv
是一个可执行程序,这里的ll
是一个命令的别名。
which 显示一个可执行程序的位置
在大型的系统中,命令很多,需要确认命令的具体位置,可以使用 which 来确认可执行命令的具体位置。
man 显示使用手册
下表是man 操作手册的章节说明:可以指定打开某一章节
whatis 一句话描述命令
有时候你不是很懂某一个命令怎么描述,可以使用 whatis 命令来显示一句话描述:
whatis mvmv(1) move(rename) files
使用别名命令
使用alias
命令来创建别名。
为什么使用别名呢,有时候我们输入一系列复杂的命令来达到我们想要的结果,使用别名就可以封装复杂的命令,暴露出简单的命令提供给我们使用。
命令格式:alias name='string'
例子:
alias foo='cd /usr; ls; cd -'
删除别名unalias name
在 shell 中新建别名的时候,关闭这个会话之后,下一次就失效了,要想持久化别名,在之后的会话中也能使用,可以在配置文件(比如:.bash_profile
)中:
image.png
推荐阅读
原版英文书籍《Linux命令行》阅读记录1
原版英文书籍《Linux命令行》阅读记录2
原版英文书籍《Linux命令行》阅读记录3
原版英文书籍《Linux命令行》阅读记录4
原版英文书籍《Linux命令行》阅读记录5
原版英文书籍《Linux命令行》阅读记录6
原版英文书籍《Linux命令行》阅读记录7
如果觉得《原版英文书籍《Linux命令行》阅读记录5 | 使用命令》对你有帮助,请点赞、收藏,并留下你的观点哦!