【Linux】Linux Shell 学习笔记:什么是Linux?

I Linux 简介

Linux系统简介 (biancheng.net)

Linux和UNIX的关系及区别 (biancheng.net)

Linux内核_百度百科 (baidu.com)

[什么是 Linux 发行版?为什么它被称为“发行版”? | Linux 中国 - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/238122351#:~:text=Linux 发行版是一个由 Linux 内核、 GNU,工具 、附加软件和软件包管理器组成的操作系统,它也可能包括 显示服务器 和 桌面环境 ,以用作常规的桌面操作系统。)

Ubuntu_百度百科 (baidu.com)

1 什么是 Linux
  • Linux 也是一个操作系统软件,其 logo 是一只企鹅。
  • Linux是一种开源电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。
  • Linux 是 Linux is not Unix 的递归简写。
    对的
2 Linux 的优点
  1. 免费且开源。不会受到任何商业化版本的制约。

Linux 是由世界各地成千上万的程序员设计和开发实现的,当初开发 Linux 系统的目的就是建立不受任何商业化软件版权制约的、全世界都能自由使用的类 Unix 操作系统兼容产品。

  1. 与 Unix 系统兼容,具备 Unix 几乎所有的优秀特性。
  2. 容易安装。
3 Unix 和 Linux 的关系
  1. 关于 UNIX:

    • UNIX 诞生于 20 世纪 60 年代末,是操作系统中的"老大哥",后来的 Windows 和 Linux 都参考了 UNIX。

    • UNIX 的部分技术来源可追溯到从 1965 年开始的 Multics 工程计划。以肯•汤普森为首的贝尔实验室研究人员吸取了 Multics 工程计划失败的经验教训,于 1969 年实现了一种分时操作系统的雏形,1970 年该系统正式取名为 UNIX。

    • FreeBSD 是众多 UNIX 系统中的一种。

  2. 关于 Linux:

    • Linux 内核最初是由李纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学读书时出于个人爱好而编写的,他觉得教学用的迷你版 UNIX 操作系统 Minix 太难用了,于是决定自己开发一个操作系统。

    • 因此,Linux 是一个类 Unix 的操作系统,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用户体验上进行优化,所以 Linux 模仿了 UNIX(但并没有抄袭 UNIX 的源码),使得 Linux 在外观和交互上与 UNIX 非常类似。

4 UNIX/Linux 系统结构

在这里插入图片描述

  1. 内核层(Kernal):内核层是 UNIX/Linux 系统的核心和基础,它直接附着在硬件平台之上,控制和管理系统内各种资源(硬件资源和软件资源),有效地组织进程的运行。
  2. Shell 层:Shell 层是与用户直接交互的界面。用户可以在提示符下输入命令行,由 Shell 解释执行并输出相应结果或者有关信息,所以我们也把 Shell 称作命令解释器(见第二部分)。
  3. 应用层
    在这里插入图片描述
5 Linux 发行版
  • Linux 发行版是一个由 Linux 内核开发的操作系统,它也可能包括显示服务器和桌面环境,以用作常规的桌面操作系统。
  • 这个术语之所以是 “Linux 发行版”,是因为像 Debian、Ubuntu 这样的机构“发行”了 Linux 内核以及所有必要的软件及实用程序,使其可以作为一个操作系统使用。

Ubuntu Desktop是由Canonical开发的Linux 发行版,由于其易用性,它是最受欢迎的发行版之一。

Windows 10 Linux(ubuntu) 根目录位置:C:\Users\用户名\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs

Windows 10 的Linux(ubuntu) 根目录位置-CSDN博客

  • “Linux” 是内核,而 “Linux 发行版”是操作系统。这就是为什么它们有时也被称为基于 Linux 的操作系统的原因。

II Shell 简介

Linux命令解释器 :shell和bash

关于 Shell 解释器 介绍

什么是shell脚本?

Shell是什么? (biancheng.net)

UNIX 什么是 Shell 脚本_w3cschool

shell和shell脚本的区别 - 知乎 (zhihu.com)

linux bash 是什么意思 - PHP中文网

1 Shell 是什么
  • 命令解释器:解释器是一种电脑程序,能够把高级编程语言一行一行直接转译运行。
  • Shell 是实现 Linux 内核与用户之间沟通的命令解释器。它连接了用户和 Linux 内核,让用户能够更加高效、安全、低成本地使用 Linux 内核。
  • Shell 本身并不是内核的一部分,它只是站在内核的基础上编写的一个应用程序。用户通过 Shell 来使用 Linux,不启动 Shell 的话,用户就没办法使用 Linux。
  • Shell 为用户提供了一个操作界面,接收用户的输入,遵循一定的语法将输入的命令加以解释并传给系统,然后基于该输入执行程序。程序执行完后,结果会显示在显示器上。
  • Shell 也连接其他程序:在 Shell 中输入的命令,有一部分是 Shell 本身自带的,这叫做内置命令;有一部分是其它的应用程序(一个程序就是一个命令),这叫做外部命令。Shell 可以调用其他的程序,每个程序就是一个命令。
    在这里插入图片描述
2 Shell 的种类

Linux 提供了多种命令解释器,一般默认 bash 作为默认的解释器。

  • bourne again shell(/bin/bash) —— 最常用
  • bourne shell(/use/bin/sh 或 /bin/sh)
  • C shell (/usr/bin/csh)
  • K shell (/usr/bin/ksh)
3 Shell 编程 与 Shell 脚本
  • Shell 既是一种命令语言,又是一种程序设计语言(也就是 shell 脚本/shell 编程)。作为命令语言,它互动式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高阶语言中才具有的控制结构,包括循环和分支。
  • Shell 脚本(Shell Scripting)是由 Shell 命令组成的文件,是利用 shell 的功能所写的一个程序
  • Shell 脚本是解释型语言,所以他们并不会被编译。作为编程语言时,解释器是 Shell 这个程序。

III 环境变量

什么是环境变量? - 知乎 (zhihu.com)

什么是环境变量,Linux环境变量及作用 (biancheng.net)

1 环境变量是什么
  • 环境变量是描述环境的变量,是指在操作系统中用来指定操作系统运行环境的变量。它包含了一个或者多个应用程序所将使用到的信息。
  • 例如 Windows 和 DOS 操作系统中的 PATH 环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到 PATH 中指定的路径去找。用户通过设置环境变量,来更好的运行进程。

Linux 系统中环境变量的名称一般都是大写的,这是一种约定俗成的规范。

2 系统变量与用户变量

系统变量就是系统级别的变量,用户需要使用系统变量。如果系统变量被修改了,而任何系统用户都在用系统变量,因此每个系统用户都将受到影响。用户变量运行在系统变量之上的,每个用户拥有不同的用户变量,不同用户的用户变量之间是并列的,也是互不干扰的。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值