news 2026/7/14 19:56:44

Awesome Linux Software:探索 Linux 系统的宝藏应用库

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Awesome Linux Software:探索 Linux 系统的宝藏应用库

项目标题与描述

Awesome Linux Software是一个社区驱动的开源项目,致力于收集和整理所有优秀、实用的 Linux 应用程序与命令行工具。该仓库为任何 Linux 用户和开发者提供了一个结构清晰、分类明确的软件资源库,帮助大家快速发现和获取高质量软件,从而提升工作和娱乐效率。

项目状态活跃,拥有包括英文、中文、西班牙文、葡萄牙文、阿拉伯文、法文和泰文在内的多语言版本,展现了其国际化的社区支持。

功能特性

  • 全面分类:软件按功能被细致地划分为数十个类别,如音频、聊天客户端、开发工具、桌面环境、游戏、安全等,便于用户查找。

  • 内容规范:每个收录的应用条目都要求包含名称、主页链接、简短描述和图标,并按照字母顺序排列,确保列表的整洁与一致性。

  • 自动化维护:项目包含一个用 Python 编写的自动化脚本 (asort.py),能自动将指定章节(如“Applications”至“Setup”之间)的列表项按字母顺序排序,极大简化了维护工作。

  • 开源精神:明确区分开源软件和闭源/付费软件,尊重不同软件许可模式,并为用户提供选择参考。

安装指南

Awesome Linux Software 本身不是一个需要安装的应用程序,而是一个资源清单。你可以通过以下几种方式使用它:

  1. 在线浏览

    • 访问已发布的 Web App 版本以获得更好的浏览体验: https://luong-komorebi.github.io/Awesome-Linux-Software/
  2. 本地使用

    • 克隆整个仓库到本地以便离线查阅或参与贡献。
    gitclone https://github.com/luong-komorebi/Awesome-Linux-Software.gitcdAwesome-Linux-Software
  3. 运行排序脚本(针对贡献者)
    如果你要贡献内容并希望自动排序列表,需要使用 Python 3 环境。

    # 进入仓库的 `tools` 目录cdAwesome-Linux-Software/tools# 运行对应语言版本的排序脚本
    • 系统要求:仅需安装 Python 3。
    • 注意事项:脚本默认处理“Applications”(或对应语言的“应用”章节)到“Setup”(“设置”)章节之间的列表项。

使用说明

基础使用

典型使用场景

  1. 新系统配置:在新安装的 Linux 系统上,可以按图索骥,快速安装必备的办公、开发、多媒体软件。
  2. 探索新工具:当你想在某个特定领域(如 3D 建模、视频剪辑)寻找 Linux 下的替代方案时,可查阅对应分类。
  3. 贡献与分享:当你发现一个优秀的 Linux 软件未被收录时,可以按照项目贡献指南提交 Pull Request。

贡献指南(简化版)

项目欢迎任何人贡献。基本流程如下:

  1. Fork 本仓库。
  2. 在合适的类别下,按格式- [软件名](链接) - 描述。添加新条目。
  3. 确保条目放在正确的分类中,并按字母顺序排列(可使用提供的asort.py脚本自动化完成)。
  4. 提交 Pull Request。

核心代码

项目包含一组用于自动化维护列表排序的 Python 脚本,是项目高效运作的关键。以下展示其核心逻辑。

代码文件:tools/asort.py(英文版排序脚本)

