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

简介: 对于开发人员来说,终端是最重要的工具之一。掌握终端,能够有效的提升开发人员的工作流程。使用终端,许多日常任务都被简化为了编写简单的命令并按下 Enter 按钮。   本文列举了一系列 Linux 命令,旨在帮助大家充分利用终端这个工具。

对于开发人员来说,终端是最重要的工具之一。掌握终端,能够有效的提升开发人员的工作流程。使用终端,许多日常任务都被简化为了编写简单的命令并按下 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编辑器,你在用哪个?

 

相关文章
|
10天前
|
编解码 前端开发 JavaScript
构建高效响应式Web界面:现代前端框架的比较
【4月更文挑战第9天】在移动设备和多样屏幕尺寸盛行的时代,构建能够适应不同视口的响应式Web界面变得至关重要。本文深入探讨了几种流行的前端框架——Bootstrap、Foundation和Tailwind CSS,分析它们在创建响应式设计中的优势与局限。通过对比这些框架的栅格系统、组件库和定制化能力,开发者可以更好地理解如何选择合适的工具来优化前端开发流程,并最终实现高性能、跨平台兼容的用户界面。
|
11天前
|
前端开发 JavaScript 关系型数据库
从前端到后端:构建现代化Web应用的技术探索
在当今互联网时代,Web应用的开发已成为了各行各业不可或缺的一部分。从前端到后端,这篇文章将带你深入探索如何构建现代化的Web应用。我们将介绍多种技术,包括前端开发、后端开发以及各种编程语言(如Java、Python、C、PHP、Go)和数据库,帮助你了解如何利用这些技术构建出高效、安全和可扩展的Web应用。
|
12天前
|
编解码 前端开发 JavaScript
Web 前端开发中的最佳实践
本文将介绍 Web 前端开发中的最佳实践,包括代码组织、性能优化、响应式设计和用户体验等方面。通过遵循这些实践,开发人员可以提高开发效率,优化用户体验,并减少潜在的问题和错误。
|
4天前
|
前端开发 搜索推荐 数据安全/隐私保护
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
14 1
|
5天前
|
前端开发 JavaScript vr&ar
前端新技术探索:WebAssembly、Web Components与WebVR/AR
【4月更文挑战第12天】WebAssembly、Web Components和WebVR/AR正重塑Web应用的未来。WebAssembly允许C/C++等语言在Web上高效运行,提供接近原生的性能,如游戏引擎。Web Components通过Custom Elements和Shadow DOM实现可复用的自定义UI组件,提升模块化开发。WebVR/AR(现WebXR)则让VR/AR体验无需额外应用,直接在浏览器中实现。掌握这些技术对前端开发者至关重要。
13 3
|
26天前
|
机器学习/深度学习 前端开发 算法
利用机器学习优化Web前端性能的探索与实践
本文将介绍如何利用机器学习技术来优化Web前端性能,探讨机器学习在前端开发中的应用,以及通过实际案例展示机器学习算法对前端性能优化的效果。通过结合前端技术和机器学习,提升Web应用的用户体验和性能表现。
|
28天前
|
移动开发 前端开发 HTML5
Web前端全栈HTML5通向大神之路
本套课程共三大阶段,六大部分,是WEB前端、混合开发与全栈开发必须要掌握的技能,从基础到实践,是从编程小白成长为全栈大神的最佳教程!
36 3
Web前端全栈HTML5通向大神之路
|
1月前
|
监控 前端开发 JavaScript
构建高性能Web应用:前端性能优化的关键策略与实践
本文将深入探讨前端性能优化的关键策略与实践,从资源加载、渲染优化、代码压缩等多个方面提供实用的优化建议。通过对前端性能优化的深入剖析,帮助开发者全面提升Web应用的用户体验和性能表现。
|
16天前
|
监控 JavaScript 前端开发
《理解 WebSocket:Java Web 开发的实时通信技术》
【4月更文挑战第4天】WebSocket是Java Web实时通信的关键技术,提供双向持久连接,实现低延迟、高效率的实时交互。适用于聊天应用、在线游戏、数据监控和即时通知。开发涉及服务器端实现、客户端连接及数据协议定义,注意安全、错误处理、性能和兼容性。随着实时应用需求增加,WebSocket在Java Web开发中的地位将更加重要。
|
26天前
|
Web App开发 前端开发 开发工具
介绍Web开发的基础知识
介绍Web开发的基础知识
26 7