记录学习GNU/Linux(1)

目录

1. 【林纳斯·托瓦兹】简介

2. 什么是GNU/Linux?

2.1 GNU计划

2.2 GNU/Linux

3. Linux内核版本与发行版本

4. MBR(MS-DOS)主引导记录

5. 计算机系统启动流程

6. 图形界面与命令行模式切换

7. 切换用户

7.1 方式一

7.2 方式二

8. 查看当前目录文件信息

9. Linux文件属性

9.1 文件属性

9.2 权限属性

10. 结束语

1. 【林纳斯·托瓦兹】简介

Linus Torvalds

林纳斯·托瓦兹(Linus Torvalds)是一位芬兰籍的软件工程师和程序员,也是Linux操作系统的创始人和最初的主要开发者之一。

托瓦兹于1969年12月28日出生在芬兰赫尔辛基市。他在赫尔辛基大学学习计算机科学,于1994年创建了Linux内核。Linux是一个自由开放源代码的操作系统内核,目前被广泛应用于服务器、移动设备、超级计算机等各种领域。

托瓦兹被认为是自由软件运动的一位领袖人物,他的工作对于计算机领域的发展和开源文化的普及有着巨大的影响。他曾荣获2000年度芬兰国家技术奖和2008年度计算机领域图灵奖等多项荣誉。

2. 什么是GNU/Linux?

2.1 GNU计划

GNU是一项由理查德·斯托曼(Richard Stallman)创立的计划,旨在开发完全自由的操作系统。GNU的全称是“GNU’s Not Unix”,这是一种递归缩写,意思是GNU不是Unix。这是因为Unix是一种商业操作系统,GNU项目的目标是创建一个自由的操作系统,与Unix没有任何关系。

GNU项目的核心思想是自由软件。自由软件的定义包括四个方面的自由:运行程序的自由,研究程序的自由,分发程序的自由和改进程序的自由。自由软件是指任何人都可以自由地使用、复制、分发和改进的软件,这种自由是基于开放源代码的原则。

为了实现自由软件的目标,GNU项目开发了许多自由软件的工具和应用程序,如GCC编译器、Emacs文本编辑器、GDB调试器等。其中,GCC编译器是GNU项目中最著名的工具之一,它是一个能够编译多种编程语言的编译器,被广泛用于自由软件开发中。

虽然GNU项目的自由软件理念深受欢迎,但是GNU操作系统一直没有一个成熟的内核。直到Linus Torvalds开发了Linux内核后,GNU项目才得以将Linux内核与GNU工具结合起来,形成了现在的GNU/Linux操作系统。

2.2 GNU/Linux

GNU/Linux是一个操作系统,由GNU计划提供的GNU工具和Linux内核组成。GNU是自由软件基金会(FSF)创建的一个计划,旨在开发自由软件,它提供了一系列的工具和应用程序,这些工具和应用程序是由自由软件协议授权的。

Linux内核是由林纳斯·托瓦兹创造的,并在GNU计划的帮助下,成为了GNU计划的一个关键组件。Linux内核提供了操作系统的核心功能,例如处理器管理、内存管理、设备驱动程序、文件系统管理等。因此,将GNU工具和Linux内核结合在一起,就形成了GNU/Linux操作系统。

GNU/Linux是一个自由软件操作系统,用户可以自由使用、复制、分发和修改。这意味着用户可以自由地访问源代码,了解软件的工作原理,并在需要时对其进行修改或改进。GNU/Linux在各种设备和场合下得到了广泛的应用,包括服务器、桌面、笔记本电脑、智能手机、超级计算机等。

3. Linux内核版本与发行版本

  • 参考:https://kernel.org/

Linux内核版本是指Linux操作系统内核的版本号,它由Linux开发者团队定期发布。每个Linux内核版本都包含了一系列的改进和更新,例如更好的设备驱动支持、更好的安全性能、更好的性能和稳定性等等。Linux内核版本号由三个数字组成,分别表示主版本号、次版本号和修订版本号。

Linux发行版本则是基于Linux内核的完整操作系统。Linux发行版本包含了Linux内核、GNU工具和应用程序以及其他的软件包。Linux发行版本通常由Linux社区、个人、企业等发布,并针对不同的用户群体和需求进行了特定的优化和定制。

Linux发行版本通常采用一种特定的命名方式,例如Ubuntu、Debian、Red Hat、CentOS、Fedora等等。每个Linux发行版本都有一个特定的版本号,这个版本号通常与Linux内核版本号不同。Linux发行版本的版本号由发布者自行指定,通常包含一个主版本号和一个次版本号,例如Ubuntu 20.04、Debian 10等等。Linux发行版本也包含了特定的软件包和配置,使得它们在不同的用户场景下有不同的用途和特点。

4. MBR(MS-DOS)主引导记录

MBR区块组成 图片源于网络

MBR是Master Boot Record的缩写,是位于硬盘或其他存储设备开头的引导扇区,其中包含分区表和引导加载程序代码。在MS-DOS的背景下,MBR是硬盘的第一个扇区,它在计算机启动时被读取以加载操作系统。MBR包含了硬盘分区的信息以及启动代码,它在计算机启动时负责检测硬盘上的操作系统,并将控制权转移给操作系统的引导加载程序,从而启动操作系统。MBR的大小是512字节,其中前446字节为引导代码,64字节为分区表,剩下的两个字节[55AA]是结束标识符。

注意:MBR中最主要的功能就是存储启动引导程序!有兴趣的也可以了解一下另一种方式:GPT(GUID partition table)磁盘分区表

5. 计算机系统启动流程

