1.4《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——编辑命令
在编辑模式中,命令行包括几个重复之前命令的功能。这些以及其他很多命令功能时常设计键盘上的特殊键,所以给出Table 1作为参考,给出了许多键在典型的Macintosh键盘上的标记符号。若你的键盘不太一样,是时候运用你对针对技术多样的精湛性解决这个问题(1.3章节的Box5)
| Key | Symbol |
|---|---|
| Command | ⌘ |
| Control | ⌃ |
| Shift | ⇧ |
| Option | ⌥ |
| Up, down, left, right | ↑ ↓ ← → |
| Enter/Return | ↵ |
| Tab | ⇥ |
| Delete | ⌫ |
*Table 1: Macintosh 键盘符号*
编辑命令时最有用的方法之一是'向上箭头'↑,此时该键的作用是检索上一条编辑过的命令。再按一次这个箭头则检索编辑过的命令列表中更前面一条命令,而'向下箭头'↓则向命令列表的末尾方向检索下一条使用过的命令。
其他一些编辑命令常用方法使用control键(正如1.2章节中Box4中看到的那样),这个键通常写作Ctrl 或 ^。例如,当你输入一条新命令或使用之前命令时,它可以在该行中快速操作。假设我们输入
$ goodbye
此时我们意识到我们想要在前面输入echo,我们可以使用左箭头← 将光标移至该行的开头,但还有种更简单的方法,输入^A,一下就将光标移至开头了。类似地,^E移到该行的末尾。最后,^U可以清除整行,重新开始。
^A,^E,和^U在很多的系统里都能运行,但有时编辑一条很长的命令时就不是很好用了,比如输出威廉莎士比亚的十四行诗的第一行 (Listing 6)
Listing 6 打印莎士比亚的第一首十四行诗的第一行
$ echo "From fairest creatures we desire increase,"
假设我们想将"From"改为"FRom"这样更符合原来的十四行诗的文字(图12),我们可以输入^A然后再按几次右箭头,但在有些系统中可以通过结合键盘(option 键)和鼠标(点击)直接将光标移到想要到的位置。就是键盘按住Option键(如果键盘上有的话),然后再将鼠标点击到命令需要聚焦的位置。这可以让我们移到'From'的字面'o'左边,这样可以直接删除‘r’,将字母改为'R",如Listing 7

