我的 2018 年 Linux 开发环境

2025-05-24

我的 2018 年 Linux 开发环境

在这篇博文中,我将简单介绍一下我的 Linux 个人笔记本电脑的设置和软件。这篇文章的灵感来源于这篇文章,但针对的是基于 Linux 的设置。

我不会列出我在机器上安装的所有应用程序,而只会列出我认为相关且更侧重于开发的应用程序。

基础系统

我的机器现在运行的是 Linux Mint 18.3,但我打算等 Ubuntu 18.04 出来后再换回去。我对 Mint 没什么意见,但既然 Unity 被 Gnome 3 取代了,我想试试看。

生产力工具

  • Boostnote — 我的主要笔记应用。我主要用它来存储代码片段和开发活动的参考资料。它开源、跨平台,并且完全离线工作。我希望有一种更简单的方法在多台机器之间同步,但由于笔记存储为 CSON 文件,所以我使用私有的 Git 仓库进行同步。

  • Simplenote — 我使用 Simplenote 作为我的“便笺簿”,用于快速记录和思考。主要是在我的手机上。

  • Cerebro — Cerebro 是一款开源的跨平台启动器,类似于 Spotlight 和 Mac 版 Alfred。目前维护成本较低,我觉得有必要 fork 它一下,但它运行起来相当不错。它的插件数量不如 Alfred 多,但我一直在开发一些。

互联网

  • Google Chrome — 我的主要浏览器选择。

  • Firefox — 我的辅助浏览器。

  • Min — Min 是一款极简主义的网页浏览器。由于 Linux 系统没有像Mac 版Fenetre那样的浏览器,所以我会在浏览文档、学习教程或以画中画/并排模式观看视频时使用它。

  • Dropbox — 用于共享文件。

  • Mailspring——电子邮件客户端。

  • Corebird ——Twitter 桌面客户端

  • Ramme — Instagram 桌面客户端

  • Caprine ——Facebook Messenger 桌面客户端

  • Whatsapp 桌面——带有内置通知和系统托盘集成的 WhatsApp 桌面客户端。

  • Slack——用于聊天和与社区互动。

  • Wireshark — 用于网络嗅探。在开发过程中查看多个应用程序之间的通信时非常有用。

图形和多媒体

  • Pinta — Pinta 是一款免费的开源绘图和图像编辑程序。它是我首选的图像编辑器。虽然 Gimp 是 Linux 上最受欢迎的图像编辑器,但我发现 Pinta 使用起来更简单,而且更像 Photostop。

  • XnConvert——一款功能强大且免费的跨平台批量图像处理器,允许您组合超过 80 种操作。

  • Draw.io — Draw.io 是我设计各种图表的首选应用,从流程图到序列图,甚至线框图。它完全免费,并且可以与 Google Drive 集成。

  • 快门——用于截取屏幕截图并用箭头、方框等快速注释。它还有一些不错的效果,例如模糊图像的敏感部分。

  • ffmulticonverter — 用于在多种格式之间转换图像/视频。

  • Peek — Peek 允许录制屏幕并保存为 GIF 格式。例如,对于创建用于项目自述文件的演示 gif 非常有用。

  • pick — 颜色选择器

  • Trimage——图像压缩工具

声音和视频

  • VLC——我最喜欢的媒体播放器。3.0 版本内置了 Chromecast 支持,这更好了。

  • Kdenlive — 用于视频编辑

  • Kazam——录制屏幕录像

  • Spotify——用来听我最喜欢的音乐。

系统实用程序

編輯

  • Jetbrains(PHPstorm、WebStorm)——我的首选 IDE,

  • Visual Studio Code — 一体化文本编辑器

  • vim(用于在命令行上编辑文件)

终端设置

  • Tilix — 我最喜欢的终端模拟器。

  • Zsh shell — 功能丰富的 bash 替代品

  • zplug — 管理 zsh 插件。

  • zsh-completions — Zsh 的附加完成定义。

命令行实用程序

  • tldr — tldr 是手册页的替代品,但只包含必要的内容。快速查找任何命令语法的好方法。

  • yadm — 点文件管理器

  • fasd — Fasd 是一款命令行效率提升工具。Fasd 为 POSIX shell 提供了快速访问文件和目录的功能。它的灵感来源于autojumpzv等工具。Fasd 会跟踪您访问过的文件和目录,以便您在命令行中快速引用它们。

  • fzf — 命令行模糊查找器

  • silver searcher — 类似于 ack 的代码搜索工具,但速度更快

  • lf — 命令行文件管理器。

  • pandoc — 从命令行在多种文件类型之间进行转换。

  • pwgen——密码生成器

  • lnav — 适用于小规模的高级日志文件查看器

  • trash-cli —trash-cli 会删除记录原始路径、删除日期和权限的文件。

  • opn-cli — 打开网站、文件、可执行文件等。跨平台。

  • ascicinema — 以正确的方式记录和分享您的终端会话。

  • hostess — 用于管理 /etc/hosts 文件的幂等命令行实用程序。

  • get-port-cli — 获取可用端口

  • public-ip-cli — 获取你的公共 IP 地址

  • i internal-ip-cli — 获取你的内部 IP 地址

  • speedtest-cli——使用 speedtest.net 测试互联网带宽的命令行界面

  • fkill-cli — 高效地终止进程。跨平台。

  • doctoc — 为本地 git 仓库中的 Markdown 文件生成目录。链接兼容 GitHub 或其他网站生成的锚文本。

