开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
Web 开发者需要知道的 12 个终端命令 - 开源中国社区
当前位置:技术翻译 »  Web/WAP应用开发 »  中英文对照

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

英文原文:12 Terminal Commands Every Web Developer Should Know About

The terminal is one of the most important productivity tools in a developer's arsenal. Mastering it can have a very positive effect on your workflow, as many everyday tasks get reduced to writing a simple command and hitting Enter.

In this article we've prepared for you a collection of Unix commands that will help you get the most out of your terminal. Some of them are built in, others are free tools that are time-tested and can be installed in less than a minute.  

译者信息

译者信息

LeoXu
LeoXu
翻译于 2个月前

0 此译文

其它翻译版本:1(点击译者名切换)
brookstar

终端是开发人员的军火库中最重要的生产力工具之一。把它掌握好了可以对你的工作产生非常积极的影响,比如许多的日常任务就可以简化到只需要编写简单的命令然后按一下 Enter 就可以了。

本文我们会为你奉上一系列的 Unix 命令,它们可以帮助你充分地利用好终端。它们其中的一些是内置的,而其它的则是一些免费的工具,它们都经过了时间的考验,而且安装操作也可以在不到一分钟的时间内完成。

Curl

Curl is a command line tool for making requests over HTTP(s), FTP and dozens of other protocols you may have not heard about. It can download files, check response headers, and freely access remote data.

In web development curl is often used for testing connections and working with RESTful APIs. 

# 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 commands can get much more complicated than this. There are tons of options for controlling headers, cookies, authentication, and more. You can read more about curl in the excellent free book Everything curl.

译者信息

译者信息

LeoXu
LeoXu
翻译于 2个月前

0 此译文

Curl

Curl 是一个命令行工具,用来通过 HTTP(s),FTP 等其它几十种你可能尚未听说过的协议来发起网络请求。它可以下载文件,检查响应消息头以及方便地访问远程数据。

在 Web 开发中, Curl 经常被用来测试连接,还有调用 REST 风格的 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 的用法还可以比这更复杂。它有许多选项可以用来控制消息头,Cookie,身份验证等等这些要素。你可以通过 Everything curl 这本优秀的电子书来了解更多。

Tree

Tree is a tiny command line utility that shows you a visual representation of the files in a directory. It works recursively, going over each level of nesting and drawing a formated tree of all the contents. This way you can quickly glance over and find the files you are looking for.

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

There is also the option to filter the results using a simple regEx-like pattern:

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

译者信息

译者信息

LeoXu
LeoXu
翻译于 2个月前

1 此译文

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

它还拥有使用一种类正则表达式的模式来对结果集进行过滤的选项。

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

Tmux

According to its Wiki, Tmux is a terminal multiplexer, which translated in human language would mean that it's a tool for connecting multiple terminals to a single terminal session.

A Tmux Terminal With 3 Split Screens

It lets you switch between programs in one terminal, add split screen panes, and attach multiple terminals to the same session, keeping them in sync. Tmux is especially useful when working on a remote server, as it lets you create new tabs without having to log in again.

译者信息

译者信息

LeoXu
LeoXu
翻译于 2个月前

1 此译文

Tmux

根据维基的描述,Tmux 是一个终端复用器,说人话就是,它是一个可以将多个终端连接到单个终端会话的工具。

一个 Tmux 终端带有三个分屏的效果

它让你可以在一个终端中进行程序之间的切换,添加分屏窗格,还有就是将多个终端连接到同一个会话,使它们保持同步。 当你在远程服务器上工作时,Tmux 特别有用,因为它可以让你创建新的选项卡,然后在选项卡之间切换,而无需反反复复的退出然后登录。

Disk usage - du

The du command generates reports on the space usage of files and directories. It is very easy to use and can work recursively, going through each subdirectory and returning the individual size of every file.

A common use case for du is when one of your drives is running out of space and you don't know why. Using this command you can quickly see how much storage each folder is taking, thus finding the biggest memory hoarder.

# 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

There is also a similar command called df (Disk Free) which returns various information about the available disk space (the opposite of du).

译者信息

译者信息

LeoXu
LeoXu
翻译于 2个月前

2 此译文

Disk usage - 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),它会返回关于可用磁盘空间的各种信息(与 du 正好相反)。

Git

Git is by far the most popular version control system right now. It is one of the defining tools of modern web dev and we just couldn't leave it out of our list.

There are plenty of third-party apps and tools available but most people prefer to access git natively though the terminal. The git CLI is really powerful and can handle even the most tangled project history.

If you want to learn more about git, we recommend checking out our tutorial Learn Git in 30 Minutes.

译者信息

译者信息

LeoXu
LeoXu
翻译于 2个月前

