Menu Close

零基础Linux操作系统教程入门

linux简介

Linux文件系统和文件属性

linux命令

外壳脚本

什么是Linux的makefile ?

Linux的内核 (选修)

Linux系统的构成
Linux之父终于被劝动:用了30年的Linux内核C语言将升级至C11
那些计算机语言可以在linux操作系统下运行?
什么是Linux内核?内核在操作系统中的作用是什么
Linux内核源代码的目录结构
Linux内核的核心功能, Linux内核的整体架构和Linux内核的子系统划分
linux内核的进程调度策略
什么是GNU?GNU与Linux是什么关系 ?
Linux为什么能够成功,其开发模式和运作机制是什么?Linux 历史
Linux内核的特征及 Linux内核版本的变化
Linux内核源代码,Linux内核源代码结构,如何阅读Linux Kernel 源代码, Linux 内核源代码分析工具
形成Linux操作系统认识框架

什么是 Linux ?

“开源”一词起源于软件开发环境,用于指定创建计算机程序的特定方法。开源操作系统基本上是指一种计算机软件,其版权所有者授予世界各地的用户分发(出于任何目的向任何人)、更改和研究该软件的权利。

Linux 是一个社区开发的开源操作系统,适用于服务器、计算机、大型机、嵌入式设备和移动设备。包括 SPARC、ARM 和 x86 在内的几乎所有主要计算平台都支持 Linux,这使其成为支持最广泛的操作系统之一。

Linux 发行版,也称为 Linux 发行版,是开源 Linux 操作系统的一个版本,并与各种其他组件打包在一起,如管理工具、安装程序和其他软件,如 KVM 管理程序。RedHat 的 RHEL(Red Hat Enterprise Linux)是最流行的 Linux 发行版之一。 RHEL 是专门为商业市场开发的。

Linux 和 Window的不同

在本节中,我们将 Linux 与另一个主要操作系统 Windows 进行比较。

Windows操作系统(别名:视窗操作系统),是由美国微软公司(Microsoft)研发的操作系统,问世于1985年。起初是MS-DOS模拟环境,后续由于微软对其进行不断更新升级,提升易用性,使Windows成为了应用最广泛的操作系统 
Windows采用了图形用户界面(GUI),比起从前的MS-DOS需要输入指令使用的方式更为人性化。随着计算机硬件和软件的不断升级,Windows也在不断升级,从架构的16位、32位再到64位,系统版本从最初的Windows 1.0到大家熟知的Windows 95、Windows 98、Windows MeWindows 2000、Windows XP、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10、Windows 11和Windows Server服务器企业级操作系统,微软一直在致力于Windows操作系统的开发和完善。下面的表格说明了 Windows 和 Linux 之间的比较。
 
Windows OS
Linux OS
Windows 操作系统非常易于使用,其两个主要设计特点是简单性和用户友好性。
普通用户应该对如何使用 Linux 操作系统有所了解。而且,为了执行日常操作,用户需要深入了解底层系统。
与 Linux 相比,Windows 的可靠性较低。
Linux 是高度安全和可靠的。它更多地关注正常运行时间、系统安全和流程管理。
大多数 Windows 游戏、实用应用和程序都是商业的。
大多数 Linux 游戏、实用应用程序和程序都是开源和免费的。
Windows 提供在线和集成的帮助系统。此外,还有许多适用于所有技能水平的书籍。
Linux 有大量的在线支持。这是通过一个庞大的网站和用户论坛社区实现的。
Windows 操作系统通常由依赖微软软件的新手用户、游戏玩家和商业用户使用。
各种规模的学术、科学和企业公司都在使用 Linux。该操作系统用于为 NASA、Twitter、Facebook、Google 和其他各种顶级组织的服务器和开发机器提供动力。
Windows 安装非常简单,但需要时间。
Linux 操作系统安装有一些复杂,但该操作系统可以更快地完成复杂的任务。

Linux的特点

