1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——基础(Basics)
基础
正如著名作者Neal Stephenson所说的那样,'(开发, 译者加)开始是命令行',尽管通过用户图形界面使用计算机及其简单,但是在许多场景中,最有效、最灵活地与计算机交互的方式是使用命令行界面。在命令行界面中,计算机使用者敲出命令指示计算机执行所需任务。这些命令可以有很多种结合方式来实现多样的输出。例如一个典型的命令,如下图2
图2:命令行命令原型
本教程覆盖了基础的Unix命令,其中Unix指的是一系列包括Linux,Android, iOS(iPhone/iPad) 和macOS的操作系统。Unix系统为万维网上的大多数软件提供服务,运行于大多数的移动、平板设备,同时也服务世界上大量的台上计算机。由于Unix在现代计算的核心地位,所以本教程涵盖了Unix开发软件的方法。可以动摇Unix的霸主地位的唯一例外是Microsoft Windows,它不属于Unix的一部分,但是大部分开发使用的原生Windows开发工具依然受益于学习Unix命令行。除此之外,有些用户可能需要在Unix服务器上发出命令(如,通过''secure shell‘’命令 ssh),此时对Unix命令的熟悉变得非常重要。最后,强烈推荐Windows用户运行免费的Linux虚拟机(如下‘运行虚拟机’所说)学习、利用本教程。另一个好的选择是使用cloud IDE如Cloud9,若用此方法,学习Ruby on Rails Tutorial book这本书的Development environment这一节。
备注:本节重要的命令行总结在表2
Box2 运行虚拟机:
为了能完成本教程,Windows用户应该安装一对免费程序来运行虚拟机(模拟计算机),这样就可以允许Windows系统托管Linux操作系统的一个版本,操作步骤如下所示:
1.安装适用于系统的VirtualBox正确版本(免费)
2.下载学习虚拟机(大文件)
3.下载成功后,双击产生的'OVA'文件,并根据指示安装虚拟机(VM).
4. 双击VM本身并用默认用户密码‘foobar!’登录
(若成功完成这些步骤,在复杂的技术中是一个好的开始,更深入的探索在1.3章节的Box 5开启),最后会产生一个为本教程预先配置的Linux桌面环境(包括一个命令行终端程序),如下图3所示
从长远来看,我建议尽快入手Mac,也许你会需要存点时间,因为Mac通常比Windows机器更贵,但是在大多数的情况下,价格高的生产效率也会更高。(如果你发现你更喜欢Linux,并会一直坚持喜欢,但是Mac因为有更好的用户界面更易使用,另外,你可以一直在虚拟机(VM)中运行Linux,即使在Mac上也可以)
图3:运行在主机系统中的Linux虚拟机
1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——基础(Basics)的更多相关文章
- 4.3《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)—链接到目录
在4.2章中我们已经会用cd进入到指定的目录中.这是导航最常见的用途之一,但是它还有几个值得关注的用途.第一个是使用cd ..(读作'see-dee 点点')返回当前目录级别的上一级: $ pwd / ...
- 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'的简写).它的参数是 ...
- 3.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——下载文件
首先,为了不手动创建一个长文件(这太麻烦了),我们将使用强大的curl(有时也写作"cURL")工具从网上下载一个文件,这个命令可以让命令行与URL交互.尽管这不是Unix核心命令 ...
- 2.3《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——重命名,复制,删除
最常用的文件操作除了将文件列出来外,就应该是重命名,复制,删除了.正如将文件列出来一样,大多数现代操作系统为这些任务提供了用户图形界面,但是在许多场景中,用命令行还是会更方便. 使用mv命令重命名一个 ...
- 1.2《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——开始第一条命令
现在开始准备运行我们的第一条命令了,在屏幕上打印'hello'.(字符打印的地方被称为'标准输出',通常指的是屏幕,很少指真的物理打印机设备).这条命令就是echo,这条命令的参数是想要输出的字符串或 ...
- 1.4《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——编辑命令
在编辑模式中,命令行包括几个重复之前命令的功能.这些以及其他很多命令功能时常设计键盘上的特殊键,所以给出Table 1作为参考,给出了许多键在典型的Macintosh键盘上的标记符号.若你的键盘不太一 ...
- 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, ...
随机推荐
- 格式化字符串漏洞利用实战之 njctf-decoder
前言 格式化字符串漏洞也是一种比较常见的漏洞利用技术.ctf 中也经常出现. 本文以 njctf 线下赛的一道题为例进行实战. 题目链接:https://gitee.com/hac425/blog_d ...
- Vue项目中引用vue-resource步骤
直接上步骤: 1.通过命令,进入到当前项目所在目录 2.输入以下命令npm install vue-resource --save 3.安装完毕后,在main.js中导入,如下: import Vue ...
- java jvm概述及工作过程中的内存管理
java jvm 有分层的思想. java类..java文件,源文件,源代码,源程序 编译器不能把源代码直接编译成0101,除非是java语言写的操作系统. windows认识的可执行文件 ...
- 深入理解net core中的依赖注入、Singleton、Scoped、Transient(二)
相关文章: 深入理解net core中的依赖注入.Singleton.Scoped.Transient(一) 深入理解net core中的依赖注入.Singleton.Scoped.Transient ...
- Python 导出导入安装包
python导出安装包 pip freeze > requirements.txt python导入安装包 pip install -r requirements.txt
- 神奇的负Margin
在做slide时候一般都是采用父元素超宽+overflow的做法,今天发现了用margin-right:-100%;可以让子元素全部重叠起来.效果也是不错的
- Java 8方法引用使用指南
[编者按]本文作者为拥有15年 Java 开发经验的资深程序员 Per-Åke Minborg,主要介绍如何灵活地解析 Java 中的方法引用.文章系国内 ITOM 管理平台 OneAPM 编译呈现. ...
- leetCode题解之Self Dividing Numbers
1.题目描述 2.题目分析 简单题目,只要挨个判断该数是不是满足条件即可. 3.代码 vector<int> selfDividingNumbers(int left, int right ...
- Angular-学习。
今天刚学了点关于Angular的知识,就迫不及待的想跟大家来分享. 1.angular.extend ( )方法可以把一个或多个对象中的方法和属性扩展到一个目的对象中. <script typ ...
- 7.log4j2的使用
一.简介 log4j2相对于log4j 1.x有了脱胎换骨的变化,其官网宣称的优势有多线程下10几倍于log4j 1.x和logback的高吞吐量.可配置的审计型日志.基于插件架构的各种灵活配置等.如 ...