基础

正如著名作者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. How To Improve Deep Learning Performance

    如何提高深度学习性能 20 Tips, Tricks and Techniques That You Can Use ToFight Overfitting and Get Better Genera ...

  2. RollViewPager图片轮播效果开源框架的使用

    RollViewPager是一个自动轮播的Viewpager, 支持无限循环. 触摸时会暂停播放,直到结束触摸一个延迟周期以后继续播放. 看起来就像这样.指示器可以为点可以为数字还可以自定义,位置也可 ...

  3. java笔记--线程的插队行为

    对线程的插队行为的理解 在编写多线程时,会遇到让一个线程优先于其他线程运行的情况, 此时除了可以设置其优先级高于其他线程外,更直接的方式是使用Thread类的join()方法 --如果朋友您想转载本文 ...

  4. Java简单方法批量修改Windows文件夹下的文件名(简单IO使用)

    package test.tttt; import java.io.File; import java.util.ArrayList; import java.util.List; public cl ...

  5. java多线程读取、操作List集合

    import java.util.ArrayList; import java.util.List; import org.apache.commons.lang3.ArrayUtils;   pub ...

  6. 使用Percona MySQL 5.7版本遇到的坑

    监控DB由于使用的TokuDB引擎,因此选择使用Percona MySQL 5.7版本,在使用过程中遇到了比较多的坑,在这里做一下简单的记录,希望对广大DBA有帮助. load文件飙升导致的DB雪崩 ...

  7. centos7上安装 mysql

    centos7上的安装是和其他的版本不一样的 ,因为centos上的安装与centos的操作是不通了的 在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装 ...

  8. 给category添加基本数据类型属性

    给category添加基本数据类型属性 说明 通常,我们添加属性都是通过对象扩展来实现的,其实,我们也可以用runtime来添加基本数据类型的属性 源码 // // UIView+AnimationP ...

  9. Spring中的统一异常处理方式

    源自:https://segmentfault.com/a/1190000016236188 在具体的SSM项目开发中,由于Controller层为处于请求处理的最顶层,再往上就是框架代码的. 因此, ...

  10. C++项目规范

    https://segmentfault.com/a/1190000007659754