对于开发者来说,终端是最重要的工具之一。 掌握终端可以有效改善开发人员的工作流程。 使用终端,许多日常任务都简化为编写简单的命令和按下 Enter 按钮。
本文列出了一系列旨在帮助您充分利用终端工具的 Linux 命令。 其中一些终端命令是内置的,另一些是免费工具,经测试可在一分钟内完成安装。
卷曲
Curl 是一个命令行工具,用于通过 HTTP(s)、FTP 和许多其他协议发出请求。 使用 Curl 执行文件下载、检查响应标头以及自由访问远程数据。
在 Web 开发中,Curl 通常与 RESTful API 一起使用来测试连接。
# Fetch the headers of a URL.curl -I http://google.comHTTP/1.1 302 Found Cache-Control: privateContent-Type: text/html; charset=UTF-8Referrer-Policy: no-referrer Location: http://www.google.com/?gfe_rd=cr&ei=0fCKWe6HCZTd8AfCoIWYBQContent-Length: 258Date: Wed, 09 Aug 2017 11:24:01 GMT# Make a GET request to a remote API.curl http://numbersapi.com/random/trivia29 is the number of days it takes Saturn to orbit the Sun.
Curl 命令可能比上面的代码更复杂。 有许多选项可用于控制标头、cookie、身份验证等。要了解更多信息,请阅读 Everything curl。
树
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
您还可以使用简单的正则表达式模式来过滤结果:
tree -P '*.min.*'. ├── css │ ├── bootstrap.min.css ├── fonts └── js └── bootstrap.min.js
多路复用器
根据 wiki,Tmux 是一个终端多路复用器。 通俗地说,它是一个可以将多个终端连接到单个终端会话的工具。
Tmux 允许用户在终端中的程序之间切换,添加屏幕窗格,以及将多个终端连接到同一个会话,使它们保持同步。 Tmux 在远程服务器上工作时特别有用,因为它允许用户创建新选项卡而无需再次登录。
杜
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 Desktop4.0K Documents 40G Downloads4.0K Music4.9M Pictures 844K Public4.0K Templates6.9M Videos
还有一个类似的命令df(Disk Free),使用df会返回可用磁盘空间的各种信息。
混帐
Git 是迄今为止最流行的版本控制系统,也是现代 Web 开发的定义工具之一。
有许多适用于 Git 的第三方应用程序和工具,但大多数人更喜欢通过本地终端访问 git。 git CLI 的功能强大到足以处理最混乱的项目版本控制问题。
想深入了解gitmd5命令,推荐学习《30分钟学Git》。
柏油
Tar 是默认的 Unix 文件归档工具。 Tar 允许用户将多个文件快速捆绑到一个包中,使其更易于存储和移动。
tar -cf archive.tar file1 file2 file3
也可以使用 -x 选项提取现有的 .tar 档案。
tar -xf archive.tar
请注意,大多数其他格式(如 .zip 和 .rar)无法使用 tar 命令打开,需要使用 unzip 等命令才能打开 .zip 和 .rar 等文件。
许多现代 Unix 系统运行扩展版本的 tar (GNU tar),可以帮助压缩可执行文件的大小:
# Create compressed gzip archive. tar -czf file.tar.gz inputfile1 inputfile2 # Extract .gz archive. tar -xzf file.tar.gz
如果您的操作系统没有该版本的 tar,您可以使用 gzip、zcat 或 compress 来减小归档文件的大小。
md5sum
Unix内置了几个哈希命令,包括md5sum、sha1sum等,这些命令行工具在编程中有很多应用,但最重要的功能是可以用来检查文件的完整性。
例如,如果 .iso 文件是从不受信任的来源下载的,它可能包含有害脚本。 为了确保 .iso 是安全的,用户可以从中生成 md5 或其他哈希。
md5sum ubuntu-16.04.3-desktop-amd64.iso 0d9fe8e1ea408a5895cbbe3431989295 ubuntu-16.04.3-desktop-amd64.iso
然后可以将生成的字符串与原作者提供的字符串(例如 UbuntuHashes)进行比较。
顶
Htop 是在任务管理器中创建顶级任务的强大替代方案。 它提供了一个高级界面,其中包含许多用于监视和控制系统进程的选项。
虽然 Htop 在终端中运行,但 Htop 对鼠标控制有很好的支持。 这也使得完成导航菜单、选择进程以及组织排序和过滤等任务变得更加容易。
在
Unix 中的链接类似于 Windows 中的快捷方式,允许用户快速访问某些文件。 链接是使用 ln 命令创建的,有两种类型:硬链接或符号链接。 每个都有不同的属性,用于不同的对象。
下面是一个使用链接的例子。 假设您的桌面上有一个名为 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 更强大、更复杂,它几乎可以执行与字符串相关的任何任务,包括添加、删除或替换字符串。
别名
许多 Unix 命令,包括本文中的一些函数,都是添加所有选项后的一长串命令。 为了让这些长长的命令列表更容易记住,用户可以使用 alias 命令来创建简短的别名:
# Create an alias for starting a local web server. alias server="python -m Simplehttperver 9000" # Instead of typing the whole command simply use the alias. server Serving HTTP on 0.0.0.0 port 9000 ...
只要您保持终端打开,此别名将一直可用。 要使别名永久可用,还可以将 alias 命令添加到 .bashrc 文件中。
前端开发工具推荐
SpreadJS纯前端表格控件是一个基于HTML5的Java电子表格和网格功能控件,提供完整的公式引擎、排序、过滤、输入控件、数据可视化、Excel导入/导出等功能,适用于.NET、Java和终端等各种平台在线编辑类Excel功能的移动表格程序开发。
总结
对于Web开发者来说md5命令,如果以上12个终端命令中有你不熟悉的命令,那么你应该通过本文快速熟悉它们,并逐步将它们应用到你自己的开发工作中。
原文链接: