基本信息
- 原书名:The Linux Command Line: A Complete Introduction
- 原出版社: No Starch Press; 1 edition
编辑推荐
诚实地讲,《Linux命令行大全》是我发现的最佳Linux入门指南,没有之一。
——Linux Journal
当读者认真学习完本书之日,也即成为UNIX命令行大师之时。
——ITworld
《Linux命令行大全》是最平易近人、易于阅读的Linux命令行大全。
——Linux Magazine
如果你是一名打算掌握命令行操作的新手,《Linux命令行大全》无疑是最佳的读物。
——Ubuntu Musings
《Linux命令行大全》是最适合Linux新手快速入门以及迅速提升的读物,它并非呆板地讲解这些命令行工具,而是会深入分析命令行的理论基础以及工作机制。对于想“知其然,知其所以然”的读者来说,本书是你的不二之选。
——Nicholas C. Zakas, Web开发工程师,《Maintainable JavaScript》等畅销书作者
内容简介
计算机书籍
《Linux命令行大全》主要介绍Linux命令行的使用,循序渐进,深入浅出,引导读者全面掌握命令行的使用方法。
《Linux命令行大全》分为四部分。第一部分开始了对命令行基本语言的学习之旅,包括命令结构、文件系统的导引、命令行的编辑以及关于命令的帮助系统和使用手册。第二部分主要讲述配置文件的编辑,用于计算机操作的命令行控制。第三部分讲述了从命令行开始执行的常规任务。类UNIX操作系统,比如Linux,包含了很多“经典的”命令行程序,这些程序可以高效地对数据进行操作。第四部分介绍了shell编程,这是一个公认的初级技术,并且容易学习,它可以使很多常见的系统任务自动运行。通过学习shell编程,读者也可以熟悉其他编程语言的使用。
《Linux命令行大全》适合从其他平台过渡到Linux的新用户和初级Linux服务器管理员阅读。没有任何Linux基础和Linux编程经验的读者,也可以通过本书掌握Linux命令行的使用方法。
作译者
目录
第一部分 学习shell
第1章 shell是什么 3
1.1 终端仿真器 3
1.2 第一次键盘输入 4
1.2.1 命令历史记录 4
1.2.2 光标移动 4
1.3 几个简单的命令 5
1.4 结束终端会话 6
第2章 导航 7
2.1 理解文件系统树 7
2.2 当前工作目录 8
2.3 列出目录内容 9
2.4 更改当前工作目录 9
2.4.1 绝对路径名 9
2.4.2 相对路径名 9
2.4.3 一些有用的快捷方式 10
第3章 Linux系统 13
3.1 ls命令的乐趣 13
3.1.1 选项和参数 14
前言
在20世纪70年代后期,我刚开始和计算机打交道时,正在进行着一场革命,那时的我还是一名大学生。微处理器的发明使得你我这样的普通人真正拥有一台计算机成为可能。今天,人们难以想象,只有大公司和强大的政府机构才能够使用计算机的世界,是怎样的一个世界。让我说,你其实想象不出多少宋。
如今,世界已经截然不同。计算机遍布各个领域,从小手表到大型数据中心,以及介于它们之间的每一样东西。除了随处可见的计算机之外,我们还有一个无处不在的连接所有计算机的网络。这开创了一个奇妙的个人授权和创作自由的新时代。但是在过去的二三十年里,一些事情在悄然发生。一个大公司不断地把它的控制权强加到世界绝大多数的计算机上,并且决定你对计算机的操作权力。幸运的是,世界各地的人们正在努力进行抗争。他们通过自己编写软件来争夺自己计算机的控制权。他们创造了Linux!
很多人提到Linux的时候都会讲到“自由”,但是并不是所有人都明白这种自由到底意味着什么。自由就是能够决定计算机可以做什么,而获得这种自由的唯一方法就是知道你的计算机正在做什么;自由就是计算机没有秘密可言,只要你仔细地寻找,就能了解其全部内容。
为什么使用命令行
读者之前应该注意到,电影中的“超级黑客”,就是那些能够在30秒内入侵到超级安全的军方计算机里的家伙,都是坐在计算机旁,从来不碰鼠标的。这是因为电影制片人意识到,我们人类从本能上会明白,能够让计算机执行任何任务的唯一途径,是通过键盘输入命令来实现的。
现在,大多数计算机用户只熟悉图形用户界面(GUI),并且产品供应商和专家还在不停地灌输一种思想,那就是命令行界面(CLI)是一种很糟糕的东西,而且已经过时。这是很不幸的,因为一个好的命令行界面是一种很神奇的人机交互方式,就和我们采用书信进行交流一样。据说“图形用户界面能让简单的任务更简单,而命令行界面能够处理复杂的任务”,这句话在今天看来仍然是正确的。
由于Linux系统参照了UNIX系列操作系统,它分享了UNIX系统丰富的命令行工具。UNIX系统在20世纪80年代早期就占据了主流地位(尽管它只是在20世纪70年代才开发出来),结果,在普遍采用图形用户界面之前,开发了一种广泛使用的命令行界面。事实上,Linux开发者优先使用命令行界面(而不是其他系统,比如WindowsNT)的一个原因就是因为其强大的命令行界面,使“完成复杂的任务成为可能”。
本书内容
这是一本全面讲述如何使用Linux命令行的图书。与那些仅涉及一个程序(比如shell程序、bash)的图书不同,本书从更广泛的意义上向读者传授如何使用命令行,它是如何工作的,它有哪些功能,以及使用它的最佳方式是什么。
这不是一本关于Linux系统管理方面的图书。任何一个关于命令行的重要讨论,都一定会涉及系统管理方面的内容,但是本书只涉及很少的管理方面的问题。本书为读者准备了其他的学习内容,帮助你为使用命令行打下坚实的基础,这可是完成一个系统管理任务所必需的至关重要的工具。
本书以Linux为中心。其他许多图书为了扩大读者群体以及自身的影响力,会在书中包含其他平台,比如通用的UNIX和Mac OS X系统。而且为了达到这个目的,它们只能“淡化”书的内容,只讲解一些通用的主题。而本书只包括当前的Linux发行版本。尽管本书95%的内容对其他类UNIX系统用户也有帮助,但是本书主要还是面向现代的Linux命令行用户。
本书读者对象
本书适合从其他平台转到Linux的新用户阅读。这些新用户很可能原来是Microsoft Windows版本的超级用户;也可能是老板已经要求负责管理一个Linux服务器的管理员;还有可能是厌烦了桌面系统的安全问题,想要体验一下Linux系统的用户。没关系,不管你属于哪类用户,都欢迎阅读本书。
不过一般来说,Linux的启蒙学习不存在任何捷径。命令行的学习具有挑战性而且颇费精力,这倒不是因为它太难,而是它涵盖的内容太多。一般的Linux 系统有上千个程序可以通过命令行使用,这点毫不夸张。你需要提醒自己的是,命令行可不是随便就能学会的。
另一方面,学习Linux命令行也非常值得。如果你认为自己已经是一名“超级用户”了,那么请注意,你可能不知道什么才是真正的“超级用户”。不同于许多其他的计算机技术,命令行的知识是经久不衰的。今天学会的技能,在10年后仍然有用。换言之,命令行是能够历经时间考验的。
如果读者没有编程经验,也不用担心,你仍然可以从本书开始学习。
内容安排
本书精心编排,内容有序,就像有一位老师坐在你身旁,耐心指导你。许多作者都采用系统化的方法来讲解本书中的内容。对作者来讲,这很合理,但是对初学者来讲,则可能摸不着头脑。
本书的另一个目的是使读者熟悉UNIX的思考方式,它与Windows的思考方式大不相同。在学习的过程中,本书还将帮助读者理解命令行的工作原理和方式。Linux不仅仅是一个软件,它还是庞大的UNIX文化中的一小部分,有着自己的语言和历史。同时,我也许会说一些过激的言语。