多年来,Linux 以一种非常高效和快速的系统而享有盛誉,它的功能将告诉您该操作系统的有效性。现在,让我们探索一下 Linux 操作系统的主要功能和特点:

1. 便携性及可移植性
这意味着软件可以以相同的方式在各种硬件上运行。在这里,移植意味着改变软件并使其适应在不同的系统上运行。 Linux OS 可以在任何硬件环境中运行。

2. 自由软件
Linux 可以从 Internet 上免费下载。如果您想更改系统的行为,免费更新、每位用户免费、无需注册费。免费提供源代码。

READ  设备文件

3. 多功能且安全
Linux 中使用的安全模型依赖于 UNIX 的安全理念,众所周知,它的质量已经过验证。这就是为什么许多任务在夜间执行或自动安排在其他平静时刻执行的原因,从而在更繁忙的时段提高可用性并以更平衡的方式利用硬件。

4.多用户系统
Linux 是一个多用户系统。这意味着系统的资源,如应用程序、RAM、内存可以被多个用户同时访问。

5.分层文件系统
Linux 提供了一个标准的文件结构,其中排列了用户文件/文件。

6. 多道程序
Linux 支持多道程序设计。多道程序意味着可以同时运行多个应用程序。

Linux有什么优势?

与其他操作系统相比,Linux 的最佳优点是它的可靠性、价格以及它为您提供的自由度。现在,是时候让我们了解一下 Linux 操作系统的主要优势:

Linux操作系统有什么优点
Linux操作系统有什么优点

1. 免费
这是 Linux 的主要优势之一,因为您可以从 Web 上免费下载大多数 Linux 发行版。此外,Linux 发行版可以免费下载并合法安装在任意数量的计算机上,并且可以免费提供给其他人。

2. 安全
大多数攻击操作系统的病毒都是通过 Active X 软件框架开发的,而 Linux 没有。同样的原理也适用于各种其他病毒,如蠕虫、木马或间谍软件。

3. 稳定性
Linux 系统非常稳定,不会像其他系统一样死机。

4. 开源
您可以添加新功能、删除您不喜欢的内容以及自定义某些功能。您可以这样做,因为源代码可供公众访问,他们可以根据自己的要求进行相关更改和定制软件。

5. 对编程语言的支持
Linux 支持几乎所有的编程语言(Ruby、Perl、Java、C/C++、Python 等)。它还提供了许多对编程有用的应用程序。如下编程语言可以在Linux操作系统运行:

  • Ada
  • C
  • C++
  • Eiffel
  • Forth
  • Fortran
  • Icon
  • Java
  • Javascript
  • Lisp
  • Modula 2
  • Modula 3
  • Oberon
  • Objective C
  • Pascal
  • Perl
  • PostScript
  • Prolog
  • Python
  • Ruby
  • Smalltalk
  • PHP
  • Tcl/Tk
  • Bourne Shell

Unix和Linux有什么区别?

Linux 是当今世界比 Unix 更著名的操作系统,但后者有自己的用户。 Unix 是一个类似于 Windows 和 DOS 的多用户、多任务操作系统系列,该操作系统被 HP、Intel、Solaris 等几个主要公司和组织用于工作站、互联网服务器和 个人主机服务。

 

Unix 是专用操作系统,由贝尔实验室开发。它主要在 CLI(命令行界面)上工作。

此外,Unix 不如 Linux 灵活,并且与不同硬件类型的兼容性较差。它的安装需要定义明确且严格的硬件机制,并且只能在特定的 CPU 机器上运行。

与 Linux 相比,Unix 的安装成本很高,因为前者需要特殊的硬件并且只能在特定的 CPU 处理器上运行。

Unix OS 不可移植,与 Linux 相比,它的发行版或版本数量较少。 Unix 的源代码不是免费提供的,与 Linux 相比,它支持的文件系统更少。

Linux 操作系统基于 Unix,它基本上是一个内核,具有类似于 Windows 操作系统的 GUI(图形用户界面),它还有一个 CLI,它是可选的。

