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 文件中去。


作者:佚名

来源:51CTO

相关文章
|
2月前
|
存储 安全 API
12种最基本Web API:开发者的必学清单⭐
这些Web API 为创建高度互动和用户友好的网页应用开辟了无限可能。从存储和支付到地理位置和图形,掌握这些 API 可以提升您的Web开发技能。
123 2
|
3月前
|
安全 API 开发者
Web 开发新风尚!Python RESTful API 设计与实现,让你的接口更懂开发者心!
在当前的Web开发中,Python因能构建高效简洁的RESTful API而备受青睐,大大提升了开发效率和用户体验。本文将介绍RESTful API的基本原则及其在Python中的实现方法。以Flask为例,演示了如何通过不同的HTTP方法(如GET、POST、PUT、DELETE)来创建、读取、更新和删除用户信息。此示例还包括了基本的路由设置及操作,为开发者提供了清晰的API交互指南。
115 6
|
3月前
|
安全 Java PHP
Web安全-命令执行漏洞
Web安全-命令执行漏洞
37 2
|
3月前
|
机器学习/深度学习 安全 网络协议
Web安全-Linux网络命令
Web安全-Linux网络命令
34 1
|
4月前
|
搜索推荐 API 数据库
揭秘!Bottle框架如何以极简之姿,重塑Web开发格局,让开发者爱不释手?
【8月更文挑战第31天】在互联网飞速发展的今天,Bottle凭借其独特的简约理念,成为重塑Web开发格局的创新力量。与繁重的传统框架不同,Bottle核心文件仅数千行,却能支撑完整应用,让开发者快速上手,专注业务逻辑。其直观的API设计使Web开发变得异常简单,无需复杂配置即可快速搭建Web服务。此外,Bottle还具有强大的可扩展性,可通过集成第三方库满足复杂需求。
42 1
|
4月前
|
前端开发 JavaScript API
【独家揭秘】Bottle框架为何能俘获开发者的心?三大实战案例带你领略Web开发新境界!
【8月更文挑战第31天】Bottle是一款轻量级Python Web框架,以简单高效著称,秉持极简设计,适合快速开发小型项目或构建API服务。本文通过具体代码示例展示Bottle框架的独特魅力,从安装到创建应用、路由设置、模板渲染及表单处理等方面进行详细介绍,帮助读者轻松上手并掌握Bottle的应用技巧。
75 1
|
4月前
|
JSON 定位技术 数据格式
web GIS神器,一行命令快捷构建精灵图服务
web GIS神器,一行命令快捷构建精灵图服务
|
4月前
|
前端开发 JavaScript C#
C#开发者的新天地:Blazor如何颠覆传统Web开发,打造下一代交互式UI?
【8月更文挑战第28天】Blazor 是 .NET 生态中的革命性框架,允许使用 C# 和 .NET 构建交互式 Web UI,替代传统 JavaScript。本文通过问答形式深入探讨 Blazor 的基本概念、优势及应用场景,并指导如何开始使用 Blazor。Blazor 支持代码共享、强类型检查和丰富的生态系统,简化 Web 开发流程。通过简单的命令即可创建 Blazor 应用,并利用其组件化和数据绑定特性快速搭建界面。无论对于 .NET 还是 Web 开发者,Blazor 都是一个值得尝试的新选择。
178 1
|
4月前
|
数据库 开发者 Java
Hibernate映射注解的魔力:实体类配置的革命,让你的代码量瞬间蒸发!
【8月更文挑战第31天】Hibernate 是一款出色的对象关系映射框架,简化了 Java 应用与数据库的交互。其映射注解让实体类配置变得直观简洁。本文深入剖析核心概念与使用技巧,通过示例展示如何简化配置。
55 0
|
4月前
|
Java 缓存 数据库连接
揭秘!Struts 2性能翻倍的秘诀:不可思议的优化技巧大公开
【8月更文挑战第31天】《Struts 2性能优化技巧》介绍了提升Struts 2 Web应用响应速度的关键策略,包括减少配置开销、优化Action处理、合理使用拦截器、精简标签库使用、改进数据访问方式、利用缓存机制以及浏览器与网络层面的优化。通过实施这些技巧,如懒加载配置、异步请求处理、高效数据库连接管理和启用GZIP压缩等,可显著提高应用性能,为用户提供更快的体验。性能优化需根据实际场景持续调整。
84 0