首页 > 攻略 > 游戏问答 > 详情

让工作更高效的11 个控制台命令,每个开发人员都应该知道

2024-12-22 09:50:46 | 来源: 互联网整理

图片来源:Unsplash

命令行的出现拯救了无数“懒惰的后期程序员”,让生活变得更轻松、更快乐。我们可以将那些繁琐的工作自动化,让程序运行得更加流畅。

我们发送一些命令来完成工作,而无需在图形用户界面(GUI) 中单击。

Unix shell 是一个命令行解释器(或shell),为类Unix 操作系统提供命令行用户界面。 shell 既是一种交互式命令语言,又是一种脚本语言。操作系统使用shell脚本来控制系统的执行。

每个基于Linux 或Mac 的操作系统都默认安装了一个命令行工具,通常称为“终端”。命令行(CLI) 可帮助移动和重命名文件、组织数据以及轻松浏览计算机。

1.mv

$ mvsomefile /到/一些/其他/路径

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

将某些目录从组件移动到utils 目录

2.pwd

$密码

打印出当前工作目录(pwd)

pwd 命令是用于打印当前工作目录的命令行实用程序。输出将当前工作目录的完整系统路径打印到标准输出。默认情况下,pwd 命令忽略符号链接。但有一个选项可以显示当前目录的完整物理路径。

3.cat

$catsomefile.js

使用cat显示文件内容

•显示文件

•合并副本

cat最常见的用途就是读取文件内容,而cat是读取文件内容最方便的方式。

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

$ catsomefile somefile2

使用cat创建文件

4.grep

$ grep'一些字符串'文件

grep 命令用于查找每个文件中的特定模式。它还查找由换行符分隔的模式并输出与该模式匹配的每一行。

使用grep 命令查找文件中的所有React 关键字

-i 选项不区分大小写地搜索给定文件中的字符串。它匹配“REACT”、“REact”和“react”等单词。

$ grep -i 'REact' 文件

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

$ grep -c 'react' index.js

计算“react”一词在文件中出现的次数

下面是我在网上找到的关于grep 命令的有趣且具有教育意义的漫画。

此外,变体命令egrep和fgrep分别相当于grep -E和grep -F。这些变体已被弃用,提供这些变体是为了向后兼容。

5.touch

$touchsomefile

touch命令用于创建一个没有任何内容的文件。当用户创建文件时没有数据可存储时,可以使用touch命令。

通过触摸创建新文件

请注意如何使用touch 创建文件并使用cat 查看其内容。由于新创建的index2.js 文件是空的,cat 不返回任何内容。

以下是cat 和touch 之间的主要区别:

• cat—— 用于创建包含内容的文件。

• touch—— 创建一个没有内容的文件或一个空文件。请记住,使用touch 命令创建的文件是空文件。当用户创建文件时没有要存储的数据时,此命令很有用。

6.echo

$ echo'一些文本'

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

7.tail

$tailsomefile

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

输出最后num 行而不是默认的(10) 行

查看崩溃报告或以前的历史日志时,tail 命令非常有用。下面的示例显示了它在处理文件日志时的有用性。

# 尾部/var/log/messages

3 月20 日12:42:22 hameda1d1c dhclient[4334]: eth0 上的DHCPREQUEST 到255.255.255.255 端口67 (xid=0x280436dd)

3 月20 日12:42:24 hameda1d1c avahi-daemon[2027]: 在eth0.* 上注册fe80:4639:c4ff:fe53:4908 的新地址记录。

3 月20 日12:42:28 hameda1d1c dhclient[4334]: eth0 上的DHCPREQUEST 到255.255.255.255 端口67 (xid=0x280436dd)

3 月20 日12:42:28 hameda1d1c dhclient[4334]: 来自10.76.198.1 的DHCPACK(xid=0x280436dd)

让工作更高效的11 个控制台命令,每个开发人员都应该知道

3 月20 日12:42:30 hameda1d1c avahi-daemon[2027]: 加入接口eth0.IPv4 上的mDNS 多播组,地址为10.76.199.87。

3 月20 日12:42:30 hameda1d1c avahi-daemon[2027]: mDNS 的新相关接口eth0.IPv4。

3 月20 日12:42:30 hameda1d1c avahi-daemon[2027]: 在eth0.IPv4 上注册10.76.199.87 的新地址记录。

3 月20 日12:42:30 hameda1d1c NET[4385]: /sbin/dhclient-script : 更新/etc/resolv.conf

3 月20 日12:42:30 hameda1d1c dhclient[4334]: 绑定到10.76.199.87 —— 74685 秒内更新。

3 月20 日12:45:39 hameda1d1c kernel: usb 3-7: USB 断开连接,设备号2

8.wget

$wgetsomeurl

GNU Wget 是一个免费软件包,可以使用HTTP、HTTPS、FTP 和FTPS(最广泛使用的Internet 协议)检索文件。这是一个非交互式命令行工具,因此可以从脚本、CRON 作业、不支持X-Windows 的终端等轻松调用它。

