news 2026/10/19 11:37:39

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/10/16 18:56:29

【毕业设计】SpringBoot+Vue+MySQL 大学生心理健康管理系统平台源码+数据库+论文+部署文档

摘要 随着社会快速发展,大学生心理健康问题日益受到关注。学业压力、人际关系、就业焦虑等因素导致心理问题频发,传统心理咨询方式效率低、覆盖面窄,难以满足需求。高校亟需一套智能化、系统化的心理健康管理平台,实现心理问题早…

作者头像 李华
网站建设 2026/10/15 21:32:51

Flink 1.10/1.11 内存配置从“heap 时代”到“process/flink 时代”

1. 迁移必须知道的“硬规则” 旧版本&#xff08;TM < 1.10 / JM < 1.11&#xff09;很多内存参数即使不配也能跑&#xff0c;因为默认值很全。 新版本开始&#xff0c;至少要显式配置下面这些中的一类&#xff0c;否则会直接失败&#xff1a; TaskManager 至少配置一项&…

作者头像 李华
网站建设 2026/10/11 1:52:53

Fetch MCP

要让TRAE这个智能编程助手的能力突破自身限制&#xff0c;直接与外部世界互动&#xff0c;关键就在于为其配置合适的“工具扩展包”&#xff0c;即MCP Server。Fetch MCP通常指一类能让TRAE&#xff08;通过其智能体&#xff09;访问和获取网络资源的MCP服务。 下面从配置到优…

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

汽车制造WebUploader如何在局域网实现大文件分块与续传?

一个准毕业码农的"史诗级"文件管理系统开发日记 各位码友大家好&#xff0c;我就是那个被10G大文件折磨得死去活来的山西大三狗&#xff01;&#x1f62d; 血泪开发史 “老师&#xff0c;我这个文件管理系统能传10G文件&#xff01;” —— 这话说出来我自己都不信…

作者头像 李华
网站建设 2026/10/15 12:48:33

帝国整站程序能否跨平台导入PPT演示文稿?操作步骤是?

CMS企业官网Word文档导入功能开发记录 需求分析 作为浙江的一名PHP开发者&#xff0c;我最近接手了一个帝国CMS企业官网的外包项目。客户提出了一个关键需求&#xff1a;在后台新闻管理系统的文章发布模块中&#xff0c;增加Word/Excel/PPT/PDF文档导入和一键粘贴功能。这个需…

作者头像 李华
网站建设 2026/10/19 9:37:06

智能预判+情感识别+自动闭环:大模型如何系统性优化客户沟通全链路

据IDC《2023中国智能客服市场研究报告》显示&#xff0c;超76%的企业将“大模型驱动的智能沟通”列为客服体系升级核心方向&#xff0c;市场规模年增速突破35%。当传统呼叫中心仍在人力成本与服务标准化的困局中挣扎&#xff0c;大模型正以自然语言理解、情感计算、知识推理等能…

作者头像 李华