与 Unix 不同,Linux 可以自由下载、分发。此外,还有一些针对 Linux 的定价发行版,例如 Red Hat Linux,它们通常比 Windows 便宜。

Linux 几乎兼容所有硬件系统,并且非常灵活。

您可以在包含处理器的任何设备上安装和执行 Linux。 Linux 的源代码作为免费的操作系统免费提供。

与 Unix 相比,Linux 安装非常经济。 Linux 具有高度可扩展性并支持大量文件系统。与 Unix 相比,有许多 Linux 版本或发行版。

我可以使用 Linux 做什么?

将 Linux 系统下载到您的计算机上之后,您发现您可以干很多事情。

储存和分享相册
Zoph 是一个能够在 Linux 上运行良好的程序,它将允许您与朋友和家人分享您的个人照片。它将允许您通过 Tar 或 Zip 文件导入您的照片集,将它们组织到您想要的相册中,然后为作者和地理区域设置属性,然后让您的朋友和家人看到它们。

这是您向您所爱的人炫耀您的照片的好方法,而不必担心其他人会得到不需要的照片。

构建媒体服务器
Linux 擅长处理远离计算机的文件,您家中的服务器将很快成为许多不同公司的必备配件。

移动电话、电视和游戏机正在快速开发播放、显示和读取媒体中心 PC 上文件的能力,而 Linux 是您可以用来执行此操作的完美软件。

您所需要的只是一台功耗相对较低的 PC,以及一些良好的存储空间和一个存放所有内容的好地方。

创作音乐
在 Linux 系统中,您将能够使用 Rosegarden 程序,该程序可以帮助您通过内部乐器创建和弦、旋律和鼓音轨,然后才能将所有这些保存到文件中。

为了使用这个系统,您将使用 Rosegarden 与您的音频硬件以及其他音频应用程序进行通信。

写互动小说
您是否曾经想成为一名作家,但又想尝试一些不同的东西? Linux 系统将能够帮助您解决这个问题。编写故事也不必成为编码专家,因为这将使用您的自然语言形式进行。

为什么我们要使用 Linux ?

如果您必须选择市场上可以买到的最好的编程软件系统,那么没有什么比 Linux 提供的更好、更具优势的了。

以下是您应该选择使用 Linux 系统而不是选择市场上其他系统的理由:

  • Linux是免费的
  • 易于使用和安装
  • 商业支持
  • .NET 支持
  • 和Unix一样的正常运行时间
  • 安全
  • 便于移植,可携带
  • 硬件系统要求较低
  • 全球支持的开源社区
  • Linux 基金会
  • 定期更新

如您所见,使用此系统可以获得许多不同的好处,尤其是当您能够将其与市场上的其他系统进行比较时。

如何学习 Linux?

学习 Linux 的第一件事就是优先考虑你的需求。由于 Linux 带有许多发行版,因此您必须选择适合您需求的发行版。

要选择一个发行版,您必须了解所有可用的发行版。

然后,您必须了解可以与 Linux 发行版一起使用的桌面环境。熟悉操作系统附带的应用程序。

您必须学习如何使用终端,因为它存在于所有 Linux 操作系统中。

您可以通过终端下载应用程序和文件。搜索操作系统附带的软件中心应用程序。

此应用程序将帮助您找到可以安装的新应用程序。使用终端,您可以安装软件中心中不存在的应用程序。

您必须熟悉文件系统并了解常见目录的存在位置。这样,您就可以学习 Linux。

READ  Linux 下的环境变量列表

什么是 Linux 命令以及如何使用它们?

如果用户向计算机发出指令以执行特定任务,则该指令被表述为命令。

