终端是个允许我们运行命令行的程序,运行命令前,先打开它。在MacOS系统上,可以使用macOS应用 Spotlight来打开终端窗口,Spotlight也有其他两种方式触发,一种是键入⌘␣(command和空格键),另一种是点击屏幕右上方的放大镜。一旦你触发了Spotlight,你就可以通过在Spotlight搜索条输入'terminal'开启终端程序。(如果你想使用更高级更个性化的终端程序,我建议安装iTerm, 大家可自愿安装)在Linux系统上,你可以点击终端图标(terminal icon)像图3所示,打开终端后,界面类似图4,可能系统不同,细节会有些许不同

图4:终端窗口

如果你使用不同的操作系统,我建议运用你成熟的技术能力(Box5)弄清楚怎样在你系统上打开终端;例如,如果要在Chromebook上学习如何打开命令行终端,可以Google搜索how to get a command line on a chromebook(在chromebook上如何获得命令行)

在1.基础那节中给出的命令行例子(如图2),包含了一条命令所有关键元素,就像插图5所示,提示(prompt)后紧跟一条命令(command, 正如给计算机一条命令), 接着是选项(option, 如'选择一个不同的选项'), 再接着是参数(argument, 如数学中'函数的参数'),理解提示(prompt)是由终端自动提供,而非自己键入,这非常必要。(确实,如果你要键入的话,它很可能导致一个错误)。此外,提示(prompt)的其他细节也会有不同,但这些细节对于本教程并不重要(见下Box3)。

图5:命令行剖析(可能你的提示会有差异)

Box3: 什么是提示(prompt)

每个命令行开始于一个符号或多个符号,旨在'提示'你采取行动。提示部分通常以美元标记符$结束,这也需依赖于系统的细节信息。例如,在一些系统中提示会像这样:Michael's MacBook Air:~ mhartl$,在图3中,提示又像是这样:[~]$,在图4中,提示又像这样[projects]$。最后,在我看来提示像这样: [learn_enough_command_line (master)]$.
基于本教程的目的,提示(prompt)的细节并不重要,但是我们会在本教程后的下个教程里,讨论自定义提示(prompt)的有效方法Learn Enough Text Editor to Be Dangerous

练习

本教程包含大量练习。我强烈建议在开始下一章节前先做做这些练习,养成这个好习惯,因为这些练习会帮助加强刚才所说内容,并提供刚才讨论的许多命令的基本练习。这些命令在通常情况下都会用到,但如果你突然卡住时,有时继续往前练习,以后再回看这些练习也是个好主意。的确,这同样也适用于主要教程部分, 因为有时确实会很惊讶,当下次回看这些之前觉得不可能的想法或很棘手的问题时,突然又变得很容易理解。

  1. 通过上图5,确定图6中每行的提示(prompt)、命令(command)、选项(option)、参数(argument)和光标(cursor)

    图6: 一些典型的命令

  2. 大多数现代的终端程序都可以创建多个标签,如图7所示,这对组织一系列相关的终端窗口非常有用。通过检查终端程序的菜单选项按钮,如图8所示,找出怎样创建标签。

    图7: 有3个tab的终端窗口

    图8: Mac操作系统上的终端默认的一些菜单选项

