Unix命令问题/书籍建议

时间:2011-01-05 00:05:08

标签: linux unix programming-languages

好的,这是一个2人。 首先,这可能听起来很愚蠢,但是Linux Distros上的所有Unix命令都是如此?是否有任何Linux Distro添加任何。

像.... pwd或...... ssh这样的命令,就像编程语言中的“写”一样明智。 C 1

第二部分,列出并解释所有Unix命令(或至少大部分命令)的好书是什么

感谢

5 个答案:

答案 0 :(得分:4)

  1. 你会发现最大的不同 Unix(及其之间) 衍生物)和Linux命令 那些存在的选项 命令。具体来说,GNU 版本往往会增加更多 他们的命令的功能,但 它们的使用不适用于非GNU 像BSD或Unix这样的系统。

    这是一个常见的例子 允许的GNU sed -i选项 你要做一个就地编辑 文件。非GNU版本的sed 要求你先写一个temp 文件然后复制临时文件 原来。

    为了帮助定义什么是 便携式代码,什么不是,那里 是的 POSIXSUS 规格。任何外壳 声称符合POSIX标准 保证编写任何代码 反对POSIX标准会 表现相同。 bash shell是一个POSIX兼容的shell但是 这并不意味着所有 bash 命令符合POSIX。

  2. 对于你的第二个问题,是的,大多数 二进制形式的命令是 用C语言编写。 有时你会发现确定的 写入的命令 脚本语言,例如perlpythonbashrename 命令是存在的一个例子 以perl和二进制形式 写自C。

  3. 关于Book的第3个问题 建议,请参阅this SO question

答案 1 :(得分:1)

首先,我认为在这里引用shells会更好,因为每个* nix发行版都可以附带许多shell。回答你的问题:

  1. 所有shell都有许多命令,但当然每个shell都可以添加自己的命令。此外,许多程序可以添加自己的shell可访问程序。

  2. 我发现学习unix shell的O'Reilly book非常有用。

答案 2 :(得分:1)

1)并非所有Linux发行版都带有一组相同的命令。但是,单个UNIX®规范列出了canonical commands and utilities

2)简而言之:大多数程序都是用C语言编写的。

3)再次,看看The Single UNIX® Specification以获得概述。打开带有shell的终端后,只需按 Tab - 这将生成计算机上的命令列表。

 $ # press <tab>
 Display all 3358 possibilities? (y or n)

如果您想了解更多关于它们的信息,大多数命令也都有手册页。

 $ man pwd

答案 3 :(得分:1)

1。是/ C. 2. O'Reilly和Apress


予。常用命令

有一套核心命令,真正的Unix和所有Linux发行版都有。

一段时间以来,这些发行版一直在不断发展以安装一套软件包,而且由于有成千上万的软件包可供选择,因此“基础系统”的概念已经让位于“默认安装”。例如,有些可以在没有X或图形的情况下安装。

一些原始的Unix命令或重写它们都可以获得BSD许可证,你会遇到很多真正的Unix,* BSD和Mac上的命令。还有一组GPL许可的Unix命令重写。这些往往相当复杂,导致令人困惑的联机帮助页,但有时它们比原始的Unix程序更有用。 Groff是原始代码被完全取代的一个很好的例子。无论如何,Linux发行版尽可能地贴在GPL / GNU版本上。

语言:核心命令几乎全部用C语言编写。由于C ++和C编译器已经合并,一些包是用C ++编写的。一些是用Posix shell代码编写的。随着发行版的范围和大小的增加,包含的更多包都是用Perl和Python等语言编写的。我认为你也可以看到用Ruby编写的软件包。 (Ruby现在附带Mac。)

II。书籍

O'Reilly和Apress是Unix和Linux出版物的两个很好的来源。


III。 嗯,没有 III ,但Mac OS X是基于版本构建的Unix。您可以在Mac上的终端应用程序中完美地学习Unix。

答案 4 :(得分:1)

我从http://linuxcommand.org/学到了很多基础知识。也许这会对你有帮助,价格合适

刚才访问它我发现作者已经根据CC许可证将其编入书中。查看说明和下载链接here