探索终端 (Terminal): 入门介绍



也许你会认为,只有那些在极客王国里面的黑客们才需要命令行工具,实际上苹果电脑的终端命令行工具给各个级别的用户都能提供一个更有用的,更多方式的电脑交互。当然他的操作方式也许和您所习惯的千差万别,所以我就来帮助您迈出第一步。

终端命令行: 完全不是传说中的那么不好用。


这里我们先要聊的都是一些基本的操作:如果查看,移动您的文件系统,创建删除文件。但我们首先从介绍什么是命令行开始吧。

先让我们穿越到那个图形用户界面还没有开始流行的年代吧:那时就只能通过一个叫做命令行的接口和电脑进行交互。这些简单的文本命令就可以让那些很熟悉这些语言的电脑工程师通过键入相应的命令来使用电脑,这都激励着我们更加努力的去搞懂电脑到底是如何解析我们输入的命令来完成相应的任务。

随着图形用户界面的兴起,您也许曾经想过那种老式的命令行交互方式应该消失了,但事实却远非如此。 对于这些把整个操作以超级炫的图形交互方式拟物化表现出来的工程师们来说,命令行才是王道。

对于苹果 OS X 系统来说, 命令行工具被叫作了终端 (Terminal), 我将协助您迈出如婴儿学步般的开始,为以后您能了解更深的教程或者独自探索更有趣的功能打下坚实的基础。

学了这个有啥用?


首先我是得把这个问题给您阐述清楚,为什么您应该使用命令行工具和电脑交互呢?对于大多数来说,用命令行就好象去使用早期电脑留下来的那些古董般的操作情怀,或者是某些只对黑客或是程序开发人员有用的好处。

其实并不象您所想的那样,终端对于一般用户来说就是一个可有可无的工具,他也给外行用户提供了大量的让您感到吃惊的用法,值得我们花些时间了解。

您可以这样认为,使用终端和电脑交互就象您直接附在电脑耳边轻声耳语,而不是使用图形界面那样象站在远处对着电脑大声呼响。 这种方式让您和电脑的交流方式更亲密无间,同时也更强大。 当然做为这强大的后果,就意味着您得知道您正在执行的命令到底是做什么,以避免您不小心损坏了电脑。

步骤一: 打开并配置终端


让我们从最基础的事情开始吧: 打开终端。 要开始这个命令,您可以在Finder中找到  应用程序 -> 实用工具 的文件夹里找到终端的图标,或者您也可以省点时间-用快捷键的方式—  Command + Spacebar 的方式打开 Spotlight 搜索,然后输入 ‘terminal’.

一旦终端被打开,他就会以系统默认的方式展示出来。实际上,您所看到的显示出来的路径同打开  Finder 并导航到当前用户的路径下的方式是一样的。左边那部分显示的是您当前的路径,或者说在您文件系统里面的位置,命令输入区域前面那个闪烁的光标就是我们都很熟悉的提示符,因为这个跳动的光标是一直在提醒您输入命令来告诉他要做什么。


欢迎来到终端,这个系统自带的色彩方案看起来还是很绝妙干练的。当然如果您对这个色彩方案以及窗口的大小都不满意,那就可以到系统预置功能里,很简单的做调整。当您做这些事情的时候,如果一直能象黑客那般操作电脑的感觉肯定是最酷的,所以此时您完全可以通过按  “Command + ,” 来打开预置页面,在设置栏下,您可以选择不同的主题系列(或定制自己比较心水的内容) 。


在这个系列的教程中,我在找到更满意的外观之前, 一直选用的 “Homebrew”预设,选半透明的选项来配置我的输入界面。

步骤二: 您的第一行命令:列出文件


对于一个您经常需要完成的简单任务就是找出在当前的路径下有哪些文件或者是文件夹。 敲入 ‘ls’, 其实就是英文单词 list (列出)的缩写,这时就可以看到在这个路径下所有文件的列表信息了。 ‘ls’ 是终端命令的一个例子,那现在您已经学会了第一个命令了!命令其实就是您通过终端发给电脑的指令,在这个教程的最后,也会给您介绍一些基本语法加深您对命令的理解。

举例来说,现在我们想访问我们在文稿文件夹里面的某些内容。 要完成这任务,我们需要完成的是改变当前路径 (Change Directory). 该操作其实就跟您在Finder 下面双击菜单按钮是完全一样的。要执行这个改变当前路径,我们就是简单的输入 ‘cd’ 命令,后面跟着我们要转入的文件夹的名字 - 在这个例子里,‘Document’.

类似的,如果您想知道当前到底是在哪个路径之下,简单的输入 ‘pwd’ – 代表的是展示当前工作路径 (Present Working Directory) – 终端就会告诉您当前位置的清晰路径。

特别注意:在您的命令和参数之间一定要有空格的。这个定律适合于终端命令中的所有条目。




到这您已经学会了几个重要的命令了。

步骤三: 命令参数


