原版英文书籍《Linux命令行》阅读记录5-使用命令

Author Avatar
cuteximi 10月 13, 2018
  • 在其它设备中阅读本文章

背景:
阅读英文原作只为了更好地理解书中的精髓,当然也是为了更好地掌握书中的技巧。我们会坚持阅读全书,并记录书中的精髓。

在前面的章节里,我们学到的都是一些神秘的命令,我们不知道他们怎么来的,不过接下来我们会试图去掉一些神秘性,甚至创建我们自己的命令!

本章节我们将学习一下命令:一起来揭开命令的神秘面纱吧!

  • type
  • which
  • man
  • whatis
  • alias

到底什么是命令

书中总结了四种情况:

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 操作手册的章节说明:可以指定打开某一章节

章节内容
1用户命令
2程序接口内核系统调用
3C 库函数程序接口
4特殊文件,比如说设备结点和驱动程序
5文件格式
6游戏娱乐,如屏幕保护程序
7其他方面
8系统管理员命令

whatis 一句话描述命令

有时候你不是很懂某一个命令怎么描述,可以使用 whatis 命令来显示一句话描述:

whatis mv
mv(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

This blog is under a CC BY-NC-SA 3.0 Unported License
本文链接:http://blog.cuteximi.com/原版英文书籍《Linux命令行》阅读记录5-使用命令/