推荐50个可以让你装X的CLI工具!

作为开发人员,我们花了很多时间在终端上。有很多有用的 CLI 工具,它们可以让你在工作中更轻松、更快捷、更有趣。

这篇文章推荐50 CLI 工具,没有一一尝试,不过试了几个,均觉得不错,即提效又可以装X。当然如果还有好用的CLI - 可以在评论区补充:)

实用性

thefuck- 自动更正错误键入的命令

thefuck`是那些一旦你尝试过就无法没有的实用程序之一。每当你输入错误命令并出现错误时,只需运行它,它就会自动更正它。使用向上/向下选择更正,或者只是运行以立即执行最有可能的更正。`fuck``fuck --yeah

GIF动图

安装

bash复制代码# MacOS (via Homebrew)
brew install thefuck

# Arch Linux
sudo pacman -S thefuck

# FreeBSD
pkg install thefuck

zoxide- 轻松导航 (更好的 cd)

z`允许你跳转到任何目录,而无需记住或指定其完整路径。它会记住你访问过的目录,因此你可以快速跳转 - 你甚至不需要输入完整的文件夹名称。它还具有交互式选择选项,因此你可以实时过滤目录结果`fzf

GIF动图

安装

bash复制代码# MacOS (via Homebrew)
brew install zoxide

# Arch Linux
sudo pacman -S zoxide

# Debian / Ubuntu
sudo apt install zoxide

# FreeBSD
pkg install zoxide

# Other (via Rust Creates)
cargo install zoxide --locked

tldr- 社区维护的文档 (更好的man)

tldr是社区维护的大量手册页。与传统的手册页不同,它们经过总结,包含有用的使用示例,并且颜色精美,便于阅读

GIF动图

安装

bash复制代码# MacOS (via Homebrew)
brew install tldr

# Other (via NPM)
npm install -g tldr

scc- 计算代码行数 (更好的 cloc)

scc为你提供以每种语言为特定目录编写的代码行数的明细。它还显示了一些有趣的统计数据,例如估计的开发成本和复杂性信息。它的速度非常快,非常准确,并且支持多种语言

安装

bash复制代码# MacOS (via Homebrew)
brew install scc

# Other (via go)
go install github.com/boyter/scc/v3@latest

exa- 列出文件 (更好的 ls)

exa`是基于 Rust 的命令的现代替代品,用于列出文件。它可以显示文件类型图标、颜色、文件/文件夹信息,并具有多种输出格式 - 树、网格或列表`ls

安装

bash复制代码# MacOS (via Homebrew)
brew install exa

# Arch Linux
sudo pacman -S exa

# Debian / Ubuntu
sudo apt install exa

duf- 磁盘使用情况 (更好的 df)

duf非常适合显示有关已装载磁盘的信息和检查可用空间。它产生清晰多彩的输出,并包括用于排序和自定义结果的选项。

安装

bash复制代码# MacOS (via Homebrew)
brew install duf

# Arch Linux
sudo pacman -S duf

# Debian / Ubuntu
sudo apt install duf

# FreeBSD
pkg install duf

aria2- 下载实用程序 (更好的 wget)

aria2是一个轻量级、多协议、恢复下载实用程序,适用于 HTTP/HTTPS、FTP、SFTP、BitTorrent 和 Metalink,支持通过 RPC 接口进行控制。它的功能非常丰富,并且有很多选择。还有 ziahamza/webui-aria2 - 一个不错的 Web 界面伴侣。

安装

bash复制代码# MacOS (via Homebrew)
brew install aria2

# Arch Linux
sudo pacman -S aria2

# Debian / Ubuntu
sudo apt install aria2

bat- 读取文件 (更好的cat)

bat`是具有语法高亮和 git 集成的克隆。它是用 Rust 编写的,性能非常高,并且有几个用于自定义输出和主题的选项。支持自动管道和文件串联`cat

安装

bash复制代码# MacOS (via Homebrew)
brew install bat

# Arch Linux
sudo pacman -S bat

# Debian / Ubuntu
sudo apt install bat

diff-so-fancy- 文件比较 (更好的diff)

diff-so-fancy为你提供更美观的差异,用于比较字符串、文件、目录和 git 更改。更改突出显示使发现更改变得更加容易,并且你可以自定义输出布局和颜色

安装

bash复制代码# MacOS (via Homebrew)
brew install diff-so-fancy

# Arch Linux
sudo pacman -S diff-so-fancy

# Debian / Ubuntu
sudo apt install diff-so-fancy

entr- 监控变化

entr允许你在文件更改时运行任意命令。你可以传递文件、目录、符号链接或正则表达式来指定它应该监视哪些文件。它对于自动重建项目、对日志做出反应、自动化测试等非常有用。与类似的项目不同,它使用 kqueue(2) 或 inotify(7) 来避免轮询,并提高性能

