现在开始准备运行我们的第一条命令了,在屏幕上打印'hello'。(字符打印的地方被称为'标准输出',通常指的是屏幕,很少指真的物理打印机设备)。这条命令就是echo,这条命令的参数是想要输出的字符串或简单的字符串简写。运行echo命令,在提示(prompt)后键入'echo hello',然后按回车键(也叫Enter):
$ echo hello
hello
$

(我建议始终自己手动输入命令,因为这可以让你比复制粘贴学到更多) 这里我们发现echo hello输出'hello',接着返回另一个提示(prompt)。备注:为了简洁,我把提示(prompt)所有字符都省略了,只剩美元符$

为了让模式清晰明了,我们再尝试一条echo命令:
$ echo "goodbye"
goodbye
$ echo 'goodbye'
goodbye
$
注意这里我们用引号将 “goodbye”包起来了,同时我们也可以注意到我们既可以使用双引号"goodbye"也可以使用单引号'goodbye',这些引号可以直观的为字符串分组,但echo在大多数的场景都不需要这样做。(如Listing1)

Listing 1: Printing “hello, goodbye” two different ways.

$ echo hello, goodbye
hello, goodbye
$ echo "hello, goodbye"
hello, goodbye
$
但是使用引号时偶尔会忘了写配对的引号,就像下面这样:
$ echo "hello, goodbye
>

在这种情况下,程序好像卡住了。解决这个窘境也有特定的方法(事实上,这种情况下只需要再加个关闭引号再按回车键就可以解决),但是有个解决所有情况的策略会更好(图9),那就是按“Ctrl-C”。(Box4).

*图9:猫被卡住了要按`Ctrl-C`*

Box 4 逃离窘境

当使用命令行,有太多让你轻易陷入窘境,我指的窘境是终端将挂起或以其他方式最终进入难以或不可能进入下一步命令的状态。以下是会导致窘境的命令:
$ echo "hello
$ grep foobar
$ yes
$ tail
$ cat
每个这样的窘境,都可以用同样的解决方法:按Ctrl-C (宣称“control-see”)。Ctrl指键盘上的'control'键,C指键盘上被标记为'C'的键。因此Ctrl-C的意思是"当按住control键的同时按下C键。特别注意的是:C不是指大写字母C,因此除了Ctrl外不需要再按Shift键了。(Ctrl-C为终端发送一条控制命令,与打印普通文本时输入的大写字母没有关系)。输入Ctrl-C的结果有时写做⌃C,像这样:
$ tail
^C
Ctrl-C的起源有些模糊,但是作为助记符我更喜欢把它当作'取消'来用。无论如何牢牢记住: 当你在命令行中陷入困境,你最好的选择通常是按Ctrl-C.

备注:当使用Ctrl-C失败,按ESC(退出)90%都能解决。

练习

1.写一条命令输出'hello, world'。额外要求:像上面Listing1中那样,使用都有引号和没有引号两种不同的方法来做。
2.输入命令echo ’hello(只有一个未匹配单引号),然后使用Box4中的方法解决困境。

1.2《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——开始第一条命令的更多相关文章

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

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

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

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

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

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

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

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

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

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

  6. 1.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——运行终端

    终端是个允许我们运行命令行的程序,运行命令前,先打开它.在MacOS系统上,可以使用macOS应用 Spotlight来打开终端窗口,Spotlight也有其他两种方式触发,一种是键入⌘␣(comma ...

  7. 3.2《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——检查文件开始与结尾

    检查文件两个互补的命令是head 和tail, 它们分别用于查看文件的开始(头部)和结束(尾部).head命令展示了文件的前10行.(Listing 11). ##Listing 11: 查看示例文件 ...

  8. 1.3《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——手册页

    我们运行的命令行程序,通常在技术上称作shell, 它包含了一个非常强大(也很神秘)的工具,我们将用它来学习更多可用的命令.这个工具本身就是个称作'man'的命令('manual'的简写).它的参数是 ...

  9. 1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——基础(Basics)

    基础 正如著名作者Neal Stephenson所说的那样,'(开发, 译者加)开始是命令行',尽管通过用户图形界面使用计算机及其简单,但是在许多场景中,最有效.最灵活地与计算机交互的方式是使用命令行 ...

随机推荐

  1. Linux 操作方法(一)

    cd +地址 ->可进入地址 cd .. ->返回上级 ll ->显示当前目录下的所有文件(显示所有文件,包括隐藏,还有显示文件信息) ls ->显示当前目录下的所有文件 su ...

  2. C#/Net定时导出Excel并定时发送到邮箱

    一.定时导出Excel并定时发送到邮箱   首先我们先分析一下该功能有多少个小的任务点:1.Windows计划服务 2.定时导出Excel定指定路径 3.定时发送邮件包含附件   接下来我们一个个解决 ...

  3. 2016年,谁是最受欢迎的 Java EE 服务器?

    [编者按]本文作者为性能监控工具 Plumbr 创始人 Nikita Salnikov-tarnovski,主要介绍2016年度最广为使用的 Java EE 容器及其排名变化情况.本文系国内 ITOM ...

  4. 适用于 Windows VM 的 Azure 示例基础结构演练

    本文是更广泛系列的一部分,当你在 Azure 中构建应用程序基础结构时,这些系列向你提供设计注意事项和准则. 用户可以查看系列中的其他主题. 尽管用户可以在 Azure 中快速地构建出开发/测试环境, ...

  5. C# 添加日志 log4net

    1.首先在项目中添加Nuget程序包... 2.然后在NuGet窗体中搜索Log4Net,然后点击安装<安装过程可能会持续几分钟,请耐心等待> 3.在项目中添加一个Config文件,如已有 ...

  6. win Server 2008 笔记

    1.开启tsmmc 远程登录连接 需要在入站规则中启用一下规则 远程管理(RPC-EPMAP) 远程管理(RPC) 远程管理(RPCNP-IN) 远程管理(TCP-IN) 远程管理 - RemoteF ...

  7. Centos7(Firewall)防火墙开启常见端口命令

    Centos7默认安装了firewalld,如果没有安装的话,则需要YUM命令安装:firewalld真的用不习惯,与之前的iptable防火墙区别太大,但毕竟是未来主流讲究慢慢磨合它的设置规则: 安 ...

  8. 利用MVC Chart 打造后台图表、前端图表

    应用场景是这个样子的:要做导出数据到PDF的功能,涉及到文本.表格.图表等内容.在做图表功能时,发现之前用Highcharts做的图表根本就不能集成到PDF中.这里需要一个能在程序后台就生成图表的功能 ...

  9. C# MVC 使用 CKEditor图片上传 提示“不正确的服务器响应”

    重点:看一下你使用的CKEditor版本 过程: 后台需要一款富文本编辑器.经过挑选后,最后选择了FCKEditor 的升级版 CKEditor .在官网下载了4.10.1版本. 经过一番配置后,富文 ...

  10. vultr vps(ubuntu)忘记密码

    参考官方解决方案:https://www.vultr.com/docs/boot-into-single-user-mode-reset-root-password 在此仅给出ubuntu下的解决 D ...