1.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——运行终端

时间:2022-05-20 18:56:08

终端是个允许我们运行命令行的程序,运行命令前,先打开它。在MacOS系统上,可以使用macOS应用 Spotlight来打开终端窗口,Spotlight也有其他两种方式触发,一种是键入⌘␣(command和空格键),另一种是点击屏幕右上方的放大镜。一旦你触发了Spotlight,你就可以通过在Spotlight搜索条输入'terminal'开启终端程序。(如果你想使用更高级更个性化的终端程序,我建议安装iTerm, 大家可自愿安装)在Linux系统上,你可以点击终端图标(terminal icon)像图3所示,打开终端后,界面类似图4,可能系统不同,细节会有些许不同
1.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——运行终端
图4:终端窗口

如果你使用不同的操作系统,我建议运用你成熟的技术能力(Box5)弄清楚怎样在你系统上打开终端;例如,如果要在Chromebook上学习如何打开命令行终端,可以Google搜索how to get a command line on a chromebook(在chromebook上如何获得命令行)

在1.基础那节中给出的命令行例子(如图2),包含了一条命令所有关键元素,就像插图5所示,提示(prompt)后紧跟一条命令(command, 正如给计算机一条命令), 接着是选项(option, 如'选择一个不同的选项'), 再接着是参数(argument, 如数学中'函数的参数'),理解提示(prompt)是由终端自动提供,而非自己键入,这非常必要。(确实,如果你要键入的话,它很可能导致一个错误)。此外,提示(prompt)的其他细节也会有不同,但这些细节对于本教程并不重要(见下Box3)。
1.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——运行终端
图5:命令行剖析(可能你的提示会有差异)

Box3: 什么是提示(prompt)

每个命令行开始于一个符号或多个符号,旨在'提示'你采取行动。提示部分通常以美元标记符$结束,这也需依赖于系统的细节信息。例如,在一些系统中提示会像这样:Michael's MacBook Air:~ mhartl$,在图3中,提示又像是这样:[~]$,在图4中,提示又像这样[projects]$。最后,在我看来提示像这样: [learn_enough_command_line (master)]$.
基于本教程的目的,提示(prompt)的细节并不重要,但是我们会在本教程后的下个教程里,讨论自定义提示(prompt)的有效方法Learn Enough Text Editor to Be Dangerous

练习

本教程包含大量练习。我强烈建议在开始下一章节前先做做这些练习,养成这个好习惯,因为这些练习会帮助加强刚才所说内容,并提供刚才讨论的许多命令的基本练习。这些命令在通常情况下都会用到,但如果你突然卡住时,有时继续往前练习,以后再回看这些练习也是个好主意。的确,这同样也适用于主要教程部分, 因为有时确实会很惊讶,当下次回看这些之前觉得不可能的想法或很棘手的问题时,突然又变得很容易理解。

  1. 通过上图5,确定图6中每行的提示(prompt)、命令(command)、选项(option)、参数(argument)和光标(cursor)
    1.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——运行终端
    图6: 一些典型的命令

  2. 大多数现代的终端程序都可以创建多个标签,如图7所示,这对组织一系列相关的终端窗口非常有用。通过检查终端程序的菜单选项按钮,如图8所示,找出怎样创建标签。
    1.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——运行终端
    图7: 有3个tab的终端窗口
    1.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——运行终端
    图8: Mac操作系统上的终端默认的一些菜单选项

1.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——运行终端的更多相关文章

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

    本章节学过的重要命令整理,见下表Table 2. 命令 描述 例子 echo <string> 向屏幕输出字符串 $ echo hello man <command> 显示命令 ...

  4. 3&period;1《想成为黑客,不知道这些命令行可不行》&lpar;Learn Enough Command Line to Be Dangerous&rpar;——下载文件

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

  5. 2&period;3《想成为黑客,不知道这些命令行可不行》&lpar;Learn Enough Command Line to Be Dangerous&rpar;——重命名,复制,删除

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

  6. 1&period;2《想成为黑客,不知道这些命令行可不行》&lpar;Learn Enough Command Line to Be Dangerous&rpar;——开始第一条命令

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

  7. 1&period;4《想成为黑客,不知道这些命令行可不行》&lpar;Learn Enough Command Line to Be Dangerous&rpar;——编辑命令

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

  8. 4&period;5《想成为黑客,不知道这些命令行可不行》&lpar;Learn Enough Command Line to Be Dangerous&rpar;—第四章小结

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

  9. 4&period;1《想成为黑客,不知道这些命令行可不行》&lpar;Learn Enough Command Line to Be Dangerous&rpar;—目录结构

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

随机推荐

  1. swift-sharesdk集成微信、Facebook第三方登录

    好久没有写博客了.最近忙得没有时间更新博客,很忙很忙. 今天就把自己做过的第三方集成和大家分享一下,请大家多多指教. 第一步: 一.获取AppKey(去官方平台注册) 二.下载SDK 三.快速集成 第 ...

  2. AngularJS启动过程分析

    1111 app.controller('myCtrl',['$scope',function($scope){     $scope.wcrq=1234567890; }]); angular.bo ...

  3. C&plus;&plus;不完整的类型

    今天写C++primer 5th中文版第422页的程序时,出现了”不允许使用不完整的类型“的错误,下面我就用类A 与 类B 作为代表,重现一下该错误,并且提出解决方案. 一.带问题的类设计A: 1.类 ...

  4. javasript生成 uuid的几种算法分享

    方式一 function uuid() { var s = []; var hexDigits = "0123456789abcdef"; for (var i = 0; i &l ...

  5. javascript中函数的闭包自调用

    话不多说, 直接上代码 // 定义一个变量outerParam, 然后使用一个闭包函数给该变量初始化var outerParam = (function testClosure(param) { // ...

  6. scrapy中response&period;body 与 response&period;text区别

    scrapy中response.body 与 response.text区别 body http响应正文, byte类型 text 文本形式的http正文,str类型,它是response.body经 ...

  7. &lpar;个人&rpar;Zookeeper集群环境部署

    一.准备工作 1. 下载zookeeper,下载地址:https://zookeeper.apache.org/releases.html#download  2. 下载CentOS7的镜像,下载地址 ...

  8. python3版本main&period;py执行产生中间&lowbar;&lowbar;pycache&lowbar;&lowbar;详解

    __pycache__ 用python编写好一个工程,在第一次运行后,总会发现工程根目录下生成了一个__pycache__文件夹,里面是和py文件同名的各种 *.pyc 或者 *.pyo 文件. 先大 ...

  9. Javascript 随机数函数 学习之一:产生服从均匀分布随机数

    大家都知道Math.random是 javascript 中返回伪随机数的函数,但查看 MDN, The Math.random() function returns a floating-point ...

  10. Drupal错误:drupal Maximum execution time of 30 seconds exceeded database in解决方法

    Drupal开源内容管理框架 Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成.连续多年荣获全球最佳CMS大奖,是 ...