每一个开发人员都应该掌握的 11 个控制台命令

提升您的平常开发效率🚀html

本文是翻译文章,原文点击这里react

命令行使咱们的生活变得更加轻松,由于咱们能够自动化一些常见的任务来提升咱们的效率。咱们只须要执行一些命令而不须要单击图形用户界面(GUI)就能够把咱们想作的事情完成。linux

Unix shell是命令行解释器或shell,可为相似Unix的操做系统提供命令行用户界面。shell既是交互式命令语言又是脚本语言,而且操做系统使用它来使用shell脚本控制系统的执行。web

默认状况下,每一个基于Linux或Mac的操做系统都安装了一个命令行,一般以“ Terminal”为名称。命令行(CLI)使咱们能够轻松地移动和重命名文件,对数据进行排序以及在计算机中浏览。shell

好了,让咱们来看看如下这11个命令行技巧,让您的生活更轻松。bash

1. grep

grep "some string" file
复制代码

grep命令在每一个文件中搜索模式。它还会寻找由换行符分隔的模式,而且grep打印与模式匹配的每一行。cookie

img
img

-i选项使咱们可以在给定文件中搜索字符串时不区分大小写。它匹配“ REACT”,“ REact”和“ react”之类的词。编辑器

grep -i "REact" file
复制代码

咱们可使用-c(count)标志找到与给定的字符串/模式匹配的行数。工具

grep -c "react" index.js
复制代码
img
img

这是我在互联网上找到的有关grep命令的有趣且具备教育意义的漫画。url

img
img

另外,变体程序egrepfgrep的做用与grep -Egrep -F是同样的。这些变体已弃用,但为了向后兼容而提供。

您可使用grep作不少事情,想了解更多信息能够查看这份文档

2. ls

ls
复制代码

ls列出当前活动路径中的文件和目录。若是路径名是文件,则ls根据请求的选项显示有关文件的信息。若是路径名是目录,则ls显示有关文件和其中的子目录的信息。

img
img

您可能已经注意到文件显示为灰色,而文件夹为蓝色。这是为了帮助咱们区分文件夹和文件。

3. pwd

pwd
复制代码
img
img

pwd命令用于打印当前工做目录。它会将当前工做目录的完整系统路径打印到标准输出。默认状况下,pwd命令会忽略符号连接,尽管可使用选项显示当前目录的完整物理路径。

4. cat

cat somefile.js
复制代码
img
img

cat命令具备与文本文件有关的三个相关功能:

  • 显示它们
  • 合并副本
  • 创造新的文件

cat的最多见用法是读取文件的内容,而且cat一般是用于此目的的最方便的程序。

在如下示例中,使用输出重定向运算符(由向右指向的尖括号表示)将cat的标准输出重定向到file2

cat somefile > somefile2
复制代码
img
img

5. echo

echo "some text"
复制代码

Linux中的echo命令用于显示做为参数传递的一行文本/字符串。echo是一个内置命令,主要用于 shell 脚本和批处理文件中,以将状态文本输出到屏幕或文件中。

img
img

6. touch

touch somefile
复制代码

touch命令用于建立不包含任何内容的文件。当用户在建立文件时没有要存储的数据时,可使用touch命令。

img
img

你能够注意到,咱们是经过touch来建立文件的,使用cat来查看文件的内容。因为新建立的index2.js文件为空,所以cat不返回任何内容。

如下是cattouch之间的主要区别:

  • cat 用于建立包含内容的文件。
  • touch 建立一个没有任何内容或空文件的文件。请记住,使用 touch命令建立的文件为空。当用户在建立文件时没有要存储的数据时,此命令颇有用。

译者注:

这里做者指的「cat 用于建立包含内容的文件」应该是cat配合>来建立新文件。

7. mkdir

mkdir some-directory
复制代码

mkdir在当前活动路径中建立一个新的空目录。不须要在文本编辑器或GUI中单击,您可使用此命令来建立新文件夹。

img
img

注意:请注意咱们如何使用前面的ls命令来查看目录。

7.1 rm

