0

0

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

王林

王林

发布时间:2023-06-17 09:38:56

|

1524人浏览过

|

来源于51CTO.COM

转载

拥有扎实的编程基础显然是一位优秀软件工程师的必备素质。掌握至少一门编程语言是非常重要的,无论是解释型语言如python,还是编译型语言如c++。然而,这只是成为一个真正全面发展的工程师的一个方面。如果你迷失在shell环境中,那些基础知识也就没有任何用处。

Bash命令的灵活应用可以使你进入传统编程语言无法涉及的领域。有时候,你实际上并不需要使用更强大的编程语言。使用Shell,您可以更快速、更便捷地完成所需任务,而且无需额外的依赖项。

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

在本文中,我们将探讨一些非常实用的Bash命令。这些命令可以帮助你避免编写比实际需要更多的代码。下次遇到问题时,不妨试试这些命令。

1、循环命令

linuxmi@linuxmi:~/www.linuxmi.com$ while true; do echo "hello $(date)"; sleep 1; done

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

你不必为了循环一些东西而跳进一个庞大的编程语言中。在Bash中很容易实现定期获得输出或对基本数据进行迭代。

这行代码演示了如何在Shell中构建一个简单的无限while循环。你只需用分号把所有内容拼接在一起,就完成了。你可以随意更改执行的命令,并相应地调整sleep的计时器。

当你运行这个命令时,你应该在终端上看到日期每秒变化一次。

2、输出重定向

linuxmi@linuxmi:~/www.linuxmi.com$ echo "hello linux迷 www.linuxmi.com" | tee linuxmi.rs | less

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

tee命令可以做到在其他语言中需要多行代码才能实现的功能。使用这个方便的小工具,你可以将某些输入发送到文件或其他命令,随后再将其传递给另一个命令。它实际上就像在水管中安装一个“T”形阀门。你可以将一部分输出引出,而它会继续沿着管道流动。

上面的示例将从echo命令获取的“hello linux迷 www.linuxmi.com”文本发送到linuxmi.rs文件,然后继续将其发送到less。一种重写方式是:你将获得一个带有输出内容的文件,同时可以在屏幕上使用less命令进行查看。

3、压缩文件

linuxmi@linuxmi:~/www.linuxmi.com$ tar -czvf linuxmi.tar.gz linuxmi.sh

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

在命令行上移动文件和目录是一项重要的技能。如果你正在处理某个东西并需要在主机之间移动它,或者只是想压缩文件以进行离线存储,tar命令是你的好帮手。

使用以上指令和选项,可以将一个目录压缩为一个全新的tar.gz压缩包。现在你可以快速地带上你的文件了。

4、计数

linuxmi@linuxmi:~/www.linuxmi.com$ echo -e "linuxmi\n linuxmi.com\n www.linuxmi.com\n www.93139.com" > linuxmi.txt | wc -l

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

想知道文件中有多少行?很简单。使用wc实用程序。“word count”(单词计数)是它实际上的含义,但是它也可以用来计算许多其他内容,比如行数。

上面的片段将四行文本输出到一个文件中,然后使用wc计算行数。如果你需要操作一定数量的行或确认进程是否向文件中写入了新行,这个工具将非常实用。

5、生成数字

linuxmi@linuxmi:~/www.linuxmi.com$ seq 95 100

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

如此简单,但非常有帮助。在Bash中生成数字非常容易,只需使用seq实用程序。这个巧妙的小命令可输出数字序列,你可以在循环、文本文件或其他需要数字列表的地方使用。

艺映AI
艺映AI

艺映AI - 免费AI视频创作工具

下载

你也可以根据需要更改分隔符:

seq -s " " 1 10

或者

echo {0..10}

这将以空格而不是默认的换行符分隔所有数字。你也可以使用echo命令和..操作符获得相同类型的结果。

6、管理你的SSH密钥

linuxmi@linuxmi:~/www.linuxmi.com$ eval $(ssh-agent) && ssh-add && ssh-add -l

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

对SSH密钥的基本了解和如何管理它们是绝对必要的。你会发现了解ssh-add和ssh-agent实用程序可以比你想象的更加有益。

上述命令执行了几个重要的操作:

  • eval命令将为你执行ssh-agent,并确保它在后台运行。
  • ssh-add命令将添加你的默认SSH密钥。如果你为默认密钥设置了密码,它将提示你输入密码。
  • 最后,ssh-add -l命令显示当前在你的代理中添加的所有密钥。

这个简单的一行命令确保你的代理工作正常,并包含了正确的密钥。当你需要连接到某个服务或获取一些代码时,下一步就可以直接开始了。

7、查找过去的命令

linuxmi@linuxmi:~/www.linuxmi.com$ history | grep "top"

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

或者按下CTRL + R,然后输入top

还记得很久以前运行的那个命令吗?我也不记得了。在历史记录中搜索它吧。

如果你像我一样记忆力不太好,那么history命令非常有用。它会显示当前终端会话中所有已运行的命令列表。反向交互式搜索或grep工具的真正威力在于能够找到之前执行的命令。

如果你只是想查看命令历史记录而不是执行它,你可以使用grep搜索。要统一搜索和执行操作,你可以使用CTRL + R的反向交互式搜索历史记录组合键。一旦按下快捷键,一个交互提示符就会出现,当你开始输入命令时,控制台会显示相应的匹配命令。

8、将多个命令作为一个整体传递

linuxmi@linuxmi:~/www.linuxmi.com$ history | grep "top"

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

有时Bash会变得有点奇怪。变量插值可能出错,嵌套引号可能会混乱且难以跟踪。情况将变得更加复杂,尤其是当你需要在不同的二进制文件或服务中传递命令字符串时。在这种情况下,你可以使用bash命令将一组命令作为单个实体进行评估。

这个指令将接收纯文本字符串,然后按照常规的Bash语法来进行解析。对于外部shell来说,你只是运行一个命令并传递一个参数,但实际上你是在指示Bash解析多个命令的字符串并执行它们。

相关专题

更多
云朵浏览器入口合集
云朵浏览器入口合集

本专题整合了云朵浏览器入口合集,阅读专题下面的文章了解更多详细地址。

0

2026.01.20

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

20

2026.01.20

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

62

2026.01.19

java用途介绍
java用途介绍

本专题整合了java用途功能相关介绍,阅读专题下面的文章了解更多详细内容。

87

2026.01.19

java输出数组相关教程
java输出数组相关教程

本专题整合了java输出数组相关教程,阅读专题下面的文章了解更多详细内容。

39

2026.01.19

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

10

2026.01.19

xml格式相关教程
xml格式相关教程

本专题整合了xml格式相关教程汇总,阅读专题下面的文章了解更多详细内容。

13

2026.01.19

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

19

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

160

2026.01.18

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 2.8万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.2万人学习

Kotlin 教程
Kotlin 教程

共23课时 | 2.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号