wget 获取有关网页的信息

GNU Wget 具有许多功能,可以轻松检索大文件或镜像整个Web 或FTP 站点,包括:

•可以使用REST 和RANGE 恢复中止的下载

•可以递归地使用文件名通配符和镜像目录

• 基于NLS 的多种语言消息文件。

• 下载文档中的绝对链接可以转换为相对链接,以便下载的文档可以在本地相互链接

• 可在大多数类UNIX 操作系统以及Microsoft Windows 上运行

•支持HTTP代理

•支持HTTP cookies

•支持持久HTTP连接

•无人值守/后台操作

• 使用本地文件时间戳来确定镜像时是否需要重新下载文档

•GNU Wget 是根据GNU 通用公共许可证的条款发布的。

10.mkdir

$ mkdirsome-目录

正如您所猜测的, mkdir 在当前活动路径中创建一个新的空目录。使用此命令创建新文件夹,而不是在文本编辑器或GUI 中单击。

使用mkdir 创建一个新目录

提示:请注意您如何使用ls 命令查看目录内部。

9.1 rm

$rmsomeFile

rm代表remove——删除,意思是删除文件。

使用rm命令删除文件

默认情况下,rm 命令不删除目录。需要传递-rf 标志才能删除目录。

$rm-rfsome-目录

使用rm 命令删除目录(注意我们传递了删除目录的标志)

提示:该命令将无条件删除该目录,无论该目录是否包含内容。

9.2 rmdir

$rmdirsome-目录

如果目录中没有内容,rmdir 命令将删除该目录。

使用rmdir删除空目录

10.ls

$ls

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

使用ls命令显示当前目录下的所有文件

您可能已经注意到,文件显示为灰色,文件夹显示为青色。这有助于区分文件夹和文件。

11.find

$ findpath -name 文件名

使用find命令可以快速查找文件或目录。当您处理具有数百个文件和多个目录的大型项目时,此命令非常有用。

查找所有名为index.js的文件

查找特定类型的文件

使用find 命令还可以在目录(及其子目录)中搜索相同类型的文件。例如,以下命令将搜索当前工作目录中的所有.js 文件。

$ find .-name '*.js'

查找components目录下的所有.js文件

是不是简短、简洁、非常容易使用?

保持好奇心和求知欲,让我们不断探索和使用新的命令行,在高效(“懒”)的道路上一路奔跑!

用户评论

旧爱剩女

这篇文章内容很有实用性,很多开发人员可能不熟知这些命令,能提高效率确实很棒!

    有19位网友表示赞同!

咆哮

分享了几个我很喜欢的常用命令,还有很多新的我也要学习一下!

    有8位网友表示赞同!

凉凉凉”凉但是人心

虽然工作经验丰富,但我感觉这类文章还是能够学到一些新技巧的。

    有7位网友表示赞同!

滴在键盘上的泪

这个标题很吸引人,内容看起来很有实用价值,打算好好看看里面讲的11个命令。

    有16位网友表示赞同!

此生一诺

对开发人员来说,掌握高效率的控制台命令确实很重要,学习一下这些命令也许能节省很多时间!

    有6位网友表示赞同!

搞搞嗎妹妹

这种类型的文章非常有帮助,可以让我快速掌握一些常用的控制台指令。

    有15位网友表示赞同!

病房

希望能看到更多类似的文章介绍不同编程语言下的控制台命令使用技巧。

    有5位网友表示赞同!

追忆思域。

作为开发者,学习掌握这些高效的控制台命令能够提高日常工作效率。

    有5位网友表示赞同!

无寒

很想知道这篇文章里提到的11个命令具体有什么用途和效果。

    有6位网友表示赞同!

从此我爱的人都像你

分享这类实用的工具总是让人兴奋!期待能找到更多提升开发效率的小技巧!

    有19位网友表示赞同!

话少情在

对想要提高控制台操作效率的开发者来说,这个标题很有吸引力!

    有9位网友表示赞同!

呆檬

相信这篇文章能让很多开发者从中学到一些宝贵的知识。

    有13位网友表示赞同!

面瘫脸

学习新的控制台命令可以拓展开发者的工具箱,提升工作能力和技巧!

    有5位网友表示赞同!

↘▂_倥絔

这篇文章内容肯定能帮助我更好地利用控制台完成开发任务。

    有7位网友表示赞同!

屌国女农

对于新手开发者来说,这类文章非常有入门指南的作用。

    有10位网友表示赞同!

挽手余生ら

掌握高效的控制台操作能够让我在开发过程中更游刃有余!

    有6位网友表示赞同!

七级床震

学习新的命令可以让我更加熟练地使用控制台工具。

    有20位网友表示赞同!

眼角有泪°

这篇文章应该吸引很多开发工程师的关注,因为效率提升是所有程序员的追求!

    有20位网友表示赞同!

孤者何惧

希望这篇文章能够详细介绍每个命令的使用方法和场景应用!

    有19位网友表示赞同!

热门手游排行榜

热门专题