rm someFile
复制代码

rm表明remove。正如它的字面意思那样,rm的做用是删除,或者说,删除文件。

img
img

默认状况下,rm命令不会删除目录。您须要传递-rf标志以删除目录。

rm -rf some-directory
复制代码
img
img

注意:不管目录内部是否包含内容,这都会无条件删除目录。

7.2 rmdir

rmdir some-directory
复制代码

若是目录中没有内容,则rmdir命令将删除目录。

img
img

8. tail

tail somefile
复制代码

tail命令读取文件并输出文件的最后部分(尾巴)。

img
img

在查看崩溃报告或之前的历史记录日志时,tail命令颇有用。这是处理文件日志时有用的示例。

# 输入
tail /var/log/messages
 # 输出
Mar 20 12:42:22 hameda1d1c dhclient[4334]: DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x280436dd)
Mar 20 12:42:24 hameda1d1c avahi-daemon[2027]: Registering new address record for fe80::4639:c4ff:fe53:4908 on eth0.*.
Mar 20 12:42:28 hameda1d1c dhclient[4334]: DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x280436dd)
Mar 20 12:42:28 hameda1d1c dhclient[4334]: DHCPACK from 10.76.198.1 (xid=0x280436dd)
Mar 20 12:42:30 hameda1d1c avahi-daemon[2027]: Joining mDNS multicast group on interface eth0.IPv4 with address 10.76.199.87.
Mar 20 12:42:30 hameda1d1c avahi-daemon[2027]: New relevant interface eth0.IPv4 for mDNS.
Mar 20 12:42:30 hameda1d1c avahi-daemon[2027]: Registering new address record for 10.76.199.87 on eth0.IPv4.
Mar 20 12:42:30 hameda1d1c NET[4385]: /sbin/dhclient-script : updated /etc/resolv.conf
Mar 20 12:42:30 hameda1d1c dhclient[4334]: bound to 10.76.199.87 -- renewal in 74685 seconds.
Mar 20 12:45:39 hameda1d1c kernel: usb 3-7: USB disconnect, device number 2
复制代码

9. wget

wget someurl
复制代码

GNU Wget是一个免费软件包,可以使用HTTP,HTTPS,FTP和FTPS(使用最普遍的Internet协议)检索文件。它是一种非交互式的命令行工具,所以能够轻松地从脚本,CRON做业,终端(不支持X-Windows)等中调用。

img
img

GNU Wget 有不少功能,使得检索大型文件或镜像整个Web或FTP站点变得容易,包括:

  • 可使用REST和RANGE恢复停止的下载
  • 可使用文件名通配符并递归镜像目录
  • 基于NLS的消息文件,适用于多种语言
  • (可选)将下载的文档中的绝对连接转换为相对连接,以便下载的文档能够在本地彼此连接
  • 在大多数相似UNIX的操做系统以及Microsoft Windows上运行
  • 支持HTTP代理
  • 支持HTTP cookies
  • 支持持久的HTTP链接
  • 无人值守/后台操做
  • 使用本地文件时间戳肯定镜像时是否须要从新下载文档
  • GNU Wget是根据 GNU通用公共许可证发行的

阅读官方GNU文档以获取更多信息。

10. find

find path -name filename
复制代码

使用find命令能够快速查找文件或目录。当您正在处理包含数百个文件和多个目录的大型项目时,此功能很是有用。

img
img

搜索特定类型的文件

使用find命令还能够在目录(及其子目录)中搜索相同类型的文件。例如,如下命令将搜索当前工做目录中的全部.js文件。

find . -name "*.js"
复制代码
img
img

11. mv

mv somefile /to/some/other/path
复制代码

mv命令将文件或目录从一个位置移动到另外一个位置。mv命令支持移动单个文件,多个文件和目录。

img
img

好了,以上就是开发人员应该掌握的 11 个控制台命令。感谢您的阅读,但愿您学到了一些新知识。若是您知道更好用的命令行技巧,能够评论中留言,咱们一块儿成长!

相关文章
相关标签/搜索