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

简介:

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

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

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

Curl

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

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


 
 
  1. Fetch the headers of a URL. 
  2. curl -I http://google.com 
  3. HTTP/1.1 302 Found 
  4. Cache-Control: private 
  5. Content-Type: text/html; charset=UTF-8 
  6. Referrer-Policy: no-referrer 
  7. Location: http://www.google.com/?gfe_rd=cr&ei=0fCKWe6HCZTd8AfCoIWYBQ 
  8. Content-Length: 258 
  9. Date: Wed, 09 Aug 2017 11:24:01 GMT 
  10.  
  11. # Make a GET request to a remote API. 
  12. curl http://numbersapi.com/random/trivia 
  13. 29 is the number of days it takes Saturn to orbit the Sun.  

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

Tree

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


 
 
  1. tree 
  2. ├── css 
  3. │   ├── bootstrap.css 
  4. │   ├── bootstrap.min.css 
  5. ├── fonts 
  6. │   ├── glyphicons-halflings-regular.eot 
  7. │   ├── glyphicons-halflings-regular.svg 
  8. │   ├── glyphicons-halflings-regular.ttf 
  9. │   ├── glyphicons-halflings-regular.woff 
  10. │   └── glyphicons-halflings-regular.woff2 
  11. └── js 
  12.     ├── bootstrap.js 
  13.     └── bootstrap.min.js  

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


 
 
  1. tree -P '*.min.*' 
  2. ├── css 
  3. │   ├── bootstrap.min.css 
  4. ├── fonts 
  5. └── js 
  6.     └── bootstrap.min.js  

Tmux

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

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

du

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

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


 
 
  1. # Running this will show the space usage of each folder in the current directory. 
  2. # The -h option makes the report easier to read
  3. # -s prevents recursiveness and shows the total size of a folder. 
  4. # The star wildcard (*) will run du on each file/folder in current directory. 
  5.   
  6. du -sh * 
  7.   
  8. 1.2G    Desktop 
  9. 4.0K    Documents 
  10. 40G     Downloads 
  11. 4.0K    Music 
  12. 4.9M    Pictures 
  13. 844K    Public 
  14. 4.0K    Templates 
  15. 6.9M    Videos  

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

Git

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

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

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

Tar

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


 
 
  1. tar -cf archive.tar file1 file2 file3 

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


 
 
  1. tar -xf archive.tar 

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

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


 
 
  1. Create compressed gzip archive. 
  2. tar -czf file.tar.gz inputfile1 inputfile2 
  3.   
  4. # Extract .gz archive. 
  5. tar -xzf file.tar.gz  

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

md5sum

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

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


 
 
  1. md5sum ubuntu-16.04.3-desktop-amd64.iso 
  2.  
  3. 0d9fe8e1ea408a5895cbbe3431989295 ubuntu-16.04.3-desktop-amd64.iso  

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

Htop

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

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

Ln

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

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


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

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


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

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


 
 
  1. git-cleanup 

SSH

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

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


 
 
  1. ssh username@remote_host 

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


 
 
  1. ssh username@remote_host ls /var/www 
  2.  
  3. some-website.com 
  4.  
  5. some-other-website.com  

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

Grep

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

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


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

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

Alias

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


 
 
  1. Create an alias for starting a local web server. 
  2. alias server="python -m SimpleHTTPServer 9000" 
  3.   
  4. Instead of typing the whole command simply use the alias. 
  5. server  
  6.   
  7. Serving HTTP on 0.0.0.0 port 9000 ...  

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

前端开发工具推荐

SpreadJS 纯前端表格控件是基于 HTML5 的 Java 电子表格和网格功能控件,提供了完备的公式引擎、排序、过滤、输入控件、数据可视化、Excel 导入/导出等功能,适用于 .NET、Java 和移动端等各平台在线编辑类 Excel 功能的表格程序开发。

总结

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


本文作者:佚名

来源:51CTO

相关文章
|
2月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
125 3
|
28天前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
138 45
|
9天前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
25 2
|
23天前
|
前端开发 API 开发者
Python Web开发者必看!AJAX、Fetch API实战技巧,让前后端交互如丝般顺滑!
在Web开发中,前后端的高效交互是提升用户体验的关键。本文通过一个基于Flask框架的博客系统实战案例,详细介绍了如何使用AJAX和Fetch API实现不刷新页面查看评论的功能。从后端路由设置到前端请求处理,全面展示了这两种技术的应用技巧,帮助Python Web开发者提升项目质量和开发效率。
39 1
|
26天前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
29天前
|
安全 数据库 开发者
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第26天】本文详细介绍了如何在Django框架下进行全栈开发,包括环境安装与配置、创建项目和应用、定义模型类、运行数据库迁移、创建视图和URL映射、编写模板以及启动开发服务器等步骤,并通过示例代码展示了具体实现过程。
43 2
|
2月前
|
设计模式 测试技术 持续交付
开发复杂Web应用程序
【10月更文挑战第3天】开发复杂Web应用程序
39 2
WK
|
29天前
|
安全 Java 编译器
C++和Java哪个更适合开发web网站
在Web开发领域,C++和Java各具优势。C++以其高性能、低级控制和跨平台性著称,适用于需要高吞吐量和低延迟的场景,如实时交易系统和在线游戏服务器。Java则凭借其跨平台性、丰富的生态系统和强大的安全性,广泛应用于企业级Web开发,如企业管理系统和电子商务平台。选择时需根据项目需求和技术储备综合考虑。
WK
54 0
|
2月前
|
Java PHP
PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。理解其垃圾回收机制有助于开发高效稳定的PHP应用。
【10月更文挑战第1天】PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。其垃圾回收机制包括引用计数与循环垃圾回收,对提升应用性能和稳定性至关重要。本文通过具体案例分析,详细探讨PHP垃圾回收机制的工作原理,特别是如何解决循环引用问题。在PHP 8中,垃圾回收机制得到进一步优化,提高了效率和准确性。理解这些机制有助于开发高效稳定的PHP应用。
47 3