终端已经显示出来我们当前的位置是在 文档文件夹下。 接下来我们打算看看这个文件夹里到底都有什么东西, 但这次,我想给您介绍的就是终端命令语法的第二部分: 参数,或是选项吧。 在当前的位置再次敲入命令 ‘ls’,但这次在敲入回车之前,让我们在该命令后面加个小尾巴 ‘-a’ .  这个小参数用来告诉电脑,您想要电脑展示当前路径之下的所有文件,包括那些隐藏的系统文件。

显示出当前路径下的所有隐藏文件一定是您经常需要操作的,现在您知道了一个比在 Finder 里实现该功能更快的方式了!更好的是,现在您了解了终端命令的基本格式:一条命令后面跟着可选的参数,最后是命令的变量。



命令的参数,就象 ‘-a’ ,如同是命令的触发选项,随着任务的不同而变化。

步骤四: 打开编辑文件


举例说,现在在文稿文件夹里看到一个文件,我们想对此进行修改。打开他,您只要输入 ‘open’ 命令,后面带上该文件的名字即可。 如果文件的名字很长,您并不想把全部内容都手输, 也可以使用终端所带的功能自动匹配文件名的功能,该功能很简单,先输入文件的首字母后,然后按 Tab 键,让系统自动完成文件名的输入。 我打算找开的这个文件名字叫做: ‘ExampleFileWithALongNameWhyOhWhyItNeverEndsIDontEven.txt’:

在自动完成的功能帮助下,我们已经打开了这个文本文档。




根据这个文件的文件类型,该文件被默认的应用程序打开,在我们这个例子里是文本编辑器,现在我们已经可以随心所欲的对该文档进行修改了。但如果您想创建一个新的文本文档,该如何操作?通常我会先打开文本编辑器,然后在这里创建新文件,但如果您使用终端命令来完成,那再简单不过了。

步骤五:更多的导航命令


我想在我的桌面上创建一个文本文件,您会注意到我当前还是在文档目录下。 有几个不同的方法可以让我实现我的想法。

我可以先使用命令 ‘cd ..’ 回到我文件系统的上层目录 - 在本例子中我是回到了用户的路径下 – 然后再使用命令 ‘cd Desktop’ 即可。 我们也可以就直接使用命令  ‘cd /Users/Ben/Desktop/’, 这样论您在文件系统的什么位置都可以直接到达桌面,当然该命令最麻烦就是需要您输入整个路径。

如果您在自己的终端下输入该命令,记得把用户名 ‘Ben’ 替换成您本地的用户名。对于本教程其它地方也是都用这种操作。

最后一种也是最快的方法就是使用相对路径命令: ‘cd ../Desktop’。 因为文稿文件夹以及桌面文件夹是在同一个目录下,我们就可以使用这个相对路径命令在他们之间快速导航。




有时,你需要在一个路径埋的很长的文档或是目录下面工作,或者是该文件有一个很长的很复杂的名字, 为了少输入一些内容,您可以首先输入命令,然后在 Finder 中找到该文件和目录,直接把他们拖入到终端即可。

步骤六: 创建文件


选择任何一种你喜欢的方式,把当前目录定位到桌面上。 在当前的目录下创建一个新文件的命令是 ‘touch’ . 假如您现在想创建一个文本文件,名字叫做 bananas, 就在命令行里输入命令 ‘touch bananas.txt’. 您将注意到该文件已经出现在桌面上了,等着您的编辑。

终端命令行有一件事天生就处理不好,那就是文件或者文件夹名字里面的空格符。 试想如果您打算线给您的文件命名为 “banana muffin.txt”,那您会在命令行里敲入如下的命令 ‘touch banana muffins.txt’ ?您先自己在命令行里试试这个命令。




您会看到,按照上面我们所想的输入到命令行里,那么您会在桌面得到两个文件。终端把这个命令解析成为您想分别创建两个文件:一个文件名为 “banana”,另一个文件名字为 “muffins.txt”. 这也告诉我们了终端可以使用这一条命令快速的创建多个文件。  要讲清楚这个问题,让我们再次使用这个命令,这次我们把文件名用双引号给括起来: ‘touch “banana muffins.txt”’.

顺便提一句,你可以用这个命令创建各种不同的文件类型,不仅仅限于文本文件。 比方我需要一个 Word文件来储存我那个天才般的香蕉松饼菜谱, 我只要在命令行里输入 ‘touch “banana muffins.doc”’ 就可以快速开始了。


步骤七:拷贝文件


现在让我们开始一些基本清理工作吧。因为我们已经知道了如何创建一个文件了,那再了解一下如何删除一个文件就会很有帮助。 但是因为我们也知道备份的重要性,所以我们应该先确保我们已经把我们那个珍贵的香蕉小松饼菜谱保存好了。我想把这个菜谱先保存一份到我的文稿文件夹内,所以我打算使用’CP’ 命令把该文件拷贝过去。