安装

bash复制代码# MacOS (via Homebrew)
brew install entr

# Arch Linux
sudo pacman -S entr

# Debian / Ubuntu
sudo apt install entr

exiftool- 读取 + 写入元数据

ExifTool 是用于读取、写入、剥离和创建各种文件类型的元信息的便捷实用程序。再也不会在分享照片时意外泄露你的位置!


fdupes- 重复文件查找器

jdupes用于识别和/或删除指定目录中的重复文件。当你有两个或多个相同的文件时,它对于释放磁盘空间很有用


fzf- 模糊文件查找器 (更好地find)

fzf是一个非常强大且易于使用的模糊文件查找器和过滤工具。它允许你跨文件搜索字符串或模式。fzf 还为大多数 shell 和 IDE 提供了插件,用于在搜索时显示即时结果。阿列克谢·萨莫什金(Alexey Samoshkin)的这篇文章重点介绍了它的一些用例。

GIF动图

安装

bash复制代码# MacOS (via Homebrew)
brew install fzf

# Arch Linux
sudo pacman -S fzf

# Debian / Ubuntu
sudo apt install fzf

hyperfine- 命令基准测试

hyperfine可以轻松准确地对任意命令或脚本进行基准测试和比较。它负责预热运行,清除缓存以获得准确的结果,并防止来自其他程序的干扰。它还可以将结果导出为原始数据并生成图表。

安装

bash复制代码# MacOS (via Homebrew)
brew install hyperfine

# Arch Linux
sudo pacman -S hyperfine

# Debian / Ubuntu
sudo apt install hyperfine

just- 现代命令运行器 (更好的make)

just`与类似,但有一些不错的补充。它允许你将项目命令组合到副本中,这些副本可以轻松列出和运行。支持别名、位置参数、不同的 shell、点环境集成、字符串插入以及你可能需要的几乎所有其他内容`make

安装

bash复制代码# MacOS (via Homebrew)
brew install just

# Arch Linux
sudo pacman -S just

# Debian / Ubuntu
sudo apt install just

jq- JSON 处理器

jq`就像 ,但对于 JSON - 你可以使用它轻松对结构化数据进行切片、过滤、映射和转换。它可用于编写复杂的查询来提取或操作 JSON 数据。还有一个 [jq playground](https://link.juejin.cn?target=https%3A%2F%2Fjqplay.org%2F),你可以使用它来试用它,或者根据实时反馈制定查询`sed


most- 多窗口滚动分页器 (最好的less)

most`是一个寻呼机,用于读取长文件或命令输出。 支持多窗口,并可选择不换行文本`most


procs- 进程查看器 (更好的 ps)

procs是一个易于导航的流程查看器,它具有彩色突出显示功能,使流程的排序和搜索变得容易,具有树视图和实时更新

GIF动图


rip- 删除工具 (更好的 rm)

rip是一种安全、符合人体工程学且高性能的删除工具。它可以让你直观地删除文件和目录,并轻松恢复已删除的文件

GIF动图


ripgrep- 在文件中搜索 (更好的 grep)

ripgrep`是一个面向行的搜索工具,它以递归方式在当前目录中搜索正则表达式模式。它可以忽略二进制文件的内容并跳过二进制文件。它能够在压缩档案中搜索,或仅搜索特定的扩展名,并使用各种编码方法理解文件`.gitignore


rsync- 快速、增量的文件传输

rsync允许你在本地复制大文件,或者从远程主机或外部驱动器复制大文件。它可用于保持多个位置的文件同步,非常适合创建、更新和恢复备份


sd- 查找和替换 (更好的 sed)

sd是一个简单、快速和直观的查找和替换工具,基于字符串文字。它可以在文件、整个目录或任何管道文本上执行


tre- 目录层次结构 (更好的tree)

tre`输出当前目录或指定目录的文件的树状列表,并带有颜色。使用该选项运行时,它会对每个项目进行编号,并创建一个临时别名,你可以使用该别名快速跳转到该位置`-e


xsel- 访问剪贴板

xsel让你通过命令行读取和写入 X 选择剪贴板。它可用于将命令输出通过管道传递到剪贴板,或将复制的数据传递到命令中


CLI 监控和性能应用程序

bandwhich- 带宽利用率监视器

实时显示带宽使用情况、连接信息、传出主机和 DNS 查询


ctop- 容器指标和监控

类似于 ,但用于监控正在运行(Docker 和 runC)容器的资源使用情况。它显示实时 CPU、内存和网络带宽,以及每个容器的名称、状态和 ID。还有一个内置的日志查看器,以及用于管理(停止、启动、执行等)容器的选项top