#!/usr/bin/env python3# -*-coding: utf-8-*-# Author : Christopher L# Blog : http://blog.chriscabin.com# GitHub : https://www.github.com/chrisleegit# File : asort.py# Date : 2016/08/22 11:12# Version: 0.1# Description: A very simple python script that can sort items alphabetically.from__future__importprint_functionimportosimportshutilimportre TEMP_FILE='temp.md'# 临时文件# 只处理在 BEGIN 和 END 标记之间的内容BEGIN='## Applications'END='## Setup'# 用于从Markdown链接中提取软件名(方括号内的文本)的正则表达式regex=re.compile(r"[^[]*\[([^]]*)\]")defmain():exit(1)sort_enable=False# 排序开关items=[]# 存储待排序的列表项# 读取原文件,并写入临时文件forlineininfile:# 1. 遇到 BEGIN 标记,开启排序模式ifnotsort_enableandBEGINinline:sort_enable=True# 2. 如果处于排序模式且当前行是列表项(以‘-’开头),将其加入待排序列表ifsort_enableandline.startswith(('-')):line=line.strip()items.append(line)# 3. 如果处于排序模式,遇到空行(且items非空),说明一个列表块结束,进行排序输出elifsort_enableandnotline.startswith(('-'))andline=='\n':# 按提取出的软件名(大写)进行排序foriteminsorted(items,key=lambdax:regex.findall(x.upper())[len(regex.findall(x.upper()))-1]):print(item,file=outfile)# 将排序后的项写入临时文件items.clear()# 清空当前列表项print(line,end='',file=outfile)# 写入空行# 4. 如果处于排序模式,遇到新的标题行(以‘#’开头),判断是否到达END标记elif(sort_enableandnotline.startswith(('-'))andline!='\n'andline.startswith('#')):sort_enable=ENDnotinline# 如果遇到END,关闭排序模式print(line,end='',file=outfile)# 5. 其他情况(非排序模式或非列表项行),直接写入else:print(line,end='',file=outfile)# 6. 用排序后的临时文件替换原文件if__name__=='__main__':main()

代码文件:tools/asort_zh.py(中文版排序脚本)

#!/usr/bin/env python3# -*-coding: utf-8-*-# ... 作者及描述信息 ...importosimportshutilimportre TEMP_FILE='temp_zh.md'# 对应中文版的章节标记BEGIN='## 应用'END='## 设置'regex=re.compile(r"[^[]*\[([^]]*)\]")defmain():# ... 错误检查、核心排序逻辑与 asort.py 完全相同 ...# 最终替换文件为目标中文文件if__name__=='__main__':main()

这些脚本通过精准定位文档结构、提取关键文本并排序,实现了对庞大列表的自动化、无差错维护,是项目保持高质量和可维护性的基石。
uAAZE/y9wTXpLISWy1DiEqD49gaP4401UCTzVL3txKjPbM/1iS1sg6r1iclVWjvj
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 20:55:50

2026年美股API测评:如何选择合适的数据接口?

随着金融技术的迅速发展,API已经成为开发者和金融分析师不可或缺的工具,特别是在进行量化交易、股票分析或开发金融应用时。稳定、实时的数据接口在这些应用中起着至关重要的作用。选择一个合适的美股数据API,不仅能确保数据的实时性&#xf…

作者头像 李华
网站建设 2026/7/2 21:21:38

Git MCP

在TRAE国际版中集成并使用Git MCP,核心是将其视为一个智能的、能理解你项目上下文的自动化助手。它负责处理与版本控制相关的常规操作,让你更专注于代码逻辑和创意本身。可以把Git MCP想象成一个熟练的图书管理员。你只需要告诉他你的意图(比…

作者头像 李华
网站建设 2026/7/8 0:44:54

Blender MCP

要让Blender和TRAE里的AI对话,关键在于Blender MCP。它相当于一个“翻译官”,把你用文字描述的想法(比如“建一个小屋”)转换成Blender软件能听懂的指令。 配置Blender MCP 整个过程需要两端准备:Blender软件和TRAE编…

作者头像 李华
网站建设 2026/7/14 11:38:19

困在系统里的酒店,你不知道的携程垄断练成史

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 卷圈 运营 / 卷圈 监制 / 姝琦 封面 / 姝琦 产品统筹 / bobo 场地支持 / 声湃轩北京录音间 我们从携程最近的反垄断风波切入,深扒了这家中国OTA巨头二十多年的发家史。从最初的“携程四君子”在饭馆儿凑出…

作者头像 李华
网站建设 2026/7/13 9:04:19

netlogon.dll文件丢失找不到 免费下载方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/7/8 0:24:27

python微信小程序的物流车辆货运评价信息平台

目录 物流车辆货运评价信息平台摘要核心功能模块技术实现要点应用价值 开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 物流车辆货运评价信息平台摘要 该平台基于Python和微信小程序开发&a…

作者头像 李华