Linux是一套开源免费和自由使用的类Unix操作系统,是一个遵循POSIX的、性能稳定的、支持多用户、多任务、多线程和多CPU的网络操作系统。以下附上Linux相关学习链接,希望有助于理解和练习。
Linux命令、文件路径及权限相关知识
Windows系统下创建Linux子系统
Linux系统安装中文输入法
Linux程序包管理神器Conda
Conda Channels镜像源(通道)配置
Ubuntu系统工作站挂载新硬盘
基于WSL安装的QIIME2流程常见问题及解决办法
一、Linux起源及发展
20世纪70年代,肯・汤普森(ken thompson)和丹尼斯・里奇(Dennis Ritchie)等人设计升级了Unix系统,且发布了伯克利软件套件(Berkeley Software Distribution, BSD)系统,众多商业公司以BSD系统为基础开发多种版本的UNIX系统。1984年,理查德・斯托曼(Richard Stallman)发起开发自由软件的运动,成立了自由软件基金会和GNU项目。1991年初,芬兰大学生林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)认为实习所用的Minix系统功能欠佳,便决定自主编写一个更加适用的操作系统。同年9月,林纳斯·本纳第克特·托瓦兹首次发布用汇编语言写的Linux操作系统,首个正式版本Linux 0.0.2系统hobby于1991年10月5日发布。1994年3月,Linux 1.0正式诞生,即一个开源免费的功能完备的操作系统。此后,Linux在众多专业爱好者的共同开发和维护下迅猛发展,1996年6月发布支持多个处理器的Linux 2.0内核,2001年1月发布提升SMP系统扩展性的Linux 2.4内核,2003年12月发布更具灵活性、扩展性和操作性的Linux 2.6内核,2011年发布支持虚拟化和文件系统的Linux 3.0内核。
二、Linux优点
(1) 开源与自由
Linux是开源软件的典型代表,公开源代码和遵循开源协议,任何人都能免费使用、查看、修改和分发,使得全球社区开发者都能参与到系统开发、改进和完善中。允许用户根据自身需求定制和优化Linux系统,无论服务器、桌面系统或嵌入式设备,都能找到适配的Linux发行版,甚至可以自行编译内核和选择安装所需程序包等。
(2) 安全可靠
Linux开发具有代码审查机制,全球开发者都可以参与审查公开源代码和修复安全漏洞,使得潜在的安全问题能被及时发现和解决。Linux系统权限管理严格,具有完善的用户权限管理和访问控制机制,对系统文件和用户文件进行了明确区分。不同用户和进程有差异化的权限分配,普通用户往往仅有个人文件的读写权限,降低了因误操作或恶意攻击导致系统故障或数据泄露的风险。此外,由于Linux系统的开源特性以及用户权限管理机制等,使得针对其的病毒和恶意软件相对较少,且在无管理员授权的情况下难以执行。
(3) 稳定高效
Linux内核经多年发展优化,具有出色的稳定性,能够长时间运行而无需频繁重启,适用于各种关键任务系统,如大型服务器和金融交易系统等。在面对错误和异常情况时,Linux系统通常能够有效地处理错误和恢复进程,通过日志记录等方式帮助管理员排查问题,降低系统崩溃概率。Linux系统对资源的管理分配相对高效合理,能够在不同硬件配置的设备上高效运行,有效避免计算资源浪费。
(4) 多用户、多任务、多线程和多CPU
Linux允许多个用户同时登录和使用系统,每个用户可以拥有自己的工作环境、文件和权限设置,系统能够为不同用户提供独立的操作空间,保证用户之间的工作互不干扰,适用于多人共用一台计算机的场景,如学校机房和企业办公等。Linux系统允许同时运行多个程序和执行多个任务,并通过高效的进程调度算法合理分配系统资源,使得所有任务都能得到及时响应。自1996年6月发布的Linux 2.0内核,即支持多线程和多CPU,且提供32位和64位版本。
(5) 丰富命令行与脚本编程功能
Linux提供了丰富的用于各种系统管理和操作的命令行工具,包括文件管理、进程管理和网络配置等,此类命令行工具功能强大、灵活高效,熟练掌握后可极大提高工作效率,适合普通用户、高级用户和系统管理员进行快速批量操作。Linux系统具有强大的脚本编程功能,支持Bash、Python、R、Java和C++等多种脚本语言,允许编写脚本来实现自动化任务和系统管理,减少繁琐的手动操作和人为错误。
(6) 软件生态丰富
Linux平台拥有海量的可用的开源软件,涵盖了办公软件LibreOffice、开发工具Visual Studio Code、服务器软件Nginx和多媒体软件VLC等,满足用户的多样化需求。Linux发行版通常配备有便捷的软件包管理系统,如Debian系的apt、Ubuntu系的conda和Red Hat系的yum等,可以轻松地通过命令行或图形界面进行软件的安装、更新和卸载,软件包管理系统还能自动配置软件的依赖关系和运行环境,确保软件的正常运行。
(7) 应用场景广泛
Linux系统以其开源免费、安全可靠、高效稳定和兼容性强等特点,深受多行业多领域的网络计算系统的青睐。Linux系统广泛应用于服务器领域(Web服务器/数据库服务器/邮件服务器/虚拟化)、桌面领域(个人电脑/编程教育)、嵌入式系统领域(智能手机/路由器/交换机/智能家居/汽车)、云计算领域(虚拟专用服务器VPS/Docker容器/分布式系统)、工程科学、区块链和物联网IoT等。
三、Linux发行版
Linux发行版(Linux Distribution)亦称GNU/Linux发行版,是指基于Linux内核的预先集成Linux操作系统及各种应用软件的操作系统。Linux发行版支持个性化定制且无需重新编译,旨在提供完整好用的系统、满足用户个性需求及促进Linux的发展推广。Linux发行版包括商业发行版和社区发行版,目前较为主流的Linux发行版有Debian、Ubuntu、Linux Mint、Raspberry Pi OS、RedHat、Fedora、OpenSUSE、Arch Linux、Gentoo Linux、Slackware Linux、Mageia、elementary OS和deepin等。
(1) Debian
Debian(https://www.debian.org/)是一个社区驱动的非商业发行版,遵循严格的自由软件政策。Debian历史悠久且极其稳定,以强大的软件包管理系统(APT)和庞大的软件仓库著称,拥有59000+个广泛适配的软件程序包,适合应用在大型服务器上。
(2) Ubuntu
Ubuntu(https://cn.ubuntu.com/)是基于Debian开发的极具兼容性的操作系统,对桌面和服务器用户都非常友好,也是最流行的Linux发行版之一。Ubuntu拥有超大体量用户群体,包括钟爱长期支持版本(LTS)的Linux萌新。Ubuntu拥有多种变体,如Kubuntu(KDE桌面环境)和Ubuntu Server(服务器)。
(3) Linux Mint
Linux Mint(https://www.linuxmint.com/)是基于Ubuntu开发的Linux操作系统发行版,非常注重用户体验,提供独特的桌面环境(Cinnamon/MATE/Xfce)和预装许多实用的办公及多媒体软件。
(4) Raspberry Pi OS
Raspberry Pi OS发行版(https://www.raspberrypi.com/)是专门为树莓派系列单板计算机设计开发的Debian衍生版,具有高度优化、界面友好、软件丰富和易于管理等优点。
(5) Red Hat
Red Hat Enterprise Linux(RHEL, https://www.redhat.com/zh)属于面向企业机构和数据中心的商业级发行版,提供长期技术支持和稳定性保障,稳定性和安全性极高,适用于执行关键任务。曾经的RHEL免费克隆版本CentOS和RHEL兼容,适合需要企业级部署但无预算的用户。CentOS现已合并至Rocky Linux或AlmaLinux,CentOS 8已于2021年12月31日停止维护,CentOS 7已于2024年6月30日停止维护。
(6) Fedora
Fedora分发版(https://fedoraproject.org/)是由Red Hat主导的社区项目,作为新技术测试平台而更多地面向开发者和爱好者。Fedora项目注重创新,往往涵盖最新的开源技术,频繁引入新功能和更新版本,包括工作站、服务器和物联网IoT。
(7) openSUSE
openSUSE(https://www.opensuse.org/)是德国公司SUSE推出的开源发行版,包括滚动更新版Tumbleweed和中长期稳定版Leap,具备全面的系统配置工具YaST,专注于用户友好和开发者友好。
(8) Arch Linux
Arch Linux(https://archlinux.org/)属于面向高级用户的滚动更新发行版,强调简约、现代化和用户自主定制,通过Pacman管理器和AUR社区仓库提供软件支持。
(9) Gentoo Linux
Gentoo Linux(https://www.gentoo.org/)以源代码形式构建系统,适合希望完全控制操作系统的超高级用户,鼓励用户个人编译定制软件,以获取满足特定需求的实现最佳性能的功能程序。
(10) Slackware Linux
Slackware Linux(https://slack.com/intl/zh-cn/)是现存的最古老的活跃的Linux发行版之一,由Patrick Volkerding于1993年创建发布且维护至今,以其简约设计和对Unix传统理念的坚持而知名。
(11) Mageia
Mageia(https://www.mageia.org/zh-cn/)是由Mandriva Linux(https://www.mandrivalinux-online.eu/)衍生出的一个社区主导的发行版,注重易用性和稳定性。
(12) elementary OS
elementary OS(https://elementary.io/)是基于Ubuntu精心打磨的极度美化的桌面Linux发行版,号称是颜值最高的Linux发行版,注重用户体验和设计美学,适合希望转换到Linux的Mac用户或Windows用户。
(13) deepin
deepin(https://www.deepin.org/index/zh)是国人开发的Linux发行版,基于Qt技术开发了深度桌面环境和深度控制中心,安装便捷、美观易用且安全可靠,能够很好地代替Windows系统的办公娱乐功能。