作为开发人员,我们花了很多时间在终端上。有很多有用的 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
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是社区维护的大量手册页。与传统的手册页不同,它们经过总结,包含有用的使用示例,并且颜色精美,便于阅读
GIF动图
安装
bash复制代码# MacOS (via Homebrew)
brew install tldr
# Other (via NPM)
npm install -g tldr
scc为你提供以每种语言为特定目录编写的代码行数的明细。它还显示了一些有趣的统计数据,例如估计的开发成本和复杂性信息。它的速度非常快,非常准确,并且支持多种语言
安装
bash复制代码# MacOS (via Homebrew)
brew install scc
# Other (via go)
go install github.com/boyter/scc/v3@latest
exa`是基于 Rust 的命令的现代替代品,用于列出文件。它可以显示文件类型图标、颜色、文件/文件夹信息,并具有多种输出格式 - 树、网格或列表`ls
安装
bash复制代码# MacOS (via Homebrew)
brew install exa
# Arch Linux
sudo pacman -S exa
# Debian / Ubuntu
sudo apt install exa
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是一个轻量级、多协议、恢复下载实用程序,适用于 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`是具有语法高亮和 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为你提供更美观的差异,用于比较字符串、文件、目录和 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允许你在文件更改时运行任意命令。你可以传递文件、目录、符号链接或正则表达式来指定它应该监视哪些文件。它对于自动重建项目、对日志做出反应、自动化测试等非常有用。与类似的项目不同,它使用 kqueue(2) 或 inotify(7) 来避免轮询,并提高性能
安装
bash复制代码# MacOS (via Homebrew)
brew install entr
# Arch Linux
sudo pacman -S entr
# Debian / Ubuntu
sudo apt install entr
ExifTool 是用于读取、写入、剥离和创建各种文件类型的元信息的便捷实用程序。再也不会在分享照片时意外泄露你的位置!
jdupes用于识别和/或删除指定目录中的重复文件。当你有两个或多个相同的文件时,它对于释放磁盘空间很有用
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可以轻松准确地对任意命令或脚本进行基准测试和比较。它负责预热运行,清除缓存以获得准确的结果,并防止来自其他程序的干扰。它还可以将结果导出为原始数据并生成图表。
安装
bash复制代码# MacOS (via Homebrew)
brew install hyperfine
# Arch Linux
sudo pacman -S hyperfine
# Debian / Ubuntu
sudo apt install hyperfine
just`与类似,但有一些不错的补充。它允许你将项目命令组合到副本中,这些副本可以轻松列出和运行。支持别名、位置参数、不同的 shell、点环境集成、字符串插入以及你可能需要的几乎所有其他内容`make
安装
bash复制代码# MacOS (via Homebrew)
brew install just
# Arch Linux
sudo pacman -S just
# Debian / Ubuntu
sudo apt install just
jq`就像 ,但对于 JSON - 你可以使用它轻松对结构化数据进行切片、过滤、映射和转换。它可用于编写复杂的查询来提取或操作 JSON 数据。还有一个 [jq playground](https://link.juejin.cn?target=https://jqplay.org/),你可以使用它来试用它,或者根据实时反馈制定查询`sed
most`是一个寻呼机,用于读取长文件或命令输出。 支持多窗口,并可选择不换行文本`most
procs是一个易于导航的流程查看器,它具有彩色突出显示功能,使流程的排序和搜索变得容易,具有树视图和实时更新
GIF动图
rip是一种安全、符合人体工程学且高性能的删除工具。它可以让你直观地删除文件和目录,并轻松恢复已删除的文件
GIF动图
ripgrep`是一个面向行的搜索工具,它以递归方式在当前目录中搜索正则表达式模式。它可以忽略二进制文件的内容并跳过二进制文件。它能够在压缩档案中搜索,或仅搜索特定的扩展名,并使用各种编码方法理解文件`.gitignore
rsync允许你在本地复制大文件,或者从远程主机或外部驱动器复制大文件。它可用于保持多个位置的文件同步,非常适合创建、更新和恢复备份
sd是一个简单、快速和直观的查找和替换工具,基于字符串文字。它可以在文件、整个目录或任何管道文本上执行
tre`输出当前目录或指定目录的文件的树状列表,并带有颜色。使用该选项运行时,它会对每个项目进行编号,并创建一个临时别名,你可以使用该别名快速跳转到该位置`-e
xsel让你通过命令行读取和写入 X 选择剪贴板。它可用于将命令输出通过管道传递到剪贴板,或将复制的数据传递到命令中
实时显示带宽使用情况、连接信息、传出主机和 DNS 查询
类似于 ,但用于监控正在运行(Docker 和 runC)容器的资源使用情况。它显示实时 CPU、内存和网络带宽,以及每个容器的名称、状态和 ID。还有一个内置的日志查看器,以及用于管理(停止、启动、执行等)容器的选项top
GIF动图
bpytop是一个快速、交互式、可视化的资源监视器。它显示排名靠前的进程、最近的 CPU、内存、磁盘和网络历史记录。在界面中,你可以导航、排序和搜索 - 还支持自定义颜色主题
GIF动图
glances是另一个资源监视器,但具有不同的功能集。它包括一个完全响应的 Web 视图、一个 REST API 和历史监控。它易于扩展,并且可以与其他服务集成
GIF动图
gping`可以在多个主机上运行 ping 测试,同时在实时图表中显示结果。当与标志一起使用时,它还可用于监视执行时间`--cmd
GIF动图
dua-cli通过交互方式,你可以查看每个已装载驱动器的已用磁盘空间和可用磁盘空间,并轻松释放存储空间
GIF动图
speedtest-cli只需通过 speedtest.net 运行互联网速度测试 - 但直接从终端:)
GIF动图
dog是一个易于使用的DNS查找客户端,支持DoT和DoH,颜色精美的输出和发出JSON的选项
browsh- CLI Web 浏览器上网冲浪、播放音乐、查看电子邮件、管理日历、阅读新闻等等,所有这些都无需离开终端!
browsh是一个完全交互式、实时和现代的基于文本的浏览器,呈现给 TTY 和浏览器。它支持鼠标和键盘导航,对于纯粹基于终端的应用程序来说,功能非常丰富。它还可以缓解困扰现代浏览器的电池消耗问题,并且通过对 MoSH 的支持,由于带宽减少,你可以体验到更快的加载时间
GIF动图
buku是一个基于终端的书签管理器,具有大量的配置、存储和使用选项。还有一个可选的 Web UI 和浏览器插件,用于在终端外访问你的书签
cmus是终端音乐播放器,通过键盘快捷键控制。它支持多种音频格式和编解码器,并允许将曲目组织到播放列表中并应用播放设置
cointop`显示当前的加密货币价格,并跟踪你投资组合的价格历史。支持价格警报、历史图表、货币转换、模糊搜索等等。你可以通过 [Web 上的 cointop.sh](https://link.juejin.cn?target=https://cointop.sh/) 或运行`ssh cointop.sh
ddgr就像谷歌员工一样,但对于 DuckDuckGo。它快速、干净、简单,支持即时答案、搜索完成、搜索刘海和高级搜索。默认情况下,它尊重你的隐私,并且还具有 HTTPS 代理支持,并与 Tor 配合使用
micro`是一个易于使用、快速且可扩展的代码编辑器,支持鼠标。由于它被打包到一个二进制文件中,因此安装非常简单`curl https://getmic.ro | bash
khal是一个终端日历应用程序,可显示即将发生的事件、月份和议程视图。你可以将其与任何 CalDAV 日历同步,并直接添加、编辑和删除事件
mut是一个经典的,基于终端的邮件客户端,用于发送、阅读和管理电子邮件。它支持所有主流电子邮件协议和邮箱格式,允许附件、密件抄送/抄送、线程、邮件列表和传递状态通知
newsboat是一个RSS提要阅读器和聚合器,用于直接从终端阅读新闻,博客和关注更新
rclone是一个方便的实用程序,用于将文件和文件夹同步到各种云存储提供商。它可以直接从命令行调用,也可以轻松集成到脚本中,以替代繁重的桌面同步应用程序
task是一个 CLI 任务管理/待办事项应用程序。它既简单又不显眼,而且功能强大且可扩展,内置了高级组织和查询功能。还有很多(700 !)额外的插件,用于扩展其功能并与第三方服务集成
tuir如果你想在实际浏览 Reddit 时看起来像在工作,那么这是一个很好的选择!它具有直观的键绑定、自定义主题,也可以渲染图像和多媒体内容。还有黑客新闻的haxor
httpie是一个 HTTP 客户端,用于测试、调试和使用 API。它支持你所期望的一切 - HTTPS、代理、身份验证、自定义标头、持久会话、JSON 解析。用法简单,具有富有表现力的语法和彩色输出。与其他 HTTP 客户端(Postman、Hopscotch、Insomnia 等)一样,HTTPie 也包括一个 Web UI
lazydocker是一个 Docker 管理应用程序,可让你查看所有容器和映像、管理其状态、读取日志、检查资源使用情况、重新启动/重建、分析层、修剪未使用的容器、映像和卷等等。它使你无需记住、键入和链接多个 Docker 命令。
lazygit是一个可视的 Git 客户端,在命令行上。轻松添加、提交和提取文件、解决冲突、比较差异、管理日志以及执行压缩和倒带等复杂操作。所有内容、颜色都有键绑定,并且易于配置和扩展
kdash是一款多合一的 Kubernetes 管理工具。查看节点指标、监视资源、流式传输容器日志、分析上下文以及管理节点、Pod 和命名空间
gdp-dashboard向 GNU 调试器添加一个可视元素,用于调试 C 和 C 程序。轻松分析内存、单步执行断点和查看寄存器
ngroksafely* 将你的本地主机暴露在唯一 URL 后面的 Internet 中。这样一来,你就可以与远程同事实时共享你正在处理的工作。使用非常简单,但它也具有许多高级功能,例如身份验证、Webhook、防火墙、流量检查、自定义/通配符域等等
tmate让你立即与世界其他地方的人共享实时终端会话。它可以跨不同的系统工作,支持访问控制/身份验证,可以自托管,并具有 Tmux 的所有功能
asciinema对于轻松录制、共享和嵌入终端会话非常有用。非常适合展示你构建的内容,或展示教程的命令行步骤。与截屏视频不同,用户可以复制粘贴内容、即时更改主题并控制播放
navi允许你浏览备忘单并执行命令。参数的建议值动态显示在列表中。减少打字,减少错误,使自己不必记住数千条命令。它与 tldr 和 cheat.sh 集成以获取内容,但你也可以导入其他备忘单,甚至编写自己的备忘单
transfer`使直接从命令行上传和共享文件变得非常容易。它是免费的,支持加密,为你提供唯一的 URL,也可以自托管。
我编写了一个 Bash 辅助函数来简化使用,你可以[在此处找到它](https://link.juejin.cn?target=https://github.com/Lissy93/dotfiles/blob/master/utils/transfer.sh)或通过运行`bash <(curl -L -s https://alicia.url.lol/transfer)
surge`是一个免费的静态托管提供商,你可以通过一个命令直接从终端部署到它,只需从你的目录中运行即可!它支持自定义域、自动 SSL 证书、pushState 支持、跨域资源支持 - 而且是免费的!`surge``dist
wttr.in`是一种以命令行中易于理解的格式显示天气的服务。只需运行或尝试一下。有 URL 参数可以自定义返回的数据以及格式`curl wttr.in``curl wttr.in/London
cowsay是一头可配置的会说话的牛。它改编自托尼·梦露的原作
figlet将文本输出为 ASCII 图稿
lolcat使传递给它的任何文本都呈现彩虹色
neofetch打印发行版和系统信息(因此你可以在 r/unixporn 上灵活使用 Arch)
例如,我使用 、 和 创建一个自定义的基于时间的 MODD,在用户首次登录时显示给用户。它通过他们的名字问候他们,显示服务器信息和时间、日期、天气和 IP。这是源代码。cowsay``figlet``lolcat``neofetch
作者:前端晚间课 链接:https://juejin.cn/post/7314507576438718505
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved