Linux 初学者编程资源

Linux.org 主页

Linux 是在许多平台上使用的开源操作系统 (OS)。 它在服务器和超级计算机上很普遍。 然而, Linux 用途广泛,可以在台式机、笔记本电脑、嵌入式设备、移动设备等设备上运行。 

该操作系统由 Linus Torvalds 首次推出,自 1991 年以来一直存在。它是其他系统的免费替代品,如 Unix的MINIX. 今天有很多不同的口味 Linux 这些年来出现的。 这些包括 红帽企业 Linux (RHEL), Debian, Ubuntu, Gentoo的等等。

理解 Linux

当您听到这个词 Linux,它可能会让人联想到一个长头发的怪胎和一件 T 恤,上面写着:“Linux 是我的宗教。” 好吧,如果你想成为一名程序员或计算机科学家,那可能就是你。

背后没有单一的创造者或设计师 Linux 今天。 相反,它是一个开源操作系统,由不同的程序员随着时间的推移而修改和发布。 这个生态系统与微软严格控制的 Windows 操作系统形成鲜明对比。

的基本概念 Linux 代码编程

的所有分布 Linux 围绕内核旋转。 内核是操作系统的核心,就像道路的基础。 然而,虽然内核很重要,但您需要额外的软件才能使其有用。 该软件被称为“覆盖”。

新的 Linux 内核包含一组命令和程序,可让您从命令行控制设备。 的一些例子 Linux 命令包括:

  • 打坏 - 大多数的默认外壳(命令界面) Linux 分布。
  • grep的 - 用于在文本文件中搜索模式的实用程序。
  • 须藤 – 前言操作系统应以管理员身份运行的命令。

桥梁 Linux 这些年来,命令没有太大变化。 虽然在不同的地方存在一些变化 Linux 分布,大多数在概念上是相似的。 这 Linux 社区在包容性方面也享有盛誉,因此初学者很容易找到其他可以帮助他们学习编码的人。

脚本在 Linux

学习编写脚本 Linux 对于任何系统管理员、开发人员或软件工程师来说都是必不可少的。 这是自动化重复性任务并使您的生活更轻松的唯一方法。 但是,虽然您可以使用 Linux 脚本来自动执行任务,必须了解它们都不像实际的编程语言那样强大。

新的 Linux shell 是一个命令行解释器,它使您能够连续运行一个或多个命令。 它就像一种基本的编程语言,允许您创建 shell 脚本。 

Shell 脚本是包含命令列表的纯文本文件。 您可以在任何文本编辑器中编写这些脚本,例如 VIM or 纳米, 然后通过将文件名作为参数传递给 shell 来执行它们。 当您运行脚本时,它将按顺序执行每一行,就好像您在命令提示符下输入了这些行一样。

这里有一些初学者的基础知识 Linux 命令和脚本;

  • Hackr.io 提供了前 25 名的列表 基本 Linux 命令 适合初学者。
  • 学习壳牌 提供简单的 Linux shell 教程,甚至还有一个界面供您测试您掌握的技能。
  • 有关 shell 脚本的更全面的会议,请加入 学习 Bash 脚本 领英课程。

为什么选择 Linux 编程?

你可能想知道学习的意义是什么 Linux 编程是。 毕竟,您可以使用许多其他应用程序来构建您的应用程序。 第一点要注意的是 Linux 是免费的开源软件。 这使得任何人都可以免费获得它。

除此之外,其特点 Linux 其应用使其在特定行业或用例中占据重要空间。

Linux 支持多种不同的语言,因此如果您已经熟悉一种语言但想要额外的挑战,那么切换可能是正确的选择。 其中一些语言具有相似的根源,因此进行转换可能相对轻松。

此外,现在有一些工具,如 Docker 容器,开发人员可以使用他们想要的任何语言编写代码,而不管系统本身是否支持它。

请注意: Linux 编程可能意味着不同的东西。 例如,您可以选择在 Linux 内核,创建内核模块。,或构建 Linux基于应用程序。

Linux 内核开发

新的 Linux 内核是核心组件 Linux 处理系统所有任务的操作系统。 它还处理输入/输出 (I/O) 请求、与硬盘驱动器和网卡等设备的通信、文件系统访问、内存管理、进程调度等。

内核充当计算机上运行的应用程序和它们用来完成工作的硬件之间的中介。 它为这些不同部分之间的通信提供了一个接口,使它们能够顺利地协同工作。

