InfoQ 22款好用的CLI工具( 四 )


10pipx
Virtualenv解决了Python程序包管理中的许多问题 , 但是还有一个方案可以解决 。 如果我想在全局环境下安装Python软件包(比如它是一个独立的工具 , 正如前面提到的glances工具) , 那么我会遇到全局安装带来的问题 。 在虚拟环境之外安装软件包不是一个好主意 , 将来可能会导致意想不到的问题 。 另一方面 , 如果我决定使用虚拟环境 , 那么每次我要运行程序时都需要激活该虚拟环境 。 这也不是最方便的解决方案 。
InfoQ 22款好用的CLI工具
文章图片
事实证明 , pipx工具可以解决上面提到的问题 。 它将Python软件依赖包安装到单独的环境中(因此不会存在依赖项冲突的问题) 。 与此同时 , 这些工具提供的CLI命令在全局环境内也可用 。 因此 , 我无需激活任何环境——pipx会帮我完成这个操作!
如果你想了解有关Python工具的更多信息并想了解如何使用它们 , 我为PyCon2020会议制作了一个名为“现代Python开发人员工具包”的视频 。
InfoQ 22款好用的CLI工具
文章图片
【InfoQ 22款好用的CLI工具】这是一个长达两个小时的视频教程 , 内容涉及如何设置Python开发环境 , 要使用的工具以及如何从头开始制作TODO应用程序(包括测试和文档) 。 你可以在YouTube上进行观看 。
https://www.youtube.com/watch?v=WkUBx3g2QfQ
pipx下载地址:
https://github.com/pipxproject/pipx
11ctop和lazydocker
InfoQ 22款好用的CLI工具
文章图片
ctop的实时监控示例
当你使用Docker并对其监控时 , 这两个工具会很有帮助 。 ctop是Docker容器的顶级接口 。 它可以为你:
展示正在运行和已停止的容器列表 。
展示统计信息 , 例如内存、CPU使用率以及针对每个容器的其他详细信息窗口(例如绑定的端口等其他信息) 。
提供快捷菜单 , 方便快速停止、杀掉指定容器进程或显示给定容器的日志 。
这比你尝试从dockerps命令中找出所有这些信息要方便多了 。
InfoQ 22款好用的CLI工具
文章图片
lazydocker是我最喜欢的Docker工具
如果你认为ctop很酷 , 请你尝试使用lazydocker后再做决定!它是一个非常成熟的拥有终端UI界面的工具 , 提供了非常丰富的功能用于管理Docker 。 这是我最喜欢的Docker管理工具!
ctop下载地址:https://github.com/bcicen/ctop
lazydocker下载地址:
https://github.com/jesseduffield/lazydocker
低频CLI工具推荐
除了几乎每天都在使用的工具以外 , 我多年来还收集了一些给力的工具 , 这些工具对于一些特定需求非常好用 。 比如有的终端工具可以用来将终端操作记录成GIF(并且可以让你在GIF中暂停和复制文本!) , 还有的终端工具可以用于列出目录结构、连接数据库等 , 下面我会一一介绍 。
12Homebrew
InfoQ 22款好用的CLI工具
文章图片
如果你使用的是Mac , 那我就无需再介绍Homebrew了 。 它是macOS上被业界普遍认可的软件包管理器 。 对了 , 它还有一个称为Cakebrew的GUI版本软件 , 如果感兴趣你可以尝试一下 。
下载地址:https://brew.sh/
13asciinema
InfoQ 22款好用的CLI工具
文章图片
asciinema是可用于记录终端会话的工具 。 但是 , 与录制GIF不同 , 它可以让用户选择并复制这些录制中的代码!
这对于录制编码教程来说十分好用 。 你应该遇到那种尴尬的情况——当你准备跟着视频教程在终端中敲巨长的命令 , 但是讲师并为你提供这个代码段 , 你不得不花费很长的时间去整理这些冗长的命令 。 asciinema录制的内容 , 支持直接复制 , 十分给力 。