1.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——运行终端的更多相关文章

  1. 4.3《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)—链接到目录

    在4.2章中我们已经会用cd进入到指定的目录中.这是导航最常见的用途之一,但是它还有几个值得关注的用途.第一个是使用cd ..(读作'see-dee 点点')返回当前目录级别的上一级: $ pwd / ...

  2. 2《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——操作文件

    已经学习了基本的命令,现在是时候学习操作文件了,这也是命令行的重要任务.还是基于本教程的事先规定,本教程是入门级的,不要求熟悉类似编辑文本的程序(这些文本编辑程序,将在下个系列教程中介绍, Learn ...

  3. 1.6《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——小结

    本章节学过的重要命令整理,见下表Table 2. 命令 描述 例子 echo <string> 向屏幕输出字符串 $ echo hello man <command> 显示命令 ...

  4. 3.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——下载文件

    首先,为了不手动创建一个长文件(这太麻烦了),我们将使用强大的curl(有时也写作"cURL")工具从网上下载一个文件,这个命令可以让命令行与URL交互.尽管这不是Unix核心命令 ...

  5. 2.3《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——重命名,复制,删除

    最常用的文件操作除了将文件列出来外,就应该是重命名,复制,删除了.正如将文件列出来一样,大多数现代操作系统为这些任务提供了用户图形界面,但是在许多场景中,用命令行还是会更方便. 使用mv命令重命名一个 ...

  6. 1.2《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——开始第一条命令

    现在开始准备运行我们的第一条命令了,在屏幕上打印'hello'.(字符打印的地方被称为'标准输出',通常指的是屏幕,很少指真的物理打印机设备).这条命令就是echo,这条命令的参数是想要输出的字符串或 ...

  7. 1.4《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——编辑命令

    在编辑模式中,命令行包括几个重复之前命令的功能.这些以及其他很多命令功能时常设计键盘上的特殊键,所以给出Table 1作为参考,给出了许多键在典型的Macintosh键盘上的标记符号.若你的键盘不太一 ...

  8. 4.5《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)—第四章小结

    本章相关重要命令总结在Table 6. 命令 描述 示例 mkdir <name> 创建某目录 $ mkdir foo pwd 显示当前所在目录 $ pwd cd <dir> ...

  9. 4.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)—目录结构

    Unix风格的目录结构通常使用一个目录名列表并用正斜杠分隔来表示,这样我们可以结合ls命令: $ ls /Users/mhartl/ruby 或者 $ ls /usr/local/bin 正如图20, ...

随机推荐

  1. Dynamics 365Online 查询Web Api的请求WebUri

    在on-premises版本中,获取weburi的方式是进设置-自定义项-开发人员资源中查看地址,但online版本中的地址会有些许的差异 online的开发者资源中的地址如下图,如果你在页面java ...

  2. Spring Boot—19Session

    pom.xm <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

  3. 使用 RamMap 清理内存 How to Use RamMap to Empty System Working Set

    使用 RamMap 清理内存 In this post I want to introduce RamMap by Microsoft. It’s a free tool you can use to ...

  4. Android可伸缩布局-FlexboxLayout(支持RecyclerView集成)

    Android可伸缩布局-FlexboxLayout(支持RecyclerView集成) 1 . 前言 前几天看到Google官方的博客介绍了Google开源的一个强大的布局-FlexboxLayou ...

  5. 润乾报表html代码填报

     由于html和富文本类型的单元格,不能进行可写操作,如果要想填报时填入html代码并且提交后更新就要换了一个方法,通过数据回填的方法. 比如在C3单元格设置html事件(也可以通过一个按钮来触发 ...

  6. scp远程传输文件和ssh远程连接

    ssh使用方法 如果从一台linux服务器通过ssh远程登录到另一台Linux机器, 这种情况通常会在多台服务器的时候用到. 如用root帐号连接一个IP为192.168.1.102的机器,输入:“  ...

  7. 用unescape反编码得出汉字

    var p="",s="4e00"; for( var i=0;i<255;i++){ p+=unescape(("\\u"+s).r ...

  8. 解决python2和python3的pip冲突

    最近突然出现了一种情况当电脑上同时安装python2和python3的时候会导致我的pip冲突 . 最终经过我的发现是因为其环境没有配置好 还有就是没有找到精准的包导致的 1.下载python2.7, ...

  9. UNIX高级环境编程(8)进程环境(Process Environment)- 进程的启动和退出、内存布局、环境变量列表

    在学习进程控制相关知识之前,我们需要了解一个单进程的运行环境. 本章我们将了解一下的内容: 程序运行时,main函数是如何被调用的: 命令行参数是如何被传入到程序中的: 一个典型的内存布局是怎样的: ...

  10. Redis常用指令

    1.使用指令存储数据 不同数据类型的使用 1.String > 在以上指令中我们使用set指令向redis存进了一个数据类型为string,名为str1,值为123456.(如果你要问为什么,那 ...