开发环境

我在开发环境中广泛使用 Docker。我的主机上仍然安装了常见的运行时,例如 go、php、node(使用nvm)和 ruby​​(使用rvm )。

  • Docker

  • Docker-compose — 使用 Docker 定义和运行多容器应用程序

  • Minikube — 在本地运行 Kubernetes

  • Telepresence——针对远程 Kubernetes 或 OpenShift 集群进行本地开发

  • ctop——类似 Top 的容器指标接口

  • Vagrant — 轻松上手的开发环境。我现在很少用 Vagrant,除非我想做些基础设施相关的工作。(比如:测试新集群的运行,或者测试 Ansible 的 playbook)。

  • Dnsdock——用于管理 Docker 容器的 DNS。

开发工具

  • how2 — 终端的堆栈溢出

  • Pet——简单的命令行代码片段管理器。我用它来存储我最常用的命令。

  • caniuse-cmd — Caniuse 命令行工具

  • hub — hub 是一个命令行工具,它包装了 git,以便使用额外的功能和命令来扩展它,使使用 GitHub 变得更加容易。

  • conventional-changelog — 从 git 元数据生成变更日志

  • release-it — Git repos 和 npm 包的 CLI 发布工具。

  • git-open — 键入git open以在浏览器中打开存储库的 GitHub 页面或网站。

  • git-semver — 用于语义版本控制的 Git 插件

  • tig ——git 的文本模式界面

  • jq — jq 是一个轻量级且灵活的命令行 JSON 处理器

  • python-gitlab — GitLab 客户端

  • overcommit — 一个管理和配置Git hooks 的工具。

  • tmuxtmuxp — 终端多路复用器。

  • gitbook-cli — GitBook 的命令行界面

  • pageres-cli — 捕获网站截图

  • httpie — 现代命令行 HTTP 客户端 — 用户友好的 curl 替代品,具有直观的 UI、JSON 支持、语法高亮、类似 wget 的下载、扩展等

  • yeoman — Yeoman 是一个允许通过一系列模板搭建项目的工具。

  • generator-editorconfig — 生成 .editorconfig 文件。

  • 许可证——从命令行创建许可证。

  • gi — 为你的项目创建有用的 .gitignore 文件

  • travis.rb — Travis CI 客户端(CLI 和 Ruby 库)

  • http-server — http-server 是一个简单、零配置的命令行 http 服务器。它功能强大,足以满足生产环境的需求,同时又足够简单易用,可以用于测试、本地开发和学习。

  • codeclimate-cli — codeclimate 是 Code Climate 分析平台的命令行界面。它允许您在本地计算机上的 Docker 容器内运行 Code Climate 引擎。

  • mycli — 具有自动完成和语法高亮功能的 MySQL 终端客户端。

  • json-server — 在不到 30 秒的时间内获得一个完整的、无需任何编码的虚假 REST API。

  • localtunnel — localtunnel 将您的本地主机公开到外部世界,方便测试和共享!无需费心处理 DNS 或部署,即可让其他人测试您的更改。

  • mailhog — 基于 Web 和 API 的 SMTP 测试

  • artilery — Artillery 是一款现代、强大且易于使用的负载测试工具包。使用它来交付可扩展的应用程序,使其在高负载下保持性能和弹性。

  • Postman ——Postman 使 API 开发变得简单。

  • Devdocs-DesktopDevDocs.io将多个 API 文档整合到一个快速、有序且可搜索的界面中。这是一款非官方的桌面应用。

DevOps 工具

  • doctl — DigitalOcean 服务的命令行工具。

  • gcloud-sdk — 与 Google Cloud 基础设施交互的官方 sdk。

  • aws-cli — 该软件包为 Amazon Web Services 提供了统一的命令行界面。

  • ansible — 自动化基础设施

  • terraform — 编写、规划和创建基础设施即代码

  • kubectl — kubectl 是一个针对 Kubernetes 集群运行命令的命令行界面

  • kubectx — 在 kubectl 中快速切换集群和命名空间!

  • kubeval — 验证您的 Kubernetes 配置文件,支持多个 Kubernetes 版本

  • helm — Kubernetes 包管理器

  • heroku-cli — Heroku 命令行界面 (CLI) 让您可以轻松地直接从终端创建和管理 Heroku 应用。它是使用 Heroku 的重要组成部分。

  • forge.sh — 从源代码定义和部署 Kubernetes 中的多容器应用程序

  • Firebase 工具— Firebase 命令行工具

  • dpl — Dpl(dee-pee-ell)是一种用于持续部署的部署工具。

结论

这是当前的开发机器。希望对您有所帮助。

我一直在寻找改进工作流程的方法,因此如果您使用任何您认为有用的工具并且它没有列在这里,请随时评论这篇文章。

Linux 可以是一个非常强大的开发环境。可惜的是,像AlfredFenetre这样优秀的 Mac 应用程序竟然没有 Linux 上的替代方案。这正是我最怀念的。虽然我从未使用过 Mac,但我感受到了这些应用程序的强大!

文章来源:https://dev.to/brpaz/my-linux-development-environment-of-2018-ch7
PREV
教程:如何使用 React Native、react-native-web 和 monorepo 在 iOS、Android 和 Web 之间共享代码
NEXT
我的 2019 年 Web 开发个人技术栈