作为前端Web开发者,这12个终端命令不可不会

对于开发人员来说,终端是最重要的工具之一。掌握终端,能够有效的提升开发人员的工作流程。使用终端,许多日常任务都被简化为了编写简单的命令并按下 Enter 按钮。

 

本文列举了一系列 Linux 命令,旨在帮助大家充分利用终端这个工具。其中一些终端命令是内置的,其它的则是免费的工具,并且经过测试这些工具可以在不到一分钟内进行安装。

 

Curl

Curl 是一个命令行工具,用于通过 HTTP(s)、FTP 和数十种其它协议进行请求。使用Curl可以进行文件下载、检查响应标题和自由访问远程数据。

在 Web 开发中,Curl 经常和 RESTful API 一起使用,用于测试连接。

# Fetch the headers of a URL.
curl -I http://google.com
HTTP/1.1 302 Found
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Referrer-Policy: no-referrer
Location: http://www.google.com/?gfe_rd=cr&ei=0fCKWe6HCZTd8AfCoIWYBQ
Content-Length: 258
Date: Wed, 09 Aug 2017 11:24:01 GMT

# Make a GET request to a remote API.
curl http://numbersapi.com/random/trivia
29 is the number of days it takes Saturn to orbit the Sun.

Curl 命令可能比上述代码更复杂。有许多选项用于控制 headers、Cookie、身份验证等。了解更多,请阅读Everything curl

 

Tree

Tree 是一个小型的命令行实用程序,它将目录中的文件以可视化的方式进行显示。它采用递归运行的方式,遍历每个级别的嵌套并绘制所有内容的格式树。这样就能快速的浏览并查找需要的文件。

tree
.
├── css
│   ├── bootstrap.css
│   ├── bootstrap.min.css
├── fonts
│   ├── glyphicons-halflings-regular.eot
│   ├── glyphicons-halflings-regular.svg
│   ├── glyphicons-halflings-regular.ttf
│   ├── glyphicons-halflings-regular.woff
│   └── glyphicons-halflings-regular.woff2
└── js
    ├── bootstrap.js
    └── bootstrap.min.js

还可以使用简单的 regEx 模式来过滤结果:

tree -P '*.min.*'
.
├── css
│   ├── bootstrap.min.css
├── fonts
└── js
    └── bootstrap.min.js

 

Tmux

根据维基的解释,Tmux 是一个终端复用器。通俗的说,它是一个能将多个终端连接到单个终端会话的工具。

Tmux 允许用户在终端中的程序之间切换,添加屏幕窗格,并将多个终端连接到同一个会话,使其保持同步。在远程服务器上工作时,Tmux 特别有用,因为它允许用户创建新的选项卡,而无需再次登录。

 

du

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

du 的常见用例是:当某个驱动器的空间不足,用户不清楚每个存储器的大小。使用此命令可以快速查看每个文件夹所占用的存储空间,从而找到占用最大空间的存储器。

# Running this will show the space usage of each folder in the current directory.
# The -h option makes the report easier to read.
# -s prevents recursiveness and shows the total size of a folder.
# The star wildcard (*) will run du on each file/folder in current directory.

du -sh *

1.2G    Desktop
4.0K    Documents
40G     Downloads
4.0K    Music
4.9M    Pictures
844K    Public
4.0K    Templates
6.9M    Videos

还有一个相似的命令 df(Disk Free),使用df会返回有关可用磁盘空间的各种信息。

 

Git

Git 是迄今为止最流行的版本控制系统,也是现代 web 开发的定义工具之一。

Git 有很多第三方应用和工具可以使用,但是大多数人都喜欢通过本地终端访问 git。git CLI 非常强大,可以处理最混乱的项目版本问题。

想了解更多关于 git 的信息,推荐学习“ Learn Git in 30 Minutes”。

 

Tar

Tar 是用于文件存档的默认 Unix 工具。Tar 允许用户将多个文件快速绑定到一个包中,从而使之更容易存储和移动。

tar -cf archive.tar file1 file2 file3

使用-x选项也可以提取现有的 .tar 档案。

tar -xf archive.tar

请注意,其它大多数格式如 .zip 和 .rar 无法使用 tar 命令打开,要打开 .zip 和 .rar 这样的文件还需要 unzip 这样的命令。

许多现代 Unix 系统都在运行扩展版本的 tar(GNU tar),可以帮助压缩执行文件的大小:

# Create compressed gzip archive.
tar -czf file.tar.gz inputfile1 inputfile2

# Extract .gz archive.
tar -xzf file.tar.gz

如果你的操作系统没有该版本的 tar,则可以使用 gzipzcat 或 compress 来压缩归档文件的大小。

 

md5sum

Unix 有几个内置的哈希命令,包括 md5sumsha1sum 等。这些命令行工具在编程中有很多种应用,但是最重要的功能是它们可以用于检查文件的完整性。

例如,如果从不受信任的源下载了 .iso 文件,那么该文件就有可能包含有害的脚本。为了确保 .iso 是安全的,用户可以从中生成 md5 或其它哈希。

md5sum ubuntu-16.04.3-desktop-amd64.iso 

0d9fe8e1ea408a5895cbbe3431989295  ubuntu-16.04.3-desktop-amd64.iso

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

 

Htop

Htop 是创建任务管理器中 top 任务的一个很强大的可选方案。它提供了一个高级界面,具有用于监视和控制系统进程的许多选项。

虽然 Htop 在终端中运行,但是 Htop 对鼠标控件有非常好的支持。这也使得能够更容易地完成导航菜单,选择进程,并组织排序和过滤的任务。

 

Ln

Unix 中的 Links 类似于 Windows 中的快捷方式,允许用户快速访问某些文件。Links是通过ln命令创建的,有两种类型:hard 或 symbolic。每种都有不同的属性,分别用于不同的对象。

以下是使用链接的示例。假设桌面上有一个名为 Scripts 的目录。它包含了我们通常使用的 bash 脚本。每当我们想要调用脚本之一时,都必须这样做:

~/Desktop/Scripts/git-scripts/git-cleanup

这样显然很不方便,因为每次都要写绝对路径。相反,我们可以创建一个从脚本文件夹到 /usr/local/bin 的符号链接,这样会使脚本更容易执行。

sudo ln -s ~/Desktop/Scripts/git-scripts/git-cleanup /usr/local/bin/

通过创建符号链接,就可以在任何打开的终端中,通过简单地写入名称来调用脚本。

git-cleanup

 

SSH

使用 ssh 命令,用户可以快速连接到远程主机并登录到其 Unix shell。这也让用户可以直接从本地机器的终端操作远程的服务器,更方便地发出命令。

要建立连接,只需要指定正确的 IP 地址或 URL。第一次连接到新服务器时,会有一些形式的身份验证。

ssh username@remote_host

如果要在服务器上快速执行命令而不进行登录,可以在URL之后添加一个命令。该命令将在服务器上运行,并返回该结果。

ssh username@remote_host ls /var/www

some-website.com
some-other-website.com

可以使用 SSH 做很多事情,例如创建代理和隧道、使用私钥保护连接、传输文件等等。了解更多有关ssh。

 

Grep

Grep 是一个用于在文本中查找字符串的标准 Unix 实用程序。Grep 以文件或直接流的形式进行输入,通过正则表达式运行其内容,并返回所有匹配的行。

在对大文件进行过滤时,使用 Grep 会非常方便。下面我们使用 Grep 和 data 命令搜索来对一个大型日志文件进行搜索,并生成一个仅包含当天错误信息的新文件。

// Search for today's date (in format yyyy-mm-dd) and write the results to a new file.
grep "$(date +"%Y-%m-%d")" all-errors-ever.log > today-errors.log

处理字符串的另一个很强大的命令是 sed,它比 grep 更强大也更复杂,它可以执行几乎任何与字符串相关的任务,包括添加、删除或替换字符串。

 

Alias

许多 Unix 命令,包括本文中的一些功能,在添加所有的选项后,会是一个很长串的命令。为了使这些很长串的命令更容易记忆,用户可以使用alias 命令来创建简短的别名:

# Create an alias for starting a local web server.
alias server="python -m SimpleHTTPServer 9000"

# Instead of typing the whole command simply use the alias.
server 

Serving HTTP on 0.0.0.0 port 9000 ...

只要保持终端处于开启状态,该别名将一直可用。为了使别名永久可用,也可以将 alias 命令添加到 .bashrc 文件中。

 

总结

对于 Web 开发人员来说,如果上述的12个终端命令中,还有你不熟悉的命令,那么就应该通过本文快速的熟悉起来,并逐渐的运用到自己的开发工作中。

原文链接:https://tutorialzine.com/2017/08/12-terminal-commands-every-web-developer-should-know

转载请注明出自:葡萄城控件

 

相关阅读:

【报表福利大放送】100余套报表模板免费下载

1分钟选好最合适你的JavaScript框架

2017年前端开发工具趋势

Top 10 JavaScript编辑器,你在用哪个?

 

时间: 2024-10-29 02:25:02

作为前端Web开发者,这12个终端命令不可不会的相关文章

作为前端Web开发者,这12条基本命令不可不会

对于开发人员来说,终端是最重要的工具之一.掌握终端,能够有效的提升开发人员的工作流程.使用终端,许多日常任务都被简化为了编写简单的命令并按下 Enter 按钮. 本文列举了一系列 Linux 命令,旨在帮助大家充分利用终端这个工具.其中一些终端命令是内置的,其它的则是免费的工具,并且经过测试这些工具可以在不到一分钟内进行安装. Curl Curl 是一个命令行工具,用于通过 HTTP(s).FTP 和数十种其它协议进行请求.使用Curl可以进行文件下载.检查响应标题和自由访问远程数据. 在 We

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

终端是开发人员的军火库中最重要的生产力工具之一.把它掌握好了可以对你的工作产生非常积极的影响,比如许多的日常任务就可以简化到只需要编写简单的命令然后按一下 Enter 就可以了. 本文我们会为你奉上一系列的 Unix 命令,它们可以帮助你充分地利用好终端.它们其中的一些是内置的,而其它的则是一些免费的工具,它们都经过了时间的考验,而且安装操作也可以在不到一分钟的时间内完成. Curl Curl 是一个命令行工具,用来通过 HTTP(s),FTP 等其它几十种你可能尚未听说过的协议来发起网络请求.

web前端-WEB前端基础 下列代码中,错误的是()?

问题描述 WEB前端基础 下列代码中,错误的是()? A. 01发票信息 发票抬头: 发票内容: B.发票信息 发票抬头: 发票内容: C.% D. 搜索"恒高科技": 解决方案 web前端基础Web前端基础[WEB基础]⑤一些前端小东西 解决方案二: 你这个是不是有格式的啊? 解决方案三: 我表示看不懂,是不是内容不全啊 相关文章 代码-WEB前端基础 答案为什么是B html-如何才能系统的学习web前端呢 web前端-css遇到十分基础的问题,求解释 web前端框架挑选问题,踊跃

Web开发者不可不知的15条编码原则

 HTML已经走过了近20的发展历程.从HTML4到XHTML,再到最近十分火热的HTML5,它几乎见证了整个互联网的发展.但是,即便到现在,有很多基础的概念和原则依然需要开发者高度注意.下面,向大家介绍这些应该遵循的开发原则. 1.善用DIV来布局 当开发一个Web页面时,要考虑第一件事就是区分页面重点.将这些内容用DIV标签包含起来,页面的代码会呈现出整洁.缩进良好的风格. <div id="header"></div> <div id="b

优秀Web开发者提升开发能力必知的10件事

"开发工作不仅仅只是写代码"这句话来自3EV网站的Dan Frost,他在一篇文章中阐述了开发过程中应该注意的一些事项.原文内容如下: 开发者是创造数字世界的主力军,他们不应该只扮演编程工具的角色,而应该对开发工作有更高的要求.那么,开发者可以从哪些方面提高开发能力呢?下面我就谈一下我的想法.我的建议可能不全面,但希望能够给你带来一些帮助. 1. 不要只盯着代码 如今人人都会写代码.很多业余爱好者也可以搭建网站.编写应用程序,编程已经不再稀奇. 随着网络的普及,许多人只需通过自学就会编

[译] 写给“老派” Web 开发者的“现代” JavaScript 指南

本文讲的是[译] 写给"老派" Web 开发者的"现代" JavaScript 指南, 用 JavaScript 学习 JavaScript.图片来自 learnyounode. 有这样一种守旧的后端 web 开发者,他们很久以前就掌握了诸如 Perl .Python.PHP 或 Java Server Pages 一类的东西,甚至还掌握了 Rails 或者 Django.他们使用巨大的关系型数据库构建 JSON API 服务,呃甚至是 XML. 他是个后端开发者,

Web 开发者的 HTTP/2 性能优化指南

本文讲的是Web 开发者的 HTTP/2 性能优化指南, HTTP/2改变了Web开发者优化网站的方式.在HTTP/1.1中,为了压缩5%的页面加载速度,人们会通过雪碧图.内联代码.细分域名.合并代码等方式,来想方设法地优化TCP连接和HTTP请求. HTTP/2带来了些许便利.一般网站无需复杂的构建和部署流程即可获得30%的性能提升.在这篇文章中,我们会讨论HTTP/2下网站优化的最佳实践. HTTP/1.1中的Web优化 HTTP/1.1中大多数的网站性能优化技术都是减少向服务器发起的HTT

WEB 开发者应该有哪些必备的技能?

WEB 开发者应该有哪些必备的技能? WEB开发本身涵盖了许多领域的许多技术,那么,有哪些是WEB开发者必备的技能呢?这是一个 Quora 上用户提出的问题,其中Ellyse Taylor的回答获得了1900+的赞同. 可能很多人对下面这个列表中的大部分内容都已经了解了,但其中必定有一些是你之前没有看到过,或者没有完全理解的,甚至有些你可能从来没听说过. 1. 界面和用户体验 注意,浏览器的实现标准是不一致的,请确保你的网站能够兼容所有主流的浏览器.最少需要测试的有 Gecko 引擎(Firef

web开发者不可错过的11个JavaScript工具

JavaScript即将接管Web世界,如雨后春笋版冒出的JavaScript工具更是让web开发者无所适从. 本文我们为大家推荐11款崭露头角但功能强大的JavaScript工具,是追逐web设计新潮流(界面简洁.面向移动.强调互动)中不可或缺的好帮手. 一.Meteor Meteor web应用开发框架定义的七大开发天条为现代软件开发打下良好基础,例如Meteor采用开源社区的方式培育插件资源,其他天条还包括:设计简单的API.仅通过网络传送数据.使用统一的开发语言等.Meteor还开发了一