GIF动图


bpytop- 资源监控 (更好的 htop)

bpytop是一个快速、交互式、可视化的资源监视器。它显示排名靠前的进程、最近的 CPU、内存、磁盘和网络历史记录。在界面中,你可以导航、排序和搜索 - 还支持自定义颜色主题

GIF动图


glances- 资源监视器 + Web 和 API

glances是另一个资源监视器,但具有不同的功能集。它包括一个完全响应的 Web 视图、一个 REST API 和历史监控。它易于扩展,并且可以与其他服务集成

GIF动图


gping- 交互式 ping 工具 (更好的 ping)

gping`可以在多个主机上运行 ping 测试,同时在实时图表中显示结果。当与标志一起使用时,它还可用于监视执行时间`--cmd

GIF动图


dua-cli- 磁盘使用率分析器和监控器(更好du)

dua-cli通过交互方式,你可以查看每个已装载驱动器的已用磁盘空间和可用磁盘空间,并轻松释放存储空间

GIF动图


speedtest-cli- 命令行速度测试实用程序

speedtest-cli只需通过 speedtest.net 运行互联网速度测试 - 但直接从终端:)

GIF动图


dog- DNS查找客户端 (更好的dig)

dog是一个易于使用的DNS查找客户端,支持DoT和DoH,颜色精美的输出和发出JSON的选项


CLI 生产力应用程序

上网冲浪、播放音乐、查看电子邮件、管理日历、阅读新闻等等,所有这些都无需离开终端!

browsh- CLI Web 浏览器

browsh是一个完全交互式、实时和现代的基于文本的浏览器,呈现给 TTY 和浏览器。它支持鼠标和键盘导航,对于纯粹基于终端的应用程序来说,功能非常丰富。它还可以缓解困扰现代浏览器的电池消耗问题,并且通过对 MoSH 的支持,由于带宽减少,你可以体验到更快的加载时间

GIF动图


buku- 书签管理器

buku是一个基于终端的书签管理器,具有大量的配置、存储和使用选项。还有一个可选的 Web UI 和浏览器插件,用于在终端外访问你的书签


cmus- 音乐浏览器/播放器

cmus是终端音乐播放器,通过键盘快捷键控制。它支持多种音频格式和编解码器,并允许将曲目组织到播放列表中并应用播放设置


cointop- 跟踪加密货币价格

cointop`显示当前的加密货币价格,并跟踪你投资组合的价格历史。支持价格警报、历史图表、货币转换、模糊搜索等等。你可以通过 [Web 上的 cointop.sh](https://link.juejin.cn?target=https%3A%2F%2Fcointop.sh%2F) 或运行`ssh cointop.sh


ddgr- 从终端搜索网络

ddgr就像谷歌员工一样,但对于 DuckDuckGo。它快速、干净、简单,支持即时答案、搜索完成、搜索刘海和高级搜索。默认情况下,它尊重你的隐私,并且还具有 HTTPS 代理支持,并与 Tor 配合使用


micro- 代码编辑器 (更好的 nano)

micro`是一个易于使用、快速且可扩展的代码编辑器,支持鼠标。由于它被打包到一个二进制文件中,因此安装非常简单`curl https://getmic.ro | bash


khal- 日历客户端

khal是一个终端日历应用程序,可显示即将发生的事件、月份和议程视图。你可以将其与任何 CalDAV 日历同步,并直接添加、编辑和删除事件


mutt- 电子邮件客户端

mut是一个经典的,基于终端的邮件客户端,用于发送、阅读和管理电子邮件。它支持所有主流电子邮件协议和邮箱格式,允许附件、密件抄送/抄送、线程、邮件列表和传递状态通知


newsboat- RSS / ATOM新闻阅读器

newsboat是一个RSS提要阅读器和聚合器,用于直接从终端阅读新闻,博客和关注更新


rclone- 管理云存储

rclone是一个方便的实用程序,用于将文件和文件夹同步到各种云存储提供商。它可以直接从命令行调用,也可以轻松集成到脚本中,以替代繁重的桌面同步应用程序


taskwarrior- 待办事项 + 任务管理

task是一个 CLI 任务管理/待办事项应用程序。它既简单又不显眼,而且功能强大且可扩展,内置了高级组织和查询功能。还有很多(700+!)额外的插件,用于扩展其功能并与第三方服务集成


tuir- Reddit 的终端 UI

tuir如果你想在实际浏览 Reddit 时看起来像在工作,那么这是一个很好的选择!它具有直观的键绑定、自定义主题,也可以渲染图像和多媒体内容。还有黑客新闻的haxor



CLI 开发套装