在本节中,我将向您介绍基本但非常重要的 Linux CLI 命令。这些命令将为您提供从 shell 到 Linux 终端的实用知识:

  • rm:此命令用于从 Linux 操作系统中删除文件。
  • locate:用于在 Linux 操作系统中定位文件。
  • touch:使用户能够使用 Linux CLI 创建文件。
  • rmdir:使用户能够使用 Linux CLI 删除现有的目录。
  • mkdir:允许用户创建一个新目录。
  • man:用于显示输入命令的手册。
  • mv:用于将文件移动到另一个目录或文件夹。
  • cd:允许用户在文件目录之间切换。
  • ls:列出给定文件系统下归档的所有重要目录。

什么是 Linux Shell?

shell 是操作系统中的一个特殊程序,它从键盘获取命令并将它们提供给操作系统执行。

它是 Linux 上唯一可用的 UI(用户界面)。今天,除了 shell 之类的 CLI,我们还有 GUI。一个称为 bash 的程序在大多数 Linux 系统上用作 shell 程序。

我们可以在 Linux 系统中安装的其他 shell 程序是 zsh、tcsh 和 Ksh。称为终端仿真器的程序会打开一个窗口,使您能够与 shell 交互。

1.导航

为了有效地使用 Linux 系统,您必须浏览文件系统并深入了解您周围的情况。

为此,您需要有权访问 Linux 服务器。您还应该对终端的工作方式以及 Linux 命令的外观有基本的了解。您还应该配置非管理的常规用户帐户。

在 Pwd 命令的帮助下,您可以找到您的主目录与文件系统其余部分的关系。

您可以在 ls 命令的帮助下查看目录的内容。称为 cd 的命令用于通过提供绝对路径来更改目录。因此,为了探索 Linux 文件系统,您可以使用这 3 个命令。

2.进程管理

每当 Linux 或用户启动程序时,Linux 都会创建一个进程。进程实际上是有关正在发生的事情以及该程序如何运行的信息的容器。

如果 Linux 进程完美运行并终止,一切都会好起来的。

但是,如果进程在时间到时拒绝终止,或者如果它占用 CPU,我们可以使用一些 Linux 命令来帮助恢复进程的功能。

在管理 Linux 进程时,您必须观察哪些进程正在运行,并查看每个进程正在使用多少 Linux 系统。

找到一个特定的进程来查看它正在做什么以及是否需要采取任何行动。您必须定义或更改与该进程关联的优先级。

如果该过程行为不端,您可以简单地终止它。下面是一些可用于管理 Linux 进程的命令。它们可以通过 CLI 输入。要访问 CLI,只需打开一个终端窗口。

  • top:提供有关当前现有流程的信息。
  • htop:这就像一个top,但更聪明更漂亮。它以更清晰的格式呈现信息。
  • ps:用于列出正在运行的进程。
  • pstree:用于显示Linux进程的树形图,以及它们之间存在的关系。
  • who:列出当前登录Linux系统的用户。
  • kill:用于终止进程。

3.文件系统

Linux 中的所有文件和目录都位于树状结构中。文件系统根目录是最顶层的目录。这是访问所有其他目录并以分层结构排列的目录。

Linux 文件系统的关键特性是指定路径、驱动器、分区、目录、挂载和卸载、文件扩展名、区分大小写、文件系统权限和隐藏文件。

标准 Linux 发行版提供磁盘分区选择的文件格式如下:

  • ext2、ext3、ext4:这三个文件系统是ext(Extended Filesystem)的渐进式版本。 ext 主要是为 MINIX 开发的。虽然 ext2 是一个改进的版本,但 ext3 的性能有所改进。 ext4 的到来见证了性能的提高以及一些附加功能。
  • 日志文件系统 (JFS):JFS 是 IBM 为其 AIX 操作系统开发的文件系统。 JFS 在日志文件中跟踪对文件夹和文件的更改。
  • ReiserFS:ReiserFS 是 ext3 的替代品,具有高级特性和改进的性能。
  • Btrfs(B-Tree File System):专注于大型存储配置、修复系统、有趣的管理和容错。提供先进的功能,如快照、压缩和子卷管理,适用于需要高级数据管理的环境。
  • Ext4 (第四代扩展文件系统): 是最常用的文件系统,支持大文件和大容量存储,具有良好的性能和可靠性。
  • XFS: 高性能的文件系统,适用于大文件和高并发操作的场景,广泛用于服务器。
  • ZFS: 原本由Sun Microsystems开发,适用于高可靠性和大规模存储的应用,支持高级功能如数据完整性检查和快照。