0 此译文

Git

Git 是迄今为止最流行的版本控制系统。它是现代 Web 开发的指定工具之一,我们根本没办法把它从列表中给删掉。

尽管有很多的第三方应用和工具可用,但是大多数人还是喜欢通过终端对 git 来进行本地访问。git CLI 真的很强大,可以用来处理那些盘根错节的项目历史。

如果想了解更多的关于 git 的信息,建议你看看我们的教程“30 分钟学会用 Git”。

Tar

Tar is the default Unix tool for working with file archives. It allows you to quickly bundle multiple files into one package, making it easier to store and move them later on.

tar -cf archive.tar file1 file2 file3

Using the -x option it can also extract existing .tar archives.

tar -xf archive.tar

Note that most other formats such as .zip and .rar cannot be opened by tar and require other command utilities such as unzip.

Many modern Unix systems run an expanded version of tar (GNU tar) that can also perform file size compression:

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

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

If your OS doesn't have that version of tar, you can use gzip, zcat or compress to reduce the size of file archives.     

译者信息

译者信息

LeoXu
LeoXu
翻译于 2个月前

0 此译文

Tar

Tar 是用来处理文件压缩的默认 Unix 工具。它能让你快速的将多个文件打成一个包,这样在后续就更加容易存储和移动它们了。

tar -cf archive.tar file1 file2 file3

使用 -x 选项可以对现有的 .tar 压缩包进行解压缩操作。

tar -xf archive.tar

注意大多数其它的格式,像 .zip 和 .rar 这些,都不能使用 tar 来打开,而是需要用其它的像 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 has several built in hashing commands including md5sum, sha1sum and others. These command line tools have various applications in programming, but most importantly they can be used for checking the integrity of files.

For example, if you have downloaded an .iso file from an untrusted source, there is some chance that the file contains harmful scripts. To make sure the .iso is safe, you can generate an md5 or other hash from it.

md5sum ubuntu-16.04.3-desktop-amd64.iso 

0d9fe8e1ea408a5895cbbe3431989295  ubuntu-16.04.3-desktop-amd64.iso

You can then compare the generated string to the one provided from the original author (e.g. UbuntuHashes). 

译者信息

译者信息

边城
边城
翻译于 2个月前

0 此译文

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 is a more powerful alternative to the built-in top task manager. It provides an advanced interface with many options for monitoring and controlling system processes. 

The htop task manager in action.

Although it runs in the terminal, htop has very good support for mouse controls. This makes it much easier to navigate the menus, select processes, and organize the tasks thought sorting and filtering.

译者信息

译者信息

边城
边城
翻译于 2个月前

1 此译文

Htop

Htop 是个比内置的 top 任务管理更强大的工具。它提供了带有诸多选项的高级接口用于监控系统进程。

运行中的 htop 任务管理器

虽然 htop 在终端中运行,但它对鼠标操作支持良好。所以使用 htop 的菜单导航、选择进程,以及通过排序和过滤来管理任务都很容易。

Ln

Links in Unix are similar to shortcuts in Windows, allowing you to get quick access to certain files. Links are created via the ln command and can be two types: hard or symbolic. Each kind has different properties and is used for different things (read more).

Here is an example of one of the many ways you can use links. Let's say we have a directory on our desktop called Scripts. It contains neatly organized bash scripts that we commonly use. Each time we want to call one of our scripts we would have to do this:

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

Obviously, this is isn't very convinient as we have to write the absolute path every time. Instead we can create a symlink from our Scripts folder to /usr/local/bin, which will make the scripts executable from all directories.

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

With the created symlink we can now call our script by simply writing its name in any opened terminal.

git-cleanup

译者信息

译者信息

LeoXu
LeoXu
翻译于 2个月前

0 此译文

Ln

Unix 里面的链接同 Windows 中的快捷方式类似,允许你快速地访问到一个特定的文件。链接可以通过 ln 命令创建出来,而且可以有两种类型 : 硬的(hard) 或者符号的(symbolic)。每种类型都有不同的属性而且各有其用途 (了解更多)。

这里有一个示例,展示了使用链接的最常见方式。假如说我们在桌面上有一个目录叫做 Scripts,里面整齐的摆放着我们最常用的 bash 脚本。每次我们想要调用其中的一个脚本的时候,我们会这样做:

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

显然,这样做并不方便,每次我们都得写绝对路径。其实我们可以创建一个 symlink,将 Scripts  文件夹链接到 /usr/local/bin,这样就能让脚本在所有的目录下面都可以执行。

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

有了这个创建好的 symlink,我们现在就可以简单地通过其名称在任意一个打开的终端中执行脚本了。

git-cleanup
顶部