发展 Linux 内核模块

内核模块是一种可以在运行时加载和卸载的内核扩展。 它们由执行特定任务的自包含代码片段组成,例如访问硬件设备或实现网络协议。

一般来说,有两类 Linux 内核模块:静态编译和动态链接。 

在前一种情况下,模块在从源代码构建时被编译到内核映像中; 在后一种情况下(与大多数应用程序一样),仅包含一个目标文件作为内核构建过程的一部分。 但是,您必须针对给定版本的 Linux's 应用程序二进制接口 (ABI) 正常工作。

开发应用程序 Linux

Linux 由于其灵活性和可扩展性,它是开发应用程序的绝佳平台。 它适用于多种平台,例如台式机、笔记本电脑和服务器。 因此,如果您有一个想法或正在研究需要跨所有系统的可移植性,这是您最好的选择。

Linux 在安全性和稳定性方面也是开发应用程序的绝佳平台。 它带有高质量的开源软件 (OSS),确保在您的程序上运行时很少有错误潜入您的程序 Linux基于 Android 手机和平板电脑或 Raspberry Pi 板的系统。

在的职业 Linux 代码编程 

大多数共享托管服务由 Linux 服务器– 如: TMD Hosting.

由于它的受欢迎程度,有很多工作在 Linux 编程。 在某些行业和应用中,它是事实上的标准。 例如,大多数服务器将运行在 Linux. 然而,你知道吗,即使是移动设备也高度依赖 Linux 作为基础?

Linux 程序员在航空航天和国防、汽车、政府、金融、医疗保健等许多利基行业也至关重要。

如果你正在考虑一份工作 Linux 编程,这里有一些可用的站点;

的确 – 该工作聚合网站涵盖全球范围内的安置职位。 您可以在许多公司找到合同、自由职业或全职职位。 你会找到专家 Linux 像内核开发人员、JNet 程序员、DevOps 工程师,甚至 Linux 服务器工程师。

他说, – 该招聘平台偏向IT行业,职位多 Linux 程序员。 您可以加入正在寻找的公司 Linux 软件工程师,嵌入式 Linux 开发人员、Python/Perl 程序员等。

Linux 基金会 – 铁杆 Linux 粉丝可以尝试在 Linux 基础。 他们一直在寻找有才华的人,目前需要首席软件工程师、数据工程师、安全研究人员等。 还有相当数量的非编程角色可用于 Linux 爱好者。

Linux 和 Linux 编程资源

有许多资源可供您获得帮助或了解更多信息 Linux,各种兼容的编程语言,甚至与社区成员讨论问题。 这些可以涵盖广泛的范围;

下载 Linux 分布

Linux 文档和新闻

  • 新的 Linux 文档项目 致力于为 GNU 操作系统提供高质量的文档。 它旨在帮助用户在 GNU/Linux 或其任何变体(例如 BSD)。 
  • Linux 每周新闻 (LWN) 是一份周刊,重点关注与自由软件项目相关的主题,例如内核、实用程序、设备驱动程序等。 它涵盖了构建和维护的所有方面 Linux 从开发人员的角度来看项目。
  • 9to5 Linux 是一个相对较新的博客 Linux. 它带来了一切的最新更新 Linux-从发行更新到相关 Linux- 特定工具。

Linux 社区和论坛

正式 Linux & Linux 编程课程

  • Udemy ——在这里,你会发现很多 Linux- 特定课程,包括 Python、Perl 等多种编程语言。 课程采用视频格式,可按需提供,包括作业和结业证书。
  • Coursera – 与 Udemy 一样,Coursera 为各种 Linux 弟子。 你可以从中学到一切 Linux 基本面 Linux 私有云管理。
  • EDX – 也许是最正式的学习选择,edX 将来自 160 多所成员大学的课程整合到一个平台上。 著名的名字包括麻省理工学院、哈佛大学和波士顿大学。 您可以在 edX 上找到从专业证书到硕士学位的所有内容。

总结

编程是一种超越平台的技能,所以你对编程了解的越多越好。 当今使用的许多最流行的编程语言都用于 Linux - 其中许多是开源的。

当您可以将其置于上下文中并查看它解决了哪些问题时,学习编程的基础知识通常更易于管理。 上面的许多资源都包括有关使用新获得的知识的教程。

学习任何编程语言的最好方法是自己动手。 一开始你会犯错误,但随着时间和练习,你的技能会提高。

了解更多

作者照片

文章 Timothy Shim