Web 开发者需要知道的 12 个终端命令

终端是开发人员的军火库中最重要的生产力工具之一。把它掌握好了可以对你的工作产生非常积极的影响,比如许多的日常任务就可以简化到只需要编写简单的命令然后按一下 Enter 就可以了。

本文我们会为你奉上一系列的 Unix 命令,它们可以帮助你充分地利用好终端。它们其中的一些是内置的,而其它的则是一些免费的工具,它们都经过了时间的考验,而且安装操作也可以在不到一分钟的时间内完成。

Curl

Curl 是一个命令行工具,用来通过 HTTP(s),FTP 等其它几十种你可能尚未听说过的协议来发起网络请求。它可以下载文件,检查响应消息头以及方便地访问远程数据。

在 Web 开发中, Curl 经常被用来测试连接,还有调用 REST 风格的 API。

Curl 的用法还可以比这更复杂。它有许多选项可以用来控制消息头,Cookie,身份验证等等这些要素。你可以通过 Everything curl 这本优秀的电子书来了解更多。

Tree

Tree 是一个小巧的命令行工具程序,它可以用可视化的效果向你展示一个目录下的文件。它的运行是递归的,会以树的形式遍历每个级别的嵌套关系,并显示出每一级目录。 如此你就可以快速地进行浏览并找到自己想要的文件。

它还拥有使用一种类正则表达式的模式来对结果集进行过滤的选项。

Tmux

根据维基的描述,Tmux 是一个终端复用器,说人话就是,它是一个可以将多个终端连接到单个终端会话的工具。

一个 Tmux 终端带有三个分屏的效果

它让你可以在一个终端中进行程序之间的切换,添加分屏窗格,还有就是将多个终端连接到同一个会话,使它们保持同步。 当你在远程服务器上工作时,Tmux 特别有用,因为它可以让你创建新的选项卡,然后在选项卡之间切换,而无需反反复复的退出然后登录。

Disk usage - du

运行 du 命令会生成相关文件和有关目录的空间使用情况的报告。它很容易使用,也可以递归地运行,会遍历每个子目录并且返回每个文件的单个大小。

du 通常在你发现某个驱动器的空间不足,但不知道是因为什么造成的时候使用。使用此命令可以快速查看每个文件夹所占用的存储空间,从而把耗费存储的大户给找出来。

还有一个用途类似的命令 df(Disk Free),它会返回关于可用磁盘空间的各种信息(与 du 正好相反)。

Git

Git 是迄今为止最流行的版本控制系统。它是现代 Web 开发的指定工具之一,我们根本没办法把它从列表中给删掉。

尽管有很多的第三方应用和工具可用,但是大多数人还是喜欢通过终端对 git 来进行本地访问。git CLI 真的很强大,可以用来处理那些盘根错节的项目历史。

如果想了解更多的关于 git 的信息,建议你看看我们的教程“30 分钟学会用 Git”。

Tar

Tar 是用来处理文件压缩的默认 Unix 工具。它能让你快速的将多个文件打成一个包,这样在后续就更加容易存储和移动它们了。

使用 -x 选项可以对现有的 .tar 压缩包进行解压缩操作。

注意大多数其它的格式,像 .zip 和 .rar 这些,都不能使用 tar 来打开,而是需要用其它的像 unzip 这样的工具来进行操作。

如今许多的 Unix 系统都运行着一个 tar 的扩展版本 (GNU tar) ,它也还可以执行限定文件大小的压缩操作。

如果你的操作系统并不支持该版本的 tar,还可以使用 gzip, zcat 或者 compress 来限制文件压缩包的大小。

md5sum

Unix 内置了一些像 md5sum、sha1sum 这样的命令行工具,它们在编程中有各自的作用,但最重要的是它们可以用来检查文件的完整性。

譬如,如果你从不受信的网络下载了一个 .iso 文件,这个文件中存在恶意脚本的风险。为了确认这个 .iso 是安全的,你可以生成它的 md5 或者其它摘要信息。

请点击此处输入图片描述

然后将生成的字符串与原作者提供的(比如 UbuntuHashes)进行比较。

Htop

Htop 是个比内置的 top 任务管理更强大的工具。它提供了带有诸多选项的高级接口用于监控系统进程。

运行中的 htop 任务管理器

虽然 htop 在终端中运行,但它对鼠标操作支持良好。所以使用 htop 的菜单导航、选择进程,以及通过排序和过滤来管理任务都很容易。

Ln

Unix 里面的链接同 Windows 中的快捷方式类似,允许你快速地访问到一个特定的文件。链接可以通过 ln 命令创建出来,而且可以有两种类型 : 硬的(hard) 或者符号的(symbolic)。每种类型都有不同的属性而且各有其用途 (了解更多)。

这里有一个示例,展示了使用链接的最常见方式。假如说我们在桌面上有一个目录叫做 Scripts,里面整齐的摆放着我们最常用的 bash 脚本。每次我们想要调用其中的一个脚本的时候,我们会这样做:

显然,这样做并不方便,每次我们都得写绝对路径。其实我们可以创建一个 symlink,将 Scripts  文件夹链接到 /usr/local/bin,这样就能让脚本在所有的目录下面都可以执行。

有了这个创建好的 symlink,我们现在就可以简单地通过其名称在任意一个打开的终端中执行脚本了。

SSH

使用 ssh 命令,用户可以快速地连接到一个远程主机,然后登录进入其 Unix shell。这就使得通过自己本地机器的终端在服务器上提交指令成为了可能。

要定位一个连接,你只需要指定正确的 IP 地址或者 url 就行了。在你第一次连接到一台新的服务器的时候,会需要某种形式的认证。

如果你需要快速地在服务器上面执行一条命令,但又不想登录,在 url 之后加上一条命令就可以了。命令将会在服务器上执行,而执行结果也会从它那里返回。

你还可以用 SHH 做更多事情,像创建代理或者隧道,用私钥来保护你的连接,传输文件等。在这里的一个指南中你可以了解到更多信息。

Grep

Grep 是一个用来在文本中查找字符串的标准 Unix 工具。它可以从一个文件或者直接就是流的形式获取到输入, 通过一个正则表达式来分析内容,然后返回匹配的行。

该命令在需要对大型文件进行内容过滤的时候非常趁手。下面我们利用 grep 结合 date 命令,来在一个大型的日志文件中进行查找,然后生成一个只包含当天错误日志的新文件。

另外一个用来操作字符串的强大工具就是 sed。它比起 grep 更加强大 (当然也更加复杂),可以执行几乎所有的字符串相关的操作任务,包括添加、删除还有替换字符串的内容。

Alias

许多的 Unix 命令,包括本文中提到的一些,在你加上许多选项之后,看起来都相当的长了。为了能更加容易记忆,你可以使用 alias 这个 bash 内置的命令来为它们创建一个短别名:

只要你保持终端一直是打开的状态, 别名就一直会是可用的。如果想永久使用的话,你可以将 alias  命令操作写到你的 .bashrc 文件中去。

编译自:12 Terminal Commands Every Web Developer Should Know About

译者:开源中国 - leoxu, 边城, brookstar

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,029评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,395评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,570评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,535评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,650评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,850评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,006评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,747评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,207评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,536评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,683评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,342评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,964评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,772评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,004评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,401评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,566评论 2 349

推荐阅读更多精彩内容