文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何在命令行上舒适地生存?

2024-11-30 09:56

关注

有时我与一些害怕使用命令行的朋友交谈,我感到自己给不出好的建议(我已经使用命令行太长时间了),因此我向一些 Mastodon 上的人提出了以下问题:

如果在过去一到三年内,你刚刚不再害怕使用命令行了,是什么帮助了你?

(如果你不记得,或者你已经使用命令行舒适地工作了 15 年,则无需回答——这个问题不适用于你 😃)

这个列表还不如我希望的那么长,但我希望通过发布它来收集更多的答案。显然,并没有一个单一的方法适用于所有人,不同的人会选择不同的路径。

我认为舒适使用命令行有三个方面:减少风险动机资源。我将先谈谈减少风险,然后是一些动机,并列出一些资源。

减少风险的方式

很多人(没错!)对在命令行上意外执行了一些无法撤销的破坏性操作感到担心。

以下是一些人们提到的帮助他们减少风险的策略:

这些策略有助于降低在命令行上引发不可逆操作的风险。

杀手级应用程序

一些人提到了一个“杀手级命令行应用程序”,这激励他们开始花更多时间在命令行上。例如:

还有一些人提到他们对图形界面工具感到失望(例如使用了所有内存,并使计算机崩溃的重型集成开发环境),并因此有动机用更轻量级的命令行工具替代它们。

激发人们的命令行技巧

有人提到被其他人在命令行上展示的酷炫功能所激励,例如:

explainshell

有几个人提到了 explainshell,它可以让你粘贴任何命令行指令,并将其分解成不同的部分解释。

命令历史、制表符补全等等

有很多小技巧和窍门可以使在命令行上工作更容易,例如:

fzf

很多人提到使用 fzf 作为模糊搜索 Shell 历史记录的更好方法。除了作为更好的模糊搜索 Shell 历史记录的工具,人们还提到了一些其他用途:

一般的模式是使用 fzf 来选择某个对象(文件、git 分支、命令行参数),fzf 将所选对象输出到标准输出,然后将其插入作为另一个命令的命令行参数。

你还可以将 fzf 用作工具,自动预览输出并快速迭代,例如:

你可以参考这个思路。

通常,人们会为 fzf 的使用定义别名,比如输入 gcb 或其他命令,以快速选择要检出的 git 分支。

树莓派

一些人开始使用树莓派,这样可以更安全地进行实验,而不必担心损坏计算机(只需擦除 SD 卡然后重新开始即可!)。

漂亮的 Shell 环境

很多人说,当他们开始使用像 oh-my-zsh 或 Fish 这样更用户友好的 Shell 环境时,他们在命令行上感到更舒适。我非常同意这一点 – 我已经使用 Fish 十年了,我非常喜欢它。

在这里还有一些其他的事情可以做:

一些用于美化终端的工具:

漂亮的文件管理器

一些人提到了像 ranger 或 nnn 这样的漂亮的终端文件管理器,这是我之前没有听说过的。

一个有帮助的朋友或同事

一个可以回答初学者问题并给你指点的人是无价的。

通过肩并肩地观察学习

有人提到观察更有经验的人使用终端 - 有很多经验丰富的用户甚至没有意识到自己在做什么,你可以从中学到很多小技巧。

别名

很多人说,为常用任务创建自己的别名或脚本就像是一个神奇的“灵光一现”时刻,因为:

查找示例的备忘单

很多手册页没有示例,例如 openssl s_client 的手册页就没有示例。这使得起步变得更加困难!

人们提到了一些备忘单工具,比如:

例如,openssl 的备忘单 非常棒 - 我认为它几乎包含了我在实际中使用 openssl 时用过的所有内容(除了 openssl s_client 的 -servername 选项)。

有人说他们配置了他们的 .bash_profile,这样每次登录时都会打印出一张备忘单。

不要试图背诵

一些人说他们需要改变自己的方法 - 他们意识到不需要试图记住所有的命令,只需按需查找命令,随着时间的推移,他们会自然而然地记住最常用的命令。

(我最近对学习阅读 x86 汇编有了完全相同的体会 - 我正在上一门课程,讲师说“是的,刚开始时可以每次都查找,最终你会记住最常见的指令。”)

还有一些人说相反的观点 - 他们使用间隔重复应用程序(如 Anki)来记忆常用的命令。

Vim

有人提到他们开始在命令行上使用 Vim 编辑文件,一旦他们开始使用终端文本编辑器,使用命令行处理其他事情也变得更自然。

此外,显然有一个名为 micro 的新编辑器,像是更好的 pico/nano,适用于那些不想学习 Emacs 或 Vim 的人。

桌面上使用 Linux

有人说他们开始使用 Linux 作为他们的日常主力系统,而需要修复 Linux 问题可以帮助他们学习。这也是我在大约 2004 年熟悉命令行的方式(我非常喜欢安装各种不同的 Linux 发行版,以找到我最喜欢的那个),但我猜这不是如今最受欢迎的策略。

被迫仅使用终端

有些人说他们参加了一门大学课程,教授让他们在终端上做所有事情,或者他们自己制定了一个规则,一段时间内必须在终端上完成所有工作。

工作坊

有几个人说像 Software Carpentry 这样的工作坊(面向科学家的命令行、Git 和 Python/R 编程简介)帮助他们更熟悉命令行。

你可以在这里查看 Software Carpentry 课程

书籍和文章

一些提到的材料:

文章:

书籍:

视频:

来源:Linux中国内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