某一台计算机从按下电源开关到应用程序运行(比如运行Word),系统里面会发生什么呢?

在探究之前,这里首先要知道的是BIOS,BIOS其实是一个英文缩略词,即 “Basic Input Output System” 四个单词的首字母组合,中文直译为“基本输入输出系统”,是一组固化到计算机内主板上一个ROM芯片上的程序。顾名思义,它保存着计算机最重要的基本输入输出的程序,还包括开机后自检程序和系统自启动程序。除此以外,它还可从CMOS RAM中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。

在计算机启动的时候,BIOS就是计算机系统主动执行的第一个程序,接下来BIOS会去分析计算机里面有哪些存储设备,以硬盘为例,BIOS会根据用户的设置去访问能够启动的磁盘,并且到该磁盘里面读取第一个扇区的MBR位置。其中,MBR区域446字节的存放着最基本的启动引导程序,至此MBR里面的启动引导程序就开始被执行啦!

启动引导程序的执行目的是在于加载内核文件,另外由于启动引导程序是操作系统在安装的时候所提供的,所以他会认识磁盘内的文件格式,因此就能够读取内核文件。

通过这段引导程序,程序指针会被引导至操作系统内核程序入口处,之后便可以将工作交给操作系统。

简单描述:BIOS->MBR->启动引导程序(Boot Loder)->内核文件(OS)

6. 图形界面与命令行模式切换

  • 【CTRL +Alt+F2~F6】:命令行模式登陆tty2~tty6终端;

  • 【CTRL +Alt+F2】:图形用户界面模式。

命令行模式
图形用户界面模式

7. 切换用户

在Linux中,您可以使用以下命令切换用户:

7.1 方式一

  • 'su'命令:切换到另一个用户或者root用户,需要输入密码。

su [用户名]

如果没有指定用户名,则默认切换到root用户。执行该命令后,系统将提示您输入目标用户的密码。

7.2 方式二

  • 'sudo'命令:以另一个用户或者root用户的身份运行命令,需要输入密码。

sudo [命令]

执行该命令后,系统将提示您输入当前用户的密码。

8. 查看当前目录文件信息

在Ubuntu中,"ls"是一个常用的命令,用于列出当前目录中的文件和目录。

以下是一些常见的"ls"命令的选项:

  • "-l":显示详细的文件信息,例如文件类型、权限、所有者、大小和最后修改时间等。

  • "-a":显示所有文件和目录,包括以"."开头的隐藏文件和目录。

  • "-h":以人类可读的方式显示文件大小。

  • "-t":按时间顺序列出文件,最新的文件先显示。

  • "-r":反向排序,最早的文件先显示。

示例命令:

ls -l  # 以详细形式列出当前目录的文件和目录
ls -a  # 列出当前目录中所有的文件和目录,包括隐藏文件和目录
ls -lh # 以人类可读的方式列出当前目录的文件和目录的详细信息
ls -lt # 按时间顺序列出当前目录的文件和目录
ls -lr # 按时间相反顺序列出当前目录的文件和目录

9. Linux文件属性

9.1 文件属性

使用"ls -l"命令可以列出当前目录中的所有文件和目录,并且以详细的格式显示文件的详细信息。每一行显示的信息包括以下内容:

  1. 文件类型和权限:第一列显示了文件的类型(如"d"表示目录,"-"表示普通文件,"l"表示符号链接等)以及文件的访问权限。访问权限包括读、写、执行权限,用r、w、x表示,如果没有相应的权限则用"-"表示,其中三个为一组;

  2. 链接数:第二列显示了文件的链接数,即有多少个文件名链接指向此文件;

  3. 所有者和用户组:第三列和第四列分别显示了文件的所有者和所属用户组;

  4. 文件大小:第五列显示了文件的大小(单位为字节);

  5. 最后修改时间:第六列显示了文件的最后修改时间;

  6. 文件名:最后一列显示了文件名或目录名。

例如:

-rw-r--r--  1 username groupname 12345 Apr 20 10:00 example.txt

这里列出了一个名为"example.txt"的文件的详细信息。它是一个普通文件,所有者为"username",所属用户组为"groupname",权限为"rw-r--r--",大小为12345字节,最后修改时间为4月20日10点。

9.2 权限属性

"drw-r--r--"是文件权限的一种表示方式,它表示了文件的读、写、执行权限。

这个权限表示方式由10个字符组成,其中第一个字符表示文件的类型,后面九个字符分成三组,每组三个字符,分别表示文件所有者的权限、所属用户组的权限以及其他用户的权限。具体解释如下:

  • 第一个字符:"-"表示普通文件,"d"表示目录,"l"表示符号链接,等等。

  • 后面三个字符:"r"表示读权限,"w"表示写权限,"x"表示执行权限,"-"表示没有相应的权限。

  • 第二组和第三组字符的含义和第一组类似,分别表示所属用户组和其他用户的权限。

所以"rw-r--r--"表示文件的所有者有读和写权限,所属用户组和其他用户只有读权限,没有写和执行权限。

需要注意的是,文件的权限是很重要的安全机制,所以需要根据实际需要设置合适的权限,以保护文件不被非授权用户访问、修改或删除。

10. 结束语

好了这次就写这么多吧,记录一下自己学习Linux系统的一些知识,也方便后面自己看吧,但也同时希望能帮助到有需要的伙伴们。当然以上内容参考了些许资料,但也可能会有错误之处,还请伙伴们指正,这里感谢参与撰写这些资料的作者们,同时也感谢ChatGPT提供的名词解释以及相关资源。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sokedev

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值