该命令的语法非常简单直接: ‘cp’ 后面跟上文件名字 - “banana muffins.doc”, 当然这里要记住文件名一定要被双引号括起来 - 再这个文件名之后再跟上您想保存的文件路径。 本例中,整条命令看起来就应该是这样的: ‘cp “banana muffins.doc” /Users/MacTuts/Documents/"’, 或者,使用相对路径, ‘cp “banana muffins.doc” ../Documents’ . 完成该命令后,您也可以去Finder 中检查是否和您的预期结果一样。

步骤八 删除文件


删除一个文件的命令是 ‘rm’, 使用这条命令一定要特别小心,以免不小心删除了那些很重要的文件,要知道在终端的世界里可是没有回收站这个说法了。

首先让我们试着删除那个孤零零的存在桌面上的文件 “muffins.txt”. 命令非常简单 ‘rm muffins.txt’. 为了安全起见,您也可以加一个参数 ‘-i’ 以启动交互模式,该参数会在执行命令之前弹出一条确认信息,比方本例中,终端会发出一条信息 “remove muffins.txt?” 如果我们确认那就直接输入 ‘yes’ 或者是简单的输入 ‘y’来确认命令执行。

桌面上还留着一些没用的文件。比起那些手动的一个个去删除这些命令,在命令行中采用命令来删除文件就会快很多。 因为这些文件都是由’banana’开头的,我们就可以使用星号 ‘*’, 众所周所的全匹配字符,告诉终端去找到所有适合这个条件的文件,并把他们删除掉。




‘-i’ 参数主要用来确保我们不会因为不小心误删了重要的文件。在命令行里输入 ‘rm –i banana*’ 然后回车。 终端会自动的找出所有的匹配文件,并弹出确认信息让您决定是否删除。如果您很确定您的删除操作,也可以去掉 ‘-i’ 参数以节约时间。

步骤九: 创建文件夹


到目前为止你已经做的灰常好了,现在只有一个基础任务我想让您在这个教程里面了解到了。 因为我们每个人都有一大堆文件,所以管理这些文件的最好方法就是做好分类。 因此,比起目前,我们就把 “banana muffins.doc” 文件混在文稿文件夹里的所有文件中,不如我们为他专门建立一个新家名字就叫做 Recipes(菜谱)。

首先的首先,我们得先进到文稿文件夹内。  如果您现在在比较深的文件目录下,不想用一大堆的返回上层目录的命令 ‘cd ..’, 那有一个更简单的方式 ‘cd ~’, 这个命令可以让您直接回到用户的根目录下。在这里,我们就可以简单的使用’cd Documents’ 进入到我们想到的路径下了。

现在,假如我们输入命令 ‘ls’, 就可以看到当前目录下的所有文件了, 您注意到这里并没有Recipes(菜谱) 文件夹。 那现在我们马上就要创造一个出来了!幸运的是,您只需要简单的输入命令 ‘mkdir Recipes’ 即可。 一旦您按了回车键,文件夹就会被命令mkdir 创造出来.  Mkdir就是英文 make Directory( 建文件夹) 的简写了。



现在我们创建一个文件夹就和在桌面上实现是一样的简单了。

步骤十:移动文件


现在我们需要把以前创建好的菜谱移到这个新的文件夹内,用以前的知识那就是我们把原来的文件拷贝到新的目录下,然后删除原始的文件。现在我们可以用一个新的命令把这两步都完成了: ‘mv “banana muffins.doc” /Users/MacTuts/Documents/Recipes/’

这个命令还有一个特别的用法就是给文件改名字。比方现在您使用命令cd  进到新的 Recipes(菜谱)文件夹,在命令行内输入:‘mv “banana muffins.doc” “amazing banana muffins.doc”’就可以完成改名操作了。

获得成就:初探终端 勋章


如果您感觉到有些压力也不用太担心,因为终端命令完全是另外一套计算机操作方式的语法表,您得花点时间才能慢慢的习惯他。我们也只是刚开始介绍了些皮毛,如果您要有兴趣了解更我,那就关注着我们后续的更多教程吧。

同时,如果您想了解更多关于今天我们所学到的这些命令的更多使用方式以及参数,那就可以通过命令 ‘man’-  manual (手册)的简写 – 然后后面跟上您想了解的命令,比方 ‘man ls’, 终端就会列出 list  命令的所有使用方法和参数说明。读完之后,您只需按一个 ‘q’ 就可以回到原来您进入该帮助文档前的界面了。

结语


您会在这里看到更多的关于终端的教程的,但我更鼓励您能自己不断的去终端里面试这些命令和参数,直到您感觉到能非常自然的使用他们。

很快,您就会学到更多的命令,那些才会真正的展示终端的强大作用。 所以一直保持着这种旺盛的探索精神吧!

不深思则不能造于道。不深思而得者,其得易失。

名人名言- 曾国藩
  • By 优联实达
  • 2015-10-22
  • 2400
  • 公司新闻,网站开发,网站设计,UI