图12,莎士比亚的第一首十四行诗的原貌。
Listing 7: 输入长命令结果
$ echo "FRom fairest creatures we desire increase,"
我常常结合^A,^E以及左右箭头在命令行中移动位置,但对于长命令来说option键和点击可能更有用。(我经常会改变想输入的命令,所以在这种情况下我发现键入^U在重新开始是最快的方法)
练习
1.使用向上箭头,在屏幕上输出字符串'fee', 'fie', 'foe'和'fum'而不用每次都重新输入。
2.使用Listing 6中的命令开始,任意结合^A,^E和箭头键,或者使用option-点击将现在简写的s改为古老的全写s 即'ſ'来匹配原始的诗(如图12)。换句话说,echo的参数应该是'FRom faireſt creatures we deſire increaſe'.提示: 可能你的键盘不能打出原生的"ſ"字母,可以从本篇教程中复制或者在网上搜索,在网上复制.(如果你不会在终端粘贴复制,我建议你参见1.3章节的Box5来找到在你系统上粘贴复制的方法)。
1.4《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——编辑命令的更多相关文章
- 4.3《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)—链接到目录
在4.2章中我们已经会用cd进入到指定的目录中.这是导航最常见的用途之一,但是它还有几个值得关注的用途.第一个是使用cd ..(读作'see-dee 点点')返回当前目录级别的上一级: $ pwd / ...
- 3.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——下载文件
首先,为了不手动创建一个长文件(这太麻烦了),我们将使用强大的curl(有时也写作"cURL")工具从网上下载一个文件,这个命令可以让命令行与URL交互.尽管这不是Unix核心命令 ...
- 2《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——操作文件
已经学习了基本的命令,现在是时候学习操作文件了,这也是命令行的重要任务.还是基于本教程的事先规定,本教程是入门级的,不要求熟悉类似编辑文本的程序(这些文本编辑程序,将在下个系列教程中介绍, Learn ...
- 1.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——运行终端
终端是个允许我们运行命令行的程序,运行命令前,先打开它.在MacOS系统上,可以使用macOS应用 Spotlight来打开终端窗口,Spotlight也有其他两种方式触发,一种是键入⌘␣(comma ...
- 1.3《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——手册页
我们运行的命令行程序,通常在技术上称作shell, 它包含了一个非常强大(也很神秘)的工具,我们将用它来学习更多可用的命令.这个工具本身就是个称作'man'的命令('manual'的简写).它的参数是 ...
- 2.3《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——重命名,复制,删除
最常用的文件操作除了将文件列出来外,就应该是重命名,复制,删除了.正如将文件列出来一样,大多数现代操作系统为这些任务提供了用户图形界面,但是在许多场景中,用命令行还是会更方便. 使用mv命令重命名一个 ...
- 1.2《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——开始第一条命令
现在开始准备运行我们的第一条命令了,在屏幕上打印'hello'.(字符打印的地方被称为'标准输出',通常指的是屏幕,很少指真的物理打印机设备).这条命令就是echo,这条命令的参数是想要输出的字符串或 ...
- 4.5《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)—第四章小结
本章相关重要命令总结在Table 6. 命令 描述 示例 mkdir <name> 创建某目录 $ mkdir foo pwd 显示当前所在目录 $ pwd cd <dir> ...
- 4.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)—目录结构
Unix风格的目录结构通常使用一个目录名列表并用正斜杠分隔来表示,这样我们可以结合ls命令: $ ls /Users/mhartl/ruby 或者 $ ls /usr/local/bin 正如图20, ...
随机推荐
- Android Studio 关联 JDK Java 源码
Android Studio 关联 Android 源码比较方便,一般下载后可自动关联,但是 Android Studio 默认使用的 JDK 是内嵌的,是不带源码的.所以在查看 JDK 源码时,看到 ...
- Android HandlerThread和IntentService
HandlerThreadHandlerThread继承了Thread,它是一种可以使用Handler的Thread,它实现也很简单,就是在run中通过Looper.prepare()来创建消息队列, ...
- 腾讯TBS X5 WebView的简单使用
工作中经常涉及H5网页的加载工作,最多使用的就是安卓系统控件WebView,但是当网页内容比较多的时候,需要等待很久才能加载完,加载完后用户才能看到网页中的内容,这样用户需要等很久,体验很差. 那能不 ...
- 标准JSF的生命周期
JavaServer Faces (JSF) 是一种用于构建Java Web 应用程序的标准框架.它提供了一种以组件为中心的用户界面(UI)构建方法,从而简化了Java服务器端应用程序的开发.它的生命 ...
- 七牛云A账号数据迁移到B账号下
1,七牛云A账号下开启空间授权,可以让B账号可以访问A账号下的空间,,授予权限只读即可. 2,下载七牛云命令行工具.(通过命令完成数据迁移) https://dn-devtools.qbox.me/2 ...
- arrayfun用法(转)
http://blog.sina.com.cn/s/blog_7cf4f4460101bnhh.html 利用arrayfun函数可以避免无谓的循环,从而大大提高代码的简介性.1.A=ARRAYFUN ...
- ElasticStack系列之十八 & ElasticSearch5.x XPack 过期新 License 更新
摘要 当你某一天打开 Kibana 对应的 Monitoring 选项卡的时候,发现提示需要下载新的 license,旧的 license 已经过期了,试用期为30天,如果不是很需要其他的复杂监控.报 ...
- redis 配置文件示例
# redis 配置文件示例 # 当你需要为某个配置项指定内存大小的时候,必须要带上单位,# 通常的格式就是 1k 5gb 4m 等酱紫:## 1k => 1000 bytes# 1kb =& ...
- 使用C#删除一个字符串数组中的空字符串
C#中要如何才能删除一个字符串数组中的空字符串呢?随着微软对C#不断发展和更新,C#中对于数组操作的方式也变得越来越多样化.以往要实现过滤数组中的空字符串,都是需要实行循环的方式来排除和过滤.C#3. ...
- Angular开发环境搭建和项目创建以及启动
工具的安装 首先需要安装node,直接在官网下载node,然后一直下一步安装完即可,在安装node的时候自带了npm包管理工具 然后安装Angular CLI,使用npm命令安装输入以下命令 npm ...