2《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——操作文件
已经学习了基本的命令,现在是时候学习操作文件了,这也是命令行的重要任务。还是基于本教程的事先规定,本教程是入门级的,不要求熟悉类似编辑文本的程序(这些文本编辑程序,将在下个系列教程中介绍, Learn Enough Text Editor to Be Dangerous.)。这也意味着我们将用命令行手动创建文件。但这是个功能,不是个bug(见Box6),因为学习用命令行创建文件本身也是项有用的技能。
备注:本章中重要的命令总结在Table3.
Box 6 学习如何说话像个“极客”
学习软件开发一个重要的阶段就是熟悉极客,怪咖和极客文化。例如,常常有短语说:“这不是个bug,这是个特性”,这是种重新看似缺陷的常见方式,但其实是种美德。正如字典里介绍的说:这不是bug,这是特性
软件开发者在试图说服用户,那些程序的缺陷实际是它应该要做的时,它们找的这个借口。
Jargon File, 这是一个包含了黑客巨量有趣的词汇术语集,在feature这个条目下扩展了该主题:
“未记录的功能”是很常见的,据称是对一个bug幽默委婉的说法。有个相关的笑话有时也被称为'一个问题测是否是极客的测试'。你对某人说“我今天看见一辆大众甲壳虫,上面有个读取FEATURE的虚拟车牌”,如果她/他笑了,那她/他是个极客。
这个笑话是说,由于'bug'是个对大众牌甲壳虫车的常见的俚语,一个挂着浮夸的FEATURE的牌子的甲壳虫车,是对现实中‘ 这不是bug,这是特性’的表现。(插图13)
即使你本身不是个极客或者怪咖,学习'说话像个极客'也会帮助你驾驭技术环境和技术相关的的社交世界。
插图13: 这不是bug这是特性
2《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——操作文件的更多相关文章
- 3.《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——检查文件
上面我们已经学过如何创建及操作文件,现在我们再来学习检查内容.当文件太长以至于屏幕一页显示不完时,这显得尤其重要.特殊情形下,如我们在第2.1章节开始部分中使用cat命令将内容展示到屏幕上,但这对于长 ...
- 3.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——下载文件
首先,为了不手动创建一个长文件(这太麻烦了),我们将使用强大的curl(有时也写作"cURL")工具从网上下载一个文件,这个命令可以让命令行与URL交互.尽管这不是Unix核心命令 ...
- 3.2《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——检查文件开始与结尾
检查文件两个互补的命令是head 和tail, 它们分别用于查看文件的开始(头部)和结束(尾部).head命令展示了文件的前10行.(Listing 11). ##Listing 11: 查看示例文件 ...
- 2.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——重定向文件和添加文件
回忆第一章节的内容,我们用echo命令输出莎士比亚的第一首十四行诗的第一行(Listing 6): $ echo "From fairest creatures we desire incr ...
- 4.3《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)—链接到目录
在4.2章中我们已经会用cd进入到指定的目录中.这是导航最常见的用途之一,但是它还有几个值得关注的用途.第一个是使用cd ..(读作'see-dee 点点')返回当前目录级别的上一级: $ pwd / ...
- 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,这条命令的参数是想要输出的字符串或 ...
随机推荐
- equals 与 == 的区别
equals 是 用来比较二个对象内容是否相等. == 是用来比较二个对象的内存是否相等. public void testString(){ String s1="123"; S ...
- php 去除所有空格 包括中文空格圆角空格
有的中文的半角,圆角空格或者段落符显示为空白的.可以用正则来处理 preg_replace("/(\s|\ \;| |\xc2\xa0)/","" ...
- 《Spring实战》第4章--面向切面的Spring--处理通知中的参数(经验总结)
今天学习<Spring实战>第4章<面向切面的Spring>,根据4.3.3小节写出如下切面类: package proxy; import java.util.HashMap ...
- C#和C++互相操作 结构体数组的传递
C++中结构体定义: typedef struct // 平面 { double time; float normal[3]; float center[3]; } plane; C++中方法声明 ...
- Android逆向 APK文件组成
一 了解APK文件 我们知道Android系统能运行的程序是.apk文件格式,其实它就是一个压缩包而已,把.apk修改成.zip,然后解压就可以得到该apk内部的文件结构. PS: 既然可以把apk文 ...
- flume使用场景 flume与kafka的比较
Is Flume a good fit for your problem? If you need to ingest textual log data into Hadoop/HDFS then F ...
- SQL Server 2016 中有外键的表无法被Truncate,只能被Delete
问: I get the following message even when the table that references it is empty: "Cannot truncat ...
- 详解coredump
一,什么是coredump 我们经常听到大家说到程序core掉了,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下(这里为什么说需要 ...
- 闲谈CDN网络架构
CDN也就是内容分布网络(Context Delivery Network),它是构筑在现有interent上的一种先进的流量分配网络.其目的是通过现有的Internet中增加一层新的网络架构,将网站 ...
- 开发jQuery插件的基本步骤
在进行开发jQuery插件前,首先要了解一些知识: 1.闭包 1.1.闭包的作用: · 避免全局依赖 · 避免第三方破坏 · 兼容jQuery操作符'$'和jQuery 1.2.闭包的形式 (func ...