Unix/Linux Tutorial

Linux/Unix 教程

本Linux教程旨在简化Linux学习,面向从初学者到高级Linux爱好者、Linux系统管理员、Bash Shell脚本程序员以及其他希望学习和实践Linux的技术爱好者。

Linux(Unix的一个变体)是一个开源计算机操作系统,能够同时处理多个用户的活动。尽管Unix是由Ken Thompson和Dennis Ritchie于1969年在AT&T贝尔实验室开发的,但Linux是由Linus Torvalds在赫尔辛基大学学习期间开发的。

操作系统定义
操作系统(OS)实际上是一种软件,充当计算机用户和计算机硬件之间的接口。它接收用户的命令,执行所需的任务,并将结果返回给用户。操作系统执行所有基本任务,例如文件管理、内存管理、进程管理、处理输入和输出以及控制外围设备(例如磁盘驱动器和打印机)。

操作系统的例子包括Linux、Unix、Windows、Mac OS、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脚本。你可以尝试单击图标run button来运行以下Bash Shell代码以打印传统的“Hello, World!”。

下面的代码框允许你更改代码的值。尝试更改echo内部的值,然后再次运行它以验证结果。
# 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

cd Linux命令将带你进入testing目录。

列出目录 - 示例

以下是列出Linux中当前目录中所有文件和子目录的命令

# Command to list the content inside a directory in Linux

$ ls -l

Linux工作 - 管理员和DevOps工程师

如今,Linux是最广泛使用的操作系统,所有主要公司都在Linux操作系统上运行其网站和其他应用程序。这些公司正在寻找Linux管理员、Shell脚本程序员和DevOps工程师。我们在2024年开发本教程时,Linux专家严重短缺,而市场对Linux管理员等的需求却更多,因为Linux应用于网站应用程序、移动应用程序、机器学习、人工智能等。

如今,拥有3-5年经验的Linux专家年薪约为20万美元,这是DevOps和系统管理员最抢手的专业技能之一。尽管这可能因工作地点而异。不可能列出所有广泛使用Linux的公司,仅举几家大型公司:

  • Tutorials Point
  • 谷歌
  • 亚马逊
  • 英特尔
  • PayPal
  • 脸书
  • IBM
  • 美国国家航空航天局
  • 奈飞
  • Pinterest
  • 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发行版包括Ubuntu、Fedora和CentOS。大多数Linux发行版都可以下载和使用,无需付费,但一些具有高级功能的企业版可能需要订阅费用。

Linux是一个开源的操作系统内核,是许多操作系统的基础。Linux操作系统广泛用于服务器、桌面和嵌入式系统。Linux是一个类Unix操作系统,这意味着它基于Unix设计。

我们在设计本教程时,考虑到了初学者的需求。为了学习本教程,并不需要具备使用操作系统的先前经验。

你可以通过下载所选发行版的ISO文件并创建一个可启动的USB驱动器来安装Linux。然后,你可以从USB启动并按照安装说明进行操作。

你可以使用软件包管理器或从源代码编译来安装新的Linux软件包。例如,在Ubuntu中,你可以通过从终端执行此命令来安装新软件包:“sudo apt-get install package-name”。你可以使用软件包管理器更新你的Linux系统。例如,在基于Debian的系统中,你可以使用“sudo apt-get update”和“sudo apt-get upgrade”。

Linux命令行界面,也称为终端或shell,是一个基于文本的界面,允许用户通过键入命令与操作系统交互。shell是一个命令行解释器,它执行Linux中的用户命令。流行的shell包括Bash、Zsh和Fish。

root用户是Linux中的超级用户,拥有管理员权限。root用户可以执行系统上的任何任务,例如更改系统文件和安装新软件。可以使用“su”(替代用户)命令成为root用户,或者在命令前使用“sudo”以root权限执行它。

包管理器是一个工具,它自动化安装、升级、配置和删除各种软件的过程。例如,APT(用于基于Debian的发行版)和YUM(用于基于Red Hat的发行版)。

Linux文件系统层次结构是一个以树状方式组织文件和目录的结构。“/”表示根目录,所有其他目录都从它分支出来。

Linux中的权限控制谁可以读取、写入或执行文件或目录。它们由一组三个字符表示,分别代表所有者、组和其他人。可以使用chmod命令更改文件权限,使用符号或数字表示法指定所需的权限。

可以使用文本编辑器在Linux中编辑文件。文本编辑器是用于编辑纯文本文件的程序。Linux中流行的文本编辑器包括Vim、Nano和Emacs。例如,要使用Nano编辑名为“file.txt”的文件,可以在终端中输入“nano file.txt”。

进程是正在运行程序的实例。在Linux中,可以使用“ps”或“top”等命令查看进程。可以使用“kill”(终止进程)、“nice”(设置优先级)和“nohup”(运行不受挂起影响的命令)等命令来管理Linux进程。

shell脚本是一个文本文件,其中包含shell可以执行的一系列命令。shell脚本用于自动化Linux中的不同任务。可以使用文本编辑器编写shell脚本。脚本应以shebang(#!)开头,后跟shell解释器的路径,例如“#!/bin/bash”。

别名是命令或一系列命令的快捷方式。可以使用“alias”命令创建别名,例如,alias ll='ls -la'。

环境变量是影响Linux进程行为的动态值。例如,PATH指定搜索可执行文件的目录。可以使用export命令设置环境变量,例如,export PATH=/usr/local/bin:$PATH。

图形用户界面 (GUI) 提供具有图标和菜单的可视化界面。例如,GNOME、KDE和XFCE。另一方面,命令行界面 (CLI) 允许通过文本命令与系统交互。

广告