4.目录结构

Linux 的目录结构是一个层次化的树形结构,所有的文件和目录都源自根目录 (/)。以下是 Linux 系统中一些重要的目录及其作用的详细介绍:

1. 根目录 /

根目录是整个文件系统的起点,所有的文件和子目录都位于其下。Linux 中的每一个磁盘分区都会挂载到一个目录下,但最终所有的路径都从根目录开始。

2. /bin

  • 基本命令二进制文件目录:存放着基本的用户命令,如 ls, cp, mv, rm 等。这些命令在系统启动进入单用户模式时也必须可用,因此 /bin 目录中的文件通常位于根文件系统上。

3. /sbin

  • 系统二进制文件目录:存放系统管理员使用的基本系统管理命令,如 ifconfig, reboot, shutdown 等。这些命令对普通用户来说一般是不可执行的,只有超级用户(root)才能使用。

4. /etc

  • 配置文件目录:存放所有系统级的配置文件和脚本,如网络配置文件、启动脚本、用户账户信息等。这里不应该存放二进制文件。

5. /dev

  • 设备文件目录:存放系统中的所有设备文件。Linux将设备(如硬盘、光驱、USB设备等)看作文件进行处理,常见的设备文件有 /dev/sda(第一个SCSI/SATA硬盘)和 /dev/null(一个特殊设备,丢弃所有写入的数据)。

6. /proc

  • 虚拟文件系统目录:存放系统内核和进程信息。这里的文件并不是真正的文件,而是由系统内核生成的虚拟文件,用于反映系统当前状态。常用的如 /proc/cpuinfoCPU信息)和 /proc/meminfo(内存信息)。

7. /var

  • 可变数据目录:存放经常变化的数据文件,如系统日志文件、缓存、锁文件和临时邮件。例如,/var/log 存放日志文件,/var/spool 存放任务队列数据。

8. /tmp

  • 临时文件目录:存放临时文件,通常在系统重新启动后清空。在脚本和程序运行过程中,可能会生成临时文件存放在此目录中。

9. /usr

  • 用户级应用程序和文件目录:存放用户安装的应用程序和共享库。这个目录通常是系统中最大的目录之一。其子目录包括:
    • /usr/bin: 存放用户应用程序的可执行文件。
    • /usr/sbin: 存放系统管理程序的可执行文件。
    • /usr/lib: 存放共享库文件和内核模块。
    • /usr/share: 存放共享的、平台无关的数据文件,如文档、配置文件样例。
    • /usr/local: 存放本地管理员安装的软件,一般不由操作系统软件包管理器管理。

10. /home

  • 用户主目录:每个用户在这个目录下都有一个子目录,命名通常与用户的登录名一致,例如 /home/user1。用户的文档、配置文件、下载内容等通常保存在这里。
READ  什么是Linux ? 什么是操作系统?什么是Unix?什么是GNU/Linux

11. /root

  • 超级用户主目录:与普通用户的主目录不同,/root 是超级用户(root)的主目录。这个目录通常仅对超级用户可访问,并用于存放系统管理相关的文件。

12. /boot

  • 启动文件目录:存放引导系统启动所需的文件,包括内核镜像(如 vmlinuz)、引导加载程序配置文件(如 grub.conf)等。

13. /lib

  • 系统库文件目录:存放系统的共享库文件和内核模块。/lib 目录下的库文件支持 /bin/sbin 目录中的二进制文件的正常运行。

14. /mnt 和 /media

  • 挂载点目录/mnt 是用于临时挂载文件系统的目录,管理员可以手动挂载光盘、U盘等设备到这个目录。/media 目录用于自动挂载的可移动设备,如光盘、USB驱动器等。

