目录
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是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里面的启动引导程序就开始被执行啦!
启动引导程序的执行目的是在于加载内核文件,另外由于启动引导程序是操作系统在安装的时候所提供的,所以他会认识磁盘内的文件格式,因此就能够读取内核文件。
通过这段引导程序,程序指针会被引导至操作系统内核程序入口处,之后便可以将工作交给操作系统。
“ ”
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"命令可以列出当前目录中的所有文件和目录,并且以详细的格式显示文件的详细信息。每一行显示的信息包括以下内容:
-
文件类型和权限:第一列显示了文件的类型(如"d"表示目录,"-"表示普通文件,"l"表示符号链接等)以及文件的访问权限。访问权限包括读、写、执行权限,用r、w、x表示,如果没有相应的权限则用"-"表示,其中三个为一组;
-
链接数:第二列显示了文件的链接数,即有多少个文件名链接指向此文件;
-
所有者和用户组:第三列和第四列分别显示了文件的所有者和所属用户组;
-
文件大小:第五列显示了文件的大小(单位为字节);
-
最后修改时间:第六列显示了文件的最后修改时间;
-
文件名:最后一列显示了文件名或目录名。
例如:
-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提供的名词解释以及相关资源。