资讯详情

实现原理讲解,我强烈推荐你看看这-22-款超好用的命令行工具

我通过 fish fzf 插件使用它,所以我可以搜索命令历史记录或快速打开文件。这是一个很好的工具,可以每天为我节省很多时间。

https://github.com/jethrokuan/fzf

下载地址:https://github.com/junegunn/fzf

5、fd

上面动图是 find 命令(左)和 fd 使用对比命令(右)。

类似于系统本身 find 但使用起来更简单,搜索速度更快,默认设置也很好。

不管你想找一个叫不管你想不想的名字invoice文件,但不确定文件的扩展名称,或者找到一个存储所有文件 invoice 目录,而不仅仅是一份文件。你可以卷起袖子开始 find 编写那些复杂的正则表达式,也可以直接命令 fd invoice。不管怎样,最简单的。

默认情况下,fd 会忽略隐藏和存在.gitignore列出的文件和目录。大多数时候,这也是我们想要的,但在极少数特殊情况下,如果需要禁止此功能,我会给命令设置一个别名:fda='fd -IH'

你会发现,fd 根据基准测试,命令输出的颜色配置非常漂亮(以上) GIF),它的执行速度甚至比find 命令的还要快。

下载地址:https://github.com/sharkdp/fd

6、ripgrep

上图为 grep(左)与 rg(右)执行命令时的比较。

与上述fd指令类似,ripgrepgrep替代命令的方法, 不过ripgrep执行速度更快,默认配置健全,色彩输出丰富。

它也会跳过被子.gitignore忽略和隐藏文件,因此如有特殊需要,我们可以设置指令别名:rga ='rg -uuu'。它将禁止所有智能筛选,并使用它ripgrep性能和标准 grep 指令一致。

下载地址:https://github.com/BurntSushi/ripgrep

7、htop 和 glances

在 Linux 或 Mac 我们熟悉上显示过程运行状态信息最常用的工具top,它是每个系统管理员的好帮手。此外,即使像我这样主要从事网络开发,检查计算机的运行也是非常有用的。你知道,看看现在是什么 Docker 进程还是 Chrome 这个过程吃掉了你所有的东西 RAM,该怎么办?

htop工具是top工具的绝佳替代品。

top工具是一种非常基本的监控工具,功能有限,所以很多人转向使用它 htop。htop比起top,优点明显——除了功能更完善外,它的色彩搭配也非常丰富,整体使用更友好。

借助 glances,还可以让你一目了然地快速了解系统当前状态。

glances 是htop补充工具。除了列出所有的过程及其 CPU 除了使用内存外,它还可以显示相关系统的其他信息,如:

我选择使用htop筛选和终止过程,因为对我来说,效率提高了很多,我也用过 glances计算机的运行状态可以快速浏览。 API 接口、Web UI 并支持各种导出格式,因此您可以将系统监控改进到一个新的状态 Level。所以这里强烈推荐一波!

htop 下载地址:https://hisham.hm/htop/

glances 下载地址:

https://nicolargo.github.io/glances/

8、virtualenv 和 virtualfish

Virtualenv 是用于在 Python 创建虚拟环境的工具(与内置工具相比)venv我更喜欢模块 Virtualenv)。

VirtualFish 是 Fish Shell 虚拟环境管理器(如果不使用) Fish Shell,请查看 virtualenvwrapper)。它为快速创建、列出或删除虚拟环境提供了许多命令。

virtualenv 下载地址:

https://pypi.org/project/virtualenv/

virtualfish 下载地址:

https://github.com/justinmayer/virtualfish

9、pyenv、nodenv 和 rbenv

pyenv 很容易实现 Python 切换版本。

Pyenv、nodenv 和 rubyenv 它用于管理计算机上的不同版本 Python、Node 和 Ruby 的工具。

假设你想在电脑上安装两个版本 Python。例如,你正在从事两种不同的工作 Python 项目或因特殊情况仍需使用 Python2。不同 Python 计算机上的版本管理非常复杂。您需要确保不同的项目有正确版本的软件依赖包。如果不小心,很容易弄乱这种脆弱的配置,被其他软件包使用的二进制文件覆盖。

该工具为版本管理提供了很多帮助,并使噩梦易于管理。它可以在全局或根据文件夹切换 Python 版本,每个版本都是相互隔离的。

最近,我找到了一个名字 asdf 这个工具可以是 pyenv、nodenv、rbenv 及其他 env 统一管理。它提供了几乎所有编程语言的版本管理。下次我需要为编程语言设置版本管理器时,我会尝试使用它。

pyenv 下载地址:https://github.com/pyenv/pyenv

nodenv 下载地址:https://github.com/nodenv/nodenv

rbenv 下载地址:https://github.com/rbenv/rbenv

10、pipx

