基础

正如著名作者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)的更多相关文章

  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.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——运行终端

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. ORA-00054 资源正忙

    现象: 执行update.truncate提示 ORA-00054: resource busy and acquire with NOWAIT specified. 解决方法: 因为系统是RAC系统 ...

  2. 图片按钮(imageButton)

    图片按钮(imageButton) 常用属性: android:src="@drawable/download" (这里的download是一张图片的名称,通过引用该图片的名称直接 ...

  3. 基于goahead 的固件程序分析

    # 前言 本文由 本人 首发于 先知安全技术社区: https://xz.aliyun.com/u/5274 最近在分析 dlink 的一个固件时遇到了用 goahead 开发的 web 服务.本文以 ...

  4. 612.1.004 ALGS4 | Elementary Sorts - 基础排序算法

    sublime编辑器写代码,命令行编译 减少对ide的依赖//可以提示缺少什么依赖import 所有示例代码动手敲一遍 Graham's Scan是经典的计算几何算法 shffule 与 map-re ...

  5. Spring MVC 常用Jar包

    spring:http://maven.springframework.org/release/org/springframework/spring/ jackson:http://repo1.mav ...

  6. SCCM OS播发

    SCCM OS播发1.在分发点启用PXE支持2.将启动映像包分发到分发点:需要将x86和x64都分发到分发点,如果只分发x64,在客户端pxe启动时会出现 no response from wds s ...

  7. 一个好玩的计算题目(c++ 位运算)

    2015/11/10 在一个qq群里面,看到一个好玩的题目.“int foo(int x){return x&-x}   foo(2^31-3)这个怎么算 ?” 1.自己也就开始算了: (1) ...

  8. 铁乐学python_day05-作业

    1,有如下变量(tu是个元祖),请实现要求的功能 tu = ("alex", [11, 22, {"k1": 'v1', "k2": [&q ...

  9. socks5代理使用和安装配置

    Socks简介: 详情可以百度,不过我猜你对那一大堆术语也会像我一样觉得无语, 所以我觉得你可以简单理解为它可以比较完美代理http/ftp/smtp等多种协议的代理工具就行了. 其中最具有典型例子的 ...

  10. robotFramework--ride 问题:Data source does not exist.

    第一次安装robotFramework,运行时提示Data source does not exist.最后发现是在Arguments这一栏误输入了. 导致的,去掉.后就可以正常运行了.