1. 首页

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

命令行使我们的生活变得更加轻松,因为我们可以自动化一些常见的任务来提高我们的效率。我们只需要执行一些命令而不需要单击图形用户界面(GUI)就可以把我们想做的事情完成。

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

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

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

1. grep


grep "some string" file

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

img

img

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


grep -i "REact" file

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


grep -c "react" index.js

img

img

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

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

Js中文网 – 前端进阶资源教程 www.javascriptC.com,typescript 中文文档
一个帮助开发者成长的社区,你想要的,在这里都能找到


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 个控制台命令。感谢您的阅读,希望您学到了一些新知识。如果您知道更好用的命令行技巧,可以评论中留言,我们一起成长!

作者:去冲浪鸭
链接:https://juejin.im/post/5dfc3b0de51d4557ea02b6c4

看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「画漫画的程序员」,公众号后台回复「资源」 免费领取我精心整理的前端进阶资源教程

JS中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。欢迎热爱技术的你一起加入交流与学习,JS中文网的使命是帮助开发者用代码改变世界

本文著作权归作者所有,如若转载,请注明出处

转载请注明:文章转载自「 Js中文网 · 前端进阶资源教程 」https://www.javascriptc.com

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

链接:https://www.javascriptc.com/3187.html

« 生产环境下的 Node.js 日志记录方案
面试回答问题的技巧»
Flutter 中文教程资源

相关推荐

QR code