Linux / Unix 教程
本 Linux 教程旨在为初学者 , 高级 Linux 爱好者 , Linux 系统管理员 , Bash Shell 脚本程序员和其他愿意学习和实践 Linux 的技术爱好者提供 Linux 学习。
Linux ( Unix 的变体 ) 是一种开源计算机操作系统 , 能够同时处理多个用户的活动。尽管 Unix 是由 Ken Thompson 和 Dennis Ritchie 于 1969 年在 AT & T 贝尔实验室开发的 , 但 Linux 是由 Linus Torvalds 在赫尔辛基大学读书时开发的。
操作系统定义
操作系统 ( OS ) 实际上是一种软件 , 其作用类似于计算机用户和计算机硬件之间的接口.它接受用户的命令 , 执行所需的任务并将结果返回给用户.操作系统执行所有基本任务 , 例如文件管理 , 内存管理 , 进程管理 , 处理输入和输出以及控制磁盘驱动器和打印机等外围设备操作系统的示例是 Linux 、 Unix 、 Windows 、 MacOS 、 iOS 、 Android 、 MS - DOS 、 Solaris 等。
什么是 Linux ?
Linux 是一个操作系统 , 它被开发为替代其他现有但扩展的操作系统 , 特别是 Unix , Windows , Mac OS , MS - DOS , Solaris 等.当 Linus Torvalds 在赫尔辛基大学学习时 , 他决定创建自己的操作系统并将其保留为开源 , 以便来自世界各地的用户可以提出改进建议。
Linus Torvalds 在 1991 年开发了自己的内核和一些程序 , 后来成为一个完整的标记操作系统 , 很快就被公司 , 大学和其他机构的计算机工程师广泛接受.今天 , Linux 是使用最广泛的操作系统之一 , 它有各种变体 , 如 Ubuntu , CentOS , Fedora , Debian , openSUSE , RedHat , MX Linux , Arch Linux , Gentoo 等
在线 Linux 终端
作为初学者 , 您可能会面临在自己的计算机上安装 Linux 的挑战。因此 , 我们设置了一个在线 Linux 终端 , 供您练习基本的 Linux 命令和概念。我们提供了 在线 Linux 终端 , 您可以直接从浏览器在命令提示符下键入和执行几乎所有 Linux 命令 , 而无需设置开发环境。
我们还提供和 IDE 来编译 Linux Shell 脚本。您可以尝试单击图标 运行以下 Bash Shell 代码以打印常规的 “Hello, World! ” 。
下面的代码框允许您更改代码的值。尝试更改里面的值 回声 并再次运行以验证结果。
# Hello World Program in Bash Shell
echo "Hello World!"
Linux 命令提示符
当您在 Linux 系统中登录时 , 您可以在屏幕上执行所需的任务 , 如创建文件 , 创建目录 , 更改当前目录等。
这个登陆屏幕根据你的系统设置给你一个提示。大多数时候这个提示是美元符号 $, 尽管你可以把它改成你喜欢的符号。许多 linux 用户把命令提示符称为美元提示。
以下是我登录后 Ubuntu Linux 的屏幕截图。在这里 , 您可以开始在美元符号后发出命令。
Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-91-generic x86_64)
.....
Last login: Mon Apr 22 06:40:08 2024 from 183.82.118.37
$
基本 Linux 命令
在学习 Linux 时 , 您将学习的基本内容是 Linux 命令。 Linux 命令是用户向计算机发出的执行特定任务的指示。
创建目录 - 示例
例如 , 如果用户想要创建一个目录 , 然后按照 mkdir 是在 Linux 中创建目录的命令 :
# Command to create directory in Linux
$ mkdir testing
更改目录 - 示例
如果用户想要进入一个特定的目录 , 那么下面是在 Linux 中更改目录的命令 :
# Command to change the directory in Linux
$ cd testing
This cd Linux 命令将带你进去 测试 目录。
列表目录 - 示例
以下是 Linux 中当前目录中可用的所有文件和子目录的命令列表 :
# Command to list the content inside a directory in Linux
$ ls -l
Linux 工作 - 管理员和 DevOps 工程师
今天 , Linux 是使用最广泛的操作系统 , 所有主要公司都在 Linux 操作系统上运行其网站和其他应用程序.这些公司正在寻找 Linux 管理员 , Shell 脚本程序员和 DevOps Engineegrs.当我们在 2024 年开发本教程时 , Linux 专家非常短缺 , 因为市场需要更多的 Linux 管理员等 , 因为它在网站应用程序 , 移动应用程序 , 机器学习 , 人工智能等方面的应用
如今 , 一位拥有 3 - 5 年经验的 Linux 专家每年要价约 200, 000 美元 , 这对于 DevOps 和 System Admins 来说是最苛刻的专业知识之一。尽管它可能因工作地点而异。不可能列出所有广泛使用 Linux 的公司 , 举几个大公司为例 :
- 教程要点
- 亚马逊
- 英特尔
- PayPal
- IBM
- NASA
- Netflix
- Uber
- 更多 …
因此 , 您可能成为这些大公司中任何一家的下一个潜在员工。我们为初学者和高级程序员开发了一个很好的学习 Linux 的学习材料 , 这将帮助他们为技术面试和认证考试做准备。因此 , 请按照您的节奏随时随地使用此简单有效的教程开始学习 Linux 。
为什么要学习 Linux ?
Linux 是一个开源 , 多功能 , 强大和安全的操作系统 , 被世界各地的开发人员 , 系统管理员和技术爱好者广泛使用.Linux 提供了针对不同需求和偏好定制的各种发行版.从像 Ubuntu 这样的轻量级发行版到像 Red Hat Enterprise Linux 这样的企业级系统.今天 , 各种学校 , 学院和大学都在教授 Linux , 以从他们的机构中培养出优秀的软件工程师.还有许多其他很好的理由使学习 Linux 变得重要 :
- Linux 是开源的 , 这意味着它是免费的。
- Linux 是使用最广泛的操作系统之一。
- Linux 有很好的社区支持和协作。
- Linux 可用于云计算 , 应用程序开发和编程。
- Linux 的需求非常好 , 并确保高薪
观众
本教程是为初学者到高级用户准备的 , 以帮助他们了解涵盖 Linux 命令 , Linux shell 脚本和各种其他实用程序的高级概念的基础知识。
先决条件
您将在实践中学习 Linux 操作系统 , 但我们假设您在理论层面上对操作系统及其功能有足够的了解。对各种计算机概念的基本了解也将帮助您理解本教程中给出的各种练习。
关于 Linux 的常见问题
有一些关于 Linux 的常见问题 ( FAQ ) , 本节试图简要回答它们。
什么是 Linux 发行版 ?
Linux 发行版是 Linux 操作系统的变体 , 包括 Linux 内核、系统软件和应用程序。一些流行的 Linux 发行版包括 Ubuntu 、 Fedora 和 CentOS 。大多数 Linux 发行版都可以下载和使用 , 而无需支付任何费用 , 但是一些具有高级功能的企业版本可能需要支付订阅费。
Linux 是一个开源的操作系统内核 , 构成了许多操作系统的基础。 Linux 操作系统广泛用于服务器、台式机和嵌入式系统。 Linux 是一个类似 Unix 的操作系统 , 这意味着它是基于 Unix 设计的。
我需要有操作系统的经验才能学习 Linux 吗 ?
我们在设计本教程时考虑到了初学者的要求。人们不需要有操作系统的工作经验 , 就可以从本教程中学习。
如何安装 Linux ?
您可以通过下载所选发行版的 ISO 文件并创建可引导的 USB 驱动器来安装 Linux 。然后 , 您可以从 USB 引导并按照安装说明进行操作。
您可以使用包管理器或通过从源编译在 Linux 中安装新软件包。例如 , 在 Ubuntu 中 , 您可以通过从终端执行以下命令来安装新软件包 : “sudo apt - get install package - name ” 。您可以使用包管理器更新 Linux 系统。例如 , 在基于 Debian 的系统中 , 您可以使用“ sudo apt - get update ” 和 “sudo apt - get upgrade ”
什么是 Linux 命令行 ?
Linux 命令行 , 也称为终端或 shell , 是一种基于文本的界面 , 允许用户通过键入命令与操作系统进行交互。 shell 是一种命令行解释器 , 用于在 Linux 中执行用户命令。流行的 shell 包括 Bash 、 Zsh 和 Fish 。
什么是 “root 用户 ” ?
根用户是 Linux 中具有管理权限的超级用户。根用户可以在系统上执行任何任务 , 例如更改系统文件和安装新软件。您可以通过使用 “su ” (替代用户) 命令或在命令之前使用“ sudo ” 以根权限执行它来成为根用户。
什么是 Linux 中的 Package Manager ?
包管理器是一种自动化安装、升级、配置和删除不同类型软件的工具。示例包括 APT ( 用于基于 Debian 的发行版 ) 和 YUM ( 用于基于 Red Hat 的发行版 ) 。
什么是 Linux 文件系统层次结构 ?
Linux 文件系统层次结构是以树状方式组织文件和目录的结构。根目录由 “/ ” 表示 , 所有其他目录都从其分支出来。
什么是 Linux 中的权限 ?
Linux 中的权限控制谁可以读取、写入或执行文件或目录。它们由一组三个字符表示 , 分别表示所有者、组和其他。您可以使用 chmod 命令更改文件权限 , 使用符号或数字表示法指定所需的权限。
如何在 Linux 中编辑文件 ?
您可以使用文本编辑器在 Linux 中编辑文件。文本编辑器是用于编辑纯文本文件的程序。 Linux 中流行的文本编辑器包括 Vim 、 Nano 和 Emacs 。例如 , 要使用 Nano 编辑名为 “file. txt ” 的文件 , 您需要在终端中键入“ nano file. txt ” 。
什么是 Linux 进程 ?
进程是正在运行的程序的实例。在 Linux 中 , 您可以使用 “ps ” 或“ top ” 等命令查看进程。您可以使用 “kill ” 终止进程、“ nice ” 设置优先级和 “nohup ” 运行不受挂机影响的命令来管理 Linux 进程。
什么是 Shell 脚本 ?
shell 脚本是一个文本文件 , 包含 shell 可以执行的一系列命令。 shell 脚本用于在 Linux 中自动执行不同的任务。您可以使用文本编辑器编写 shell 脚本。脚本应该以 shebang (#!) 开头 , 后跟 shell 解释器的路径 , 例如 “#! / bin / bash ” 。
Linux 中的别名是什么 ?
别名是命令或一系列命令的快捷方式。您可以使用 “alias ” 命令创建别名 , 例如 alias ll = 'ls - la' 。
如何在 Linux 中设置环境变量 ?
环境变量是影响 Linux 进程行为的动态值。例如 PATH , 它指定搜索可执行文件的目录。您可以使用 export 命令设置环境变量 , 例如 export PATH = / usr / local / bin: $PATH 。
Linux 中的 GUI 和 CLI 有什么区别 ?
图形用户界面 (GUI) 提供带有图标和菜单的可视界面。示例包括 GNOME 、 KDE 和 XFCE 。另一方面 , 命令行界面 (CLI) 允许通过文本命令与系统交互。