15. /opt

  • 可选应用程序包目录:用于安装附加的应用程序包。通常,这些应用程序不由操作系统默认安装和管理。每个应用程序可以有自己的子目录,避免与系统文件发生冲突。

16. /srv

  • 服务数据目录:用于存放由系统提供的服务的数据。例如,Web服务器的网页内容通常放在 /srv/www 下。

17. /lost+found

  • 恢复文件目录:这是每个ext文件系统(如ext4)卷的标准目录,用于存放文件系统在崩溃后恢复的碎片文件。

18. /run

  • 运行时数据目录:用于存放系统引导后产生的临时数据,例如进程ID文件(PID文件)。这个目录通常是在系统启动时创建的,包含的数据在系统重启时不会保存。

19. /sys

  • 系统信息目录:与 /proc 类似,/sys 是一个虚拟文件系统,提供了一种访问系统硬件信息的接口。它反映了系统硬件的当前状态。

5. 文件操作

在 Linux 操作系统上工作时,重要的是我们构建一个目录结构,使我们能够以一种可管理的方式组织我们的数据,而不会浪费大量时间搜索特定文件。在本节中,我将让您了解一些对文件创建和操作有用的命令。

  • mkdir:用于创建目录。
  • rmdir:用于删除目录。
  • touch:用于创建空白文件。
  • cp:用于复制目录或文件。
  • mv:用于移动目录或文件。
  • rm:用于删除文件。

6.允许权限

虽然 Linux 操作系统有很多安全特性,但当授予本地访问权限时,仍有可能存在潜在漏洞。这意味着如果用户没有为目录和文件分配正确的权限,则会出现基于文件权限的问题。因此,需要正确分配权限,下面是分配权限的方法。

每个目录和文件有 3 个基于用户的权限组。分别如下:

  • 组权限:这些权限仅适用于分配给目录或文件的用户组。其他用户不受这些权限的影响。
  • 所有者权限:这些权限仅适用于目录或文件的所有者。其他用户的操作不会受到这些权限的影响。
  • 所有用户权限:这些权限适用于系统上存在的每个用户。

每个目录或文件有 3 种类型的权限。它们如下。

  • 写入权限:这些权限是指用户写入或修改目录或文件的能力。
  • 读取权限:这些权限是指用户读取文件内容的能力。
  • 执行权限:这些权限影响用户查看目录内容或执行文件的能力。

可以通过检查 GUI 文件管理器中的目录或文件权限来查看权限。

Linux 职业道路 – 工作、角色和职责以及薪资待遇

几乎每家著名公司和组织都需要 Linux 认证工程师,因为如今,他们很难为他们的公司找到知识渊博且经验丰富的 Linux 候选人。

职位在很大程度上取决于 基于Linux操作系统的 python 开发人员、DevOps 工程师、系统管理员、系统工程师、Java 开发人员、Linux 管理工作、C++ 开发人员等。

各种 Linux 工作岗位包括 Linux 管理员、Linux 工程师、Linux 系统管理员、高级软件工程师等。Linux 管理员的角色和职责包括维护、配置以及安装 Linux 工作站和服务器。他们负责维护服务器和网络环境的健康。

Linux工程师的工作范围“

  • 遵守公司的安全标准,Linux 管理员必须确保他们提供解决方案并支持和解决用户请求。
  • 负责评估软件和硬件技术,并且必须不断更新 Linux 系统的知识。
  • 有了许多 Linux 工作,我们脑海中浮现的下一个问题就是为这些工作提供的薪水。
    1. 如果候选人在没有任何证书的情况下被聘为软件开发人员或系统管理员,他/她预计每年可抽取 100000 美元。
    2. 但是,拥有 CompTIA Linux 认证的人的收入比同一领域的其他人高出 8%。

因此,本 Linux 教程将使您了解 Linux 的全部内容,并帮助您深入了解所有 Linux 概念。

除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Leave the field below empty!

Posted in Linux 教程

Related Posts