httpie- HTTP/API 测试测试客户端

httpie是一个 HTTP 客户端,用于测试、调试和使用 API。它支持你所期望的一切 - HTTPS、代理、身份验证、自定义标头、持久会话、JSON 解析。用法简单,具有富有表现力的语法和彩色输出。与其他 HTTP 客户端(Postman、Hopscotch、Insomnia 等)一样,HTTPie 也包括一个 Web UI


lazydocker- 完整的 Docker 管理应用程序

lazydocker是一个 Docker 管理应用程序,可让你查看所有容器和映像、管理其状态、读取日志、检查资源使用情况、重新启动/重建、分析层、修剪未使用的容器、映像和卷等等。它使你无需记住、键入和链接多个 Docker 命令。


lazygit - 完整的 Git管理应用程序

lazygit是一个可视的 Git 客户端,在命令行上。轻松添加、提交和提取文件、解决冲突、比较差异、管理日志以及执行压缩和倒带等复杂操作。所有内容、颜色都有键绑定,并且易于配置和扩展


kdash- Kubernetes 仪表板应用程序

kdash是一款多合一的 Kubernetes 管理工具。查看节点指标、监视资源、流式传输容器日志、分析上下文以及管理节点、Pod 和命名空间


gdp-dashboard- 可视化 GDP 调试器

gdp-dashboard向 GNU 调试器添加一个可视元素,用于调试 C 和 C++ 程序。轻松分析内存、单步执行断点和查看寄存器


CLI 外部服务

ngrok- 用于共享本地主机的反向代理

ngroksafely* 将你的本地主机暴露在唯一 URL 后面的 Internet 中。这样一来,你就可以与远程同事实时共享你正在处理的工作。使用非常简单,但它也具有许多高级功能,例如身份验证、Webhook、防火墙、流量检查、自定义/通配符域等等


tmate- 通过互联网共享终端会话

tmate让你立即与世界其他地方的人共享实时终端会话。它可以跨不同的系统工作,支持访问控制/身份验证,可以自托管,并具有 Tmux 的所有功能


asciinema- 录制 + 共享终端会话

asciinema对于轻松录制、共享和嵌入终端会话非常有用。非常适合展示你构建的内容,或展示教程的命令行步骤。与截屏视频不同,用户可以复制粘贴内容、即时更改主题并控制播放


navi- 交互式备忘单

navi允许你浏览备忘单并执行命令。参数的建议值动态显示在列表中。减少打字,减少错误,使自己不必记住数千条命令。它与 tldr 和 cheat.sh 集成以获取内容,但你也可以导入其他备忘单,甚至编写自己的备忘单


transfer.sh- 快速文件共享

transfer`使直接从命令行上传和共享文件变得非常容易。它是免费的,支持加密,为你提供唯一的 URL,也可以自托管。
我编写了一个 Bash 辅助函数来简化使用,你可以[在此处找到它](https://link.juejin.cn?target=https%3A%2F%2Fgithub.com%2FLissy93%2Fdotfiles%2Fblob%2Fmaster%2Futils%2Ftransfer.sh)或通过运行`bash <(curl -L -s https://alicia.url.lol/transfer)


surge- 秒级部署站点

surge`是一个免费的静态托管提供商,你可以通过一个命令直接从终端部署到它,只需从你的目录中运行即可!它支持自定义域、自动 SSL 证书、pushState 支持、跨域资源支持 - 而且是免费的!`surge``dist


wttr.in- 查看天气

wttr.in`是一种以命令行中易于理解的格式显示天气的服务。只需运行或尝试一下。有 URL 参数可以自定义返回的数据以及格式`curl wttr.in``curl wttr.in/London


CLI 乐趣

cowsay- 让 ASCII 奶牛说出你的信息

cowsay是一头可配置的会说话的牛。它改编自托尼·梦露的原作


figlet- 将文本输出为大 ASCII 艺术文本

figlet将文本输出为 ASCII 图稿


lolcat- 使控制台输出 raibow 着色

lolcat使传递给它的任何文本都呈现彩虹色


neofetch- 显示系统数据和 ditstro 信息

neofetch打印发行版和系统信息(因此你可以在 r/unixporn 上灵活使用 Arch)

例如,我使用 、 和 创建一个自定义的基于时间的 MODD,在用户首次登录时显示给用户。它通过他们的名字问候他们,显示服务器信息和时间、日期、天气和 IP。这是源代码。cowsay``figlet``lolcat``neofetch

作者:前端晚间课 链接:https://juejin.cn/post/7314507576438718505



展开阅读全文

页面更新:2024-03-27

标签:终端   应用程序   实时   客户端   命令   轻松   代码   文件   测试   目录   工具

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top