Virtualenv 解决了 Python 程序包管理中存在许多问题,但还有一个解决办法。如果我想在整个环境中安装它 Python 软件包(例如,它是一个独立的工具,正如前面提到的glances 工具),然后我会遇到整体安装带来的问题。在虚拟环境之外安装软件包不是一个好主意,将来可能会导致意想不到的问题。另一方面,如果我决定使用虚拟环境,我需要激活虚拟环境。这不是最方便的解决方案。

事实证明,pipx该工具可以解决上述问题。 Python 软件依赖包安装在单独的环境中(因此不存在依赖项冲突的问题)。同时,这些工具提供的 CLI 命令也可用于整个环境。因此,我不需要激活任何环境——pipx这个操作会帮我完成!

假如你想知道 Python 更多关于工具的信息,并想知道如何使用它们,我是 PyCon 2020 会议名为现代 Python 视频开发人员工具包。

这是一个长达两个小时的视频教程,内容涉及如何设置 Python 开发环境、使用工具以及如何从头开始 TODO 应用程序(包括测试和文档) YouTube 观看。

https://www.youtube.com/watch?v=WkUBx3g2QfQ

pipx 下载地址:

https://github.com/pipxproject/pipx

11、ctop 和 lazydocker

ctop 实时监控示例

当你使用 Docker 这两个工具在监控时会很有帮助。ctop是 Docker 容器的顶部接口。它可以为你:

  • 显示运行和停止的容器列表。

  • 显示内存、CPU 利用率和每个容器的其他详细信息窗口(如绑定端口等信息)。

  • 提供快速菜单,方便快速停止、杀死指定容器过程或显示给定容器的日志。

这比你试试docker ps在命令中找到所有这些信息要方便得多。

lazydcker是我最喜欢的 Docker 工具

如果你认为ctop很酷,请你尝试使用 lazydocker 后再做决定!它是一个非常成熟的拥有终端 UI 界面的工具,提供了非常丰富的功能用于管理 Docker。这是我最喜欢的 Docker 管理工具!

ctop 下载地址:https://github.com/bcicen/ctop

lazydocker 下载地址:

https://github.com/jesseduffield/lazydocker

除了几乎每天都在使用的工具以外,我多年来还收集了一些给力的工具,这些工具对于一些特定需求非常好用。比如有的终端工具可以用来将终端操作记录成 GIF(并且可以让你在 GIF 中暂停和复制文本!),还有的终端工具可以用于列出目录结构、连接数据库等,下面我会一一介绍。

12、Homebrew

如果你使用的是 Mac,那我就无需再介绍 Homebrew 了。它是 macOS 上被业界普遍认可的软件包管理器。对了,它还有一个称为 Cakebrew 的 GUI 版本软件,如果感兴趣你可以尝试一下。

下载地址:https://brew.sh/

13、asciinema

asciinema是可用于记录终端会话的工具。但是,与录制 GIF 不同,它可以让用户选择并复制这些录制中的代码!

这对于录制编码教程来说十分好用。你应该遇到那种尴尬的情况——当你准备跟着视频教程在终端中敲巨长的命令,但是讲师并为你提供这个代码段,你不得不花费很长的时间去整理这些冗长的命令。asciinema录制的内容,支持直接复制,十分给力。

下载地址:https://asciinema.org/

14、colordiff 和 diff-so-fancy

我很少在终端中使用diff操作(比较两个文件之间的差异),但是如果你需要执行这个操作,可以放弃使用diff命令,而是使用 colordiffcolordiff输出可以高亮显示,因此在查看文件差异内容时要方便得多,而不是在diff命令输出内容下,费力地查看所有的“ <”和“>”符号来对比文件差异。

如果你觉得还不够,那么我推荐给你 diff-so-fancy。它是比colordiff更友好的一个差异对比工具。

它通过以下方式进一步改善了文件内容差异展示的外观:

  • 突出显示每一行中差异的单词,而不是整行

  • 简化变更文件的标题

  • 去除 + 和 - 符号(颜色差异展示就够了)

  • 清楚地指出新行和删除的空行

colordiff 下载地址:https://www.colordiff.org/

diff-so-fancy 下载地址:https://github.com/so-fancy/diff-so-fancy

15、tree

你可以通过brew install tree安装该工具。如果要查看给定目录的内容,那么 tree 是执行此操作的必备工具。它能以漂亮的树状结构显示所有子目录及文件:

$ tree .

16、bat

类似于在终端中常用的用于显示文件内容的cat命令,但是bat效果更佳。

它增加了语法高亮显示,git gutter 标记(如果适用),自动分页(如果文件很大)等功能,并且使得输出的内容阅读起来更加友好。

bat 下载地址:https://github.com/sharkdp/bat

17、httpie

最后

1111道Java工程师必问面试题

 

外链图片转存中…(img-AjsSMVPg-1628230428166)]

 

[外链图片转存中…(img-FvYHD21w-1628230428167)]

[外链图片转存中…(img-lmhYvYi2-1628230428167)